[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / Thumb2 / thumb2-mvn.ll
blobadf982f4a342dbc80d99b473593da382143f33c5
1 ; RUN: llc -mtriple=thumbv7-apple-darwin %s -o - | FileCheck %s
3 ; 0x000000bb = 187
4 define i32 @f1(i32 %a) {
5 ; CHECK-LABEL: f1:
6 ; CHECK: mvn r0, #187
7     %tmp = xor i32 4294967295, 187
8     ret i32 %tmp
11 ; 0x00aa00aa = 11141290
12 define i32 @f2(i32 %a) {
13 ; CHECK-LABEL: f2:
14 ; CHECK: mvn r0, #11141290
15     %tmp = xor i32 4294967295, 11141290 
16     ret i32 %tmp
19 ; 0xcc00cc00 = 3422604288
20 define i32 @f3(i32 %a) {
21 ; CHECK-LABEL: f3:
22 ; CHECK: mvn r0, #-872363008
23     %tmp = xor i32 4294967295, 3422604288
24     ret i32 %tmp
27 ; 0x00110000 = 1114112
28 define i32 @f5(i32 %a) {
29 ; CHECK-LABEL: f5:
30 ; CHECK: mvn r0, #1114112
31     %tmp = xor i32 4294967295, 1114112
32     ret i32 %tmp