blob: 258b7e48af8538dd8b805c3315ff10a49e90366e [file] [log] [blame]
Saleem Abdulrasool905b6d192014-04-03 23:47:24 +00001; RUN: llc -mtriple=thumb-eabi -mcpu=arm1156t2-s -mattr=+thumb2 %s -o - | FileCheck %s
Edward O'Callaghancc856372009-11-22 15:18:27 +00002
Jakob Stoklund Olesen589c6eb2012-05-17 23:44:19 +00003; These tests would be improved by 'movs r0, #0' being rematerialized below the
4; test as 'mov.w r0, #0'.
David Goodwin76b37952009-06-29 22:49:42 +00005
6; 0x000000bb = 187
David Goodwin76b37952009-06-29 22:49:42 +00007define i1 @f2(i32 %a) {
8 %tmp = xor i32 %a, 187
9 %tmp1 = icmp eq i32 0, %tmp
10 ret i1 %tmp1
11}
Stephen Lind24ab202013-07-14 06:24:09 +000012; CHECK-LABEL: f2:
Jakob Stoklund Olesen589c6eb2012-05-17 23:44:19 +000013; CHECK: teq.w {{.*}}, #187
David Goodwin76b37952009-06-29 22:49:42 +000014
15; 0x00aa00aa = 11141290
16define i1 @f3(i32 %a) {
17 %tmp = xor i32 %a, 11141290
18 %tmp1 = icmp eq i32 %tmp, 0
19 ret i1 %tmp1
20}
Stephen Lind24ab202013-07-14 06:24:09 +000021; CHECK-LABEL: f3:
Jakob Stoklund Olesen589c6eb2012-05-17 23:44:19 +000022; CHECK: teq.w {{.*}}, #11141290
David Goodwin76b37952009-06-29 22:49:42 +000023
David Goodwin76b37952009-06-29 22:49:42 +000024; 0xcc00cc00 = 3422604288
25define i1 @f6(i32 %a) {
26 %tmp = xor i32 %a, 3422604288
27 %tmp1 = icmp eq i32 0, %tmp
28 ret i1 %tmp1
29}
Stephen Lind24ab202013-07-14 06:24:09 +000030; CHECK-LABEL: f6:
Jakob Stoklund Olesen589c6eb2012-05-17 23:44:19 +000031; CHECK: teq.w {{.*}}, #-872363008
David Goodwin76b37952009-06-29 22:49:42 +000032
33; 0xdddddddd = 3722304989
34define i1 @f7(i32 %a) {
35 %tmp = xor i32 %a, 3722304989
36 %tmp1 = icmp eq i32 %tmp, 0
37 ret i1 %tmp1
38}
Stephen Lind24ab202013-07-14 06:24:09 +000039; CHECK-LABEL: f7:
Jakob Stoklund Olesen589c6eb2012-05-17 23:44:19 +000040; CHECK: teq.w {{.*}}, #-572662307
David Goodwin76b37952009-06-29 22:49:42 +000041
42; 0xdddddddd = 3722304989
43define i1 @f8(i32 %a) {
44 %tmp = xor i32 %a, 3722304989
45 %tmp1 = icmp ne i32 0, %tmp
46 ret i1 %tmp1
47}
David Goodwin76b37952009-06-29 22:49:42 +000048
49; 0x00110000 = 1114112
50define i1 @f10(i32 %a) {
51 %tmp = xor i32 %a, 1114112
52 %tmp1 = icmp eq i32 0, %tmp
53 ret i1 %tmp1
54}
Stephen Lind24ab202013-07-14 06:24:09 +000055; CHECK-LABEL: f10:
Jakob Stoklund Olesen589c6eb2012-05-17 23:44:19 +000056; CHECK: teq.w {{.*}}, #1114112
Edward O'Callaghancc856372009-11-22 15:18:27 +000057