[ARM] Adjust how NEON shifts are lowered
[llvm-core.git] / test / CodeGen / ARM / pr39060.ll
blobdfaabfa374a54a181436c3c6fd76c7a55721a297
1 ; RUN: llc -mtriple=armv7a-linux-androideabi %s -o - | FileCheck %s
3 @a = local_unnamed_addr global i16 -1, align 2
4 @b = local_unnamed_addr global i16 0, align 2
6 ; CHECK-LABEL: pr39060:
7 ; CHECK: ldrh
8 ; CHECK: ldrh
9 ; CHECK: sub
10 ; CHECK: uxth
11 define void @pr39060() local_unnamed_addr #0 {
12 entry:
13   %0 = load i16, i16* @a, align 2
14   %1 = load i16, i16* @b, align 2
15   %sub = add i16 %1, -1
16   %cmp = icmp eq i16 %0, %sub
17   br i1 %cmp, label %if.else, label %if.then
19 if.then:
20   tail call void bitcast (void (...)* @f to void ()*)() #2
21   br label %if.end
23 if.else:
24   tail call void bitcast (void (...)* @g to void ()*)() #2
25   br label %if.end
27 if.end:
28   ret void
31 declare void @f(...) local_unnamed_addr #1
33 declare void @g(...) local_unnamed_addr #1