Home | History | Annotate | Download | only in Thumb2
      1 ; RUN: llc < %s -march=thumb -mattr=+thumb2 -join-physregs | FileCheck %s
      2 
      3 ; These tests implicitly depend on 'movs r0, #0' being rematerialized below the
      4 ; tst as 'mov.w r0, #0'. So far, that requires physreg joining.
      5 
      6 ; 0x000000bb = 187
      7 define i1 @f2(i32 %a) {
      8     %tmp = and i32 %a, 187
      9     %tmp1 = icmp eq i32 0, %tmp
     10     ret i1 %tmp1
     11 }
     12 ; CHECK: f2:
     13 ; CHECK: 	tst.w	r0, #187
     14 
     15 ; 0x00aa00aa = 11141290
     16 define i1 @f3(i32 %a) {
     17     %tmp = and i32 %a, 11141290 
     18     %tmp1 = icmp eq i32 %tmp, 0
     19     ret i1 %tmp1
     20 }
     21 ; CHECK: f3:
     22 ; CHECK: 	tst.w	r0, #11141290
     23 
     24 ; 0xcc00cc00 = 3422604288
     25 define i1 @f6(i32 %a) {
     26     %tmp = and i32 %a, 3422604288
     27     %tmp1 = icmp eq i32 0, %tmp
     28     ret i1 %tmp1
     29 }
     30 ; CHECK: f6:
     31 ; CHECK: 	tst.w	r0, #-872363008
     32 
     33 ; 0xdddddddd = 3722304989
     34 define i1 @f7(i32 %a) {
     35     %tmp = and i32 %a, 3722304989
     36     %tmp1 = icmp eq i32 %tmp, 0
     37     ret i1 %tmp1
     38 }
     39 ; CHECK: f7:
     40 ; CHECK: 	tst.w	r0, #-572662307
     41 
     42 ; 0x00110000 = 1114112
     43 define i1 @f10(i32 %a) {
     44     %tmp = and i32 %a, 1114112
     45     %tmp1 = icmp eq i32 0, %tmp
     46     ret i1 %tmp1
     47 }
     48 ; CHECK: f10:
     49 ; CHECK: 	tst.w	r0, #1114112
     50