[InstCombine] Signed saturation patterns
[llvm-complete.git] / test / CodeGen / XCore / sext.ll
blobb3e66ec094262bba8a1285eca7f1fcfee89da0c3
1 ; RUN: llc < %s -march=xcore | FileCheck %s
2 define i32 @sext1(i32 %a) {
3         %1 = trunc i32 %a to i1
4         %2 = sext i1 %1 to i32
5         ret i32 %2
7 ; CHECK-LABEL: sext1:
8 ; CHECK: sext r0, 1
10 define i32 @sext2(i32 %a) {
11         %1 = trunc i32 %a to i2
12         %2 = sext i2 %1 to i32
13         ret i32 %2
15 ; CHECK-LABEL: sext2:
16 ; CHECK: sext r0, 2
18 define i32 @sext8(i32 %a) {
19         %1 = trunc i32 %a to i8
20         %2 = sext i8 %1 to i32
21         ret i32 %2
23 ; CHECK-LABEL: sext8:
24 ; CHECK: sext r0, 8
26 define i32 @sext16(i32 %a) {
27         %1 = trunc i32 %a to i16
28         %2 = sext i16 %1 to i32
29         ret i32 %2
31 ; CHECK-LABEL: sext16:
32 ; CHECK: sext r0, 16