blob: 9c137a7239bb3e480c44d1048d1a396dcc9a27ec [file] [log] [blame]
Benjamin Kramerf238f502011-11-23 13:54:17 +00001; RUN: llc < %s -march=x86-64 | FileCheck %s
2
3declare void @bar()
4
5define void @test1(i64 %foo) nounwind {
6 %and = and i64 %foo, 4294967296
7 %tobool = icmp eq i64 %and, 0
8 br i1 %tobool, label %if.end, label %if.then
9
10; CHECK: test1:
11; CHECK: btq $32
12
13if.then:
14 tail call void @bar() nounwind
15 br label %if.end
16
17if.end:
18 ret void
19}
20
21define void @test2(i64 %foo) nounwind {
22 %and = and i64 %foo, 2147483648
23 %tobool = icmp eq i64 %and, 0
24 br i1 %tobool, label %if.end, label %if.then
25
26; CHECK: test2:
27; CHECK: testl $-2147483648
28
29if.then:
30 tail call void @bar() nounwind
31 br label %if.end
32
33if.end:
34 ret void
35}