Home | History | Annotate | Download | only in Thumb2
      1 ; RUN: llc < %s -march=thumb -mattr=+thumb2 | FileCheck %s
      2 
      3 
      4 define i32 @f1(i32 %a, i32 %b) {
      5     %tmp = xor i32 %b, 4294967295
      6     %tmp1 = or i32 %a, %tmp
      7     ret i32 %tmp1
      8 }
      9 ; CHECK: f1:
     10 ; CHECK: 	orn	r0, r0, r1
     11 
     12 define i32 @f2(i32 %a, i32 %b) {
     13     %tmp = xor i32 %b, 4294967295
     14     %tmp1 = or i32 %tmp, %a
     15     ret i32 %tmp1
     16 }
     17 ; CHECK: f2:
     18 ; CHECK: 	orn	r0, r0, r1
     19 
     20 define i32 @f3(i32 %a, i32 %b) {
     21     %tmp = xor i32 4294967295, %b
     22     %tmp1 = or i32 %a, %tmp
     23     ret i32 %tmp1
     24 }
     25 ; CHECK: f3:
     26 ; CHECK: 	orn	r0, r0, r1
     27 
     28 define i32 @f4(i32 %a, i32 %b) {
     29     %tmp = xor i32 4294967295, %b
     30     %tmp1 = or i32 %tmp, %a
     31     ret i32 %tmp1
     32 }
     33 ; CHECK: f4:
     34 ; CHECK: 	orn	r0, r0, r1
     35 
     36 define i32 @f5(i32 %a, i32 %b) {
     37     %tmp = shl i32 %b, 5
     38     %tmp1 = xor i32 4294967295, %tmp
     39     %tmp2 = or i32 %a, %tmp1
     40     ret i32 %tmp2
     41 }
     42 ; CHECK: f5:
     43 ; CHECK: 	orn	r0, r0, r1, lsl #5
     44 
     45 define i32 @f6(i32 %a, i32 %b) {
     46     %tmp = lshr i32 %b, 6
     47     %tmp1 = xor i32 4294967295, %tmp
     48     %tmp2 = or i32 %a, %tmp1
     49     ret i32 %tmp2
     50 }
     51 ; CHECK: f6:
     52 ; CHECK: 	orn	r0, r0, r1, lsr #6
     53 
     54 define i32 @f7(i32 %a, i32 %b) {
     55     %tmp = ashr i32 %b, 7
     56     %tmp1 = xor i32 4294967295, %tmp
     57     %tmp2 = or i32 %a, %tmp1
     58     ret i32 %tmp2
     59 }
     60 ; CHECK: f7:
     61 ; CHECK: 	orn	r0, r0, r1, asr #7
     62 
     63 define i32 @f8(i32 %a, i32 %b) {
     64     %l8 = shl i32 %a, 24
     65     %r8 = lshr i32 %a, 8
     66     %tmp = or i32 %l8, %r8
     67     %tmp1 = xor i32 4294967295, %tmp
     68     %tmp2 = or i32 %a, %tmp1
     69     ret i32 %tmp2
     70 }
     71 ; CHECK: f8:
     72 ; CHECK: 	orn	r0, r0, r0, ror #8
     73