blob: 34ab3a56663c95ecd32457426eda2dcdc3322609 [file] [log] [blame]
Edward O'Callaghancc856372009-11-22 15:18:27 +00001; RUN: llc < %s -march=thumb -mattr=+thumb2 | FileCheck %s
2
David Goodwin3aaa7512009-06-26 22:37:07 +00003
4; 0x000000bb = 187
5define i32 @f1(i32 %a) {
6 %tmp1 = xor i32 4294967295, 187
7 %tmp2 = or i32 %a, %tmp1
8 ret i32 %tmp2
9}
Edward O'Callaghancc856372009-11-22 15:18:27 +000010; CHECK: f1:
11; CHECK: orn r0, r0, #187
David Goodwin3aaa7512009-06-26 22:37:07 +000012
13; 0x00aa00aa = 11141290
14define i32 @f2(i32 %a) {
15 %tmp1 = xor i32 4294967295, 11141290
16 %tmp2 = or i32 %a, %tmp1
17 ret i32 %tmp2
18}
Edward O'Callaghancc856372009-11-22 15:18:27 +000019; CHECK: f2:
20; CHECK: orn r0, r0, #11141290
David Goodwin3aaa7512009-06-26 22:37:07 +000021
22; 0xcc00cc00 = 3422604288
23define i32 @f3(i32 %a) {
24 %tmp1 = xor i32 4294967295, 3422604288
25 %tmp2 = or i32 %a, %tmp1
26 ret i32 %tmp2
27}
Edward O'Callaghancc856372009-11-22 15:18:27 +000028; CHECK: f3:
29; CHECK: orn r0, r0, #-872363008
David Goodwin3aaa7512009-06-26 22:37:07 +000030
31; 0x00110000 = 1114112
32define i32 @f5(i32 %a) {
33 %tmp1 = xor i32 4294967295, 1114112
34 %tmp2 = or i32 %a, %tmp1
35 ret i32 %tmp2
36}
Edward O'Callaghancc856372009-11-22 15:18:27 +000037; CHECK: f5:
38; CHECK: orn r0, r0, #1114112