[PowerPC] Make AddrSpaceCast noop
[llvm-core.git] / test / CodeGen / Thumb2 / thumb2-cmp.ll
blob2f8d725265b428cfe49dbdf11e7df9788e668309
1 ; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s
3 ; These tests would be improved by 'movs r0, #0' being rematerialized below the
4 ; test as 'mov.w r0, #0'.
6 ; 0x000000bb = 187
7 define i32 @f1(i32 %a) {
8 ; CHECK-LABEL: f1:
9 ; CHECK: cmp {{.*}}, #187
10     %tmp = icmp ne i32 %a, 187
11     %ret = select i1 %tmp, i32 42, i32 24
12     ret i32 %ret
15 ; 0x00aa00aa = 11141290
16 define i32 @f2(i32 %a) {
17 ; CHECK-LABEL: f2:
18 ; CHECK: cmp.w {{.*}}, #11141290
19     %tmp = icmp eq i32 %a, 11141290 
20     %ret = select i1 %tmp, i32 42, i32 24
21     ret i32 %ret
24 ; 0xcc00cc00 = 3422604288
25 define i32 @f3(i32 %a) {
26 ; CHECK-LABEL: f3:
27 ; CHECK: cmp.w {{.*}}, #-872363008
28     %tmp = icmp ne i32 %a, 3422604288
29     %ret = select i1 %tmp, i32 42, i32 24
30     ret i32 %ret
33 ; 0xdddddddd = 3722304989
34 define i32 @f4(i32 %a) {
35 ; CHECK-LABEL: f4:
36 ; CHECK: cmp.w {{.*}}, #-572662307
37     %tmp = icmp ne i32 %a, 3722304989
38     %ret = select i1 %tmp, i32 42, i32 24
39     ret i32 %ret
42 ; 0x00110000 = 1114112
43 define i32 @f5(i32 %a) {
44 ; CHECK-LABEL: f5:
45 ; CHECK: cmp.w {{.*}}, #1114112
46     %tmp = icmp eq i32 %a, 1114112
47     %ret = select i1 %tmp, i32 42, i32 24
48     ret i32 %ret
51 ; Check that we don't do an invalid (a > b) --> !(a < b + 1) transform.
53 ; CHECK-LABEL: f6:
54 ; CHECK-NOT: cmp.w {{.*}}, #-2147483648
55 ; CHECK: bx lr
56 define i32 @f6(i32 %a) {
57     %tmp = icmp sgt i32 %a, 2147483647
58     br i1 %tmp, label %true, label %false
59 true:
60     ret i32 2
61 false:
62     ret i32 0