blob: dfaabfa374a54a181436c3c6fd76c7a55721a297 [file] [log] [blame]
Sam Parker75aca942018-09-26 10:56:00 +00001; RUN: llc -mtriple=armv7a-linux-androideabi %s -o - | FileCheck %s
2
3@a = local_unnamed_addr global i16 -1, align 2
4@b = local_unnamed_addr global i16 0, align 2
5
6; CHECK-LABEL: pr39060:
7; CHECK: ldrh
8; CHECK: ldrh
9; CHECK: sub
10; CHECK: uxth
11define void @pr39060() local_unnamed_addr #0 {
12entry:
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
18
19if.then:
20 tail call void bitcast (void (...)* @f to void ()*)() #2
21 br label %if.end
22
23if.else:
24 tail call void bitcast (void (...)* @g to void ()*)() #2
25 br label %if.end
26
27if.end:
28 ret void
29}
30
31declare void @f(...) local_unnamed_addr #1
32
33declare void @g(...) local_unnamed_addr #1