Revert 374373: [Codegen] Alter the default promotion for saturating adds and subs
[llvm-core.git] / test / CodeGen / ARM / fast-isel-shifter.ll
blob87b861f35396b4167e5a68c958a87abafe10abd7
1 ; RUN: llc < %s -O0 -fast-isel-abort=1 -relocation-model=dynamic-no-pic -mtriple=armv7-apple-ios -verify-machineinstrs | FileCheck %s --check-prefix=ARM
2 ; RUN: llc < %s -O0 -fast-isel-abort=1 -relocation-model=dynamic-no-pic -mtriple=armv7-linux-gnueabi -verify-machineinstrs | FileCheck %s --check-prefix=ARM
4 define i32 @shl() nounwind ssp {
5 entry:
6 ; ARM: shl
7 ; ARM: lsl r0, r0, #2
8   %shl = shl i32 -1, 2
9   ret i32 %shl
12 define i32 @shl_reg(i32 %src1, i32 %src2) nounwind ssp {
13 entry:
14 ; ARM: shl_reg
15 ; ARM: lsl r0, r0, r1
16   %shl = shl i32 %src1, %src2
17   ret i32 %shl
20 define i32 @lshr() nounwind ssp {
21 entry:
22 ; ARM: lshr
23 ; ARM: lsr r0, r0, #2
24   %lshr = lshr i32 -1, 2
25   ret i32 %lshr
28 define i32 @lshr_reg(i32 %src1, i32 %src2) nounwind ssp {
29 entry:
30 ; ARM: lshr_reg
31 ; ARM: lsr r0, r0, r1
32   %lshr = lshr i32 %src1, %src2
33   ret i32 %lshr
36 define i32 @ashr() nounwind ssp {
37 entry:
38 ; ARM: ashr
39 ; ARM: asr r0, r0, #2
40   %ashr = ashr i32 -1, 2
41   ret i32 %ashr
44 define i32 @ashr_reg(i32 %src1, i32 %src2) nounwind ssp {
45 entry:
46 ; ARM: ashr_reg
47 ; ARM: asr r0, r0, r1
48   %ashr = ashr i32 %src1, %src2
49   ret i32 %ashr