[fast-isel] The X86FastISel::FastLowerArguments function doesn't properly handle
[oota-llvm.git] / test / CodeGen / ARM / fast-isel-shifter.ll
1 ; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=armv7-apple-ios | FileCheck %s --check-prefix=ARM
2
3 define i32 @shl() nounwind ssp {
4 entry:
5 ; ARM: shl
6 ; ARM: lsl r0, r0, #2
7   %shl = shl i32 -1, 2
8   ret i32 %shl
9 }
10
11 define i32 @shl_reg(i32 %src1, i32 %src2) nounwind ssp {
12 entry:
13 ; ARM: shl_reg
14 ; ARM: lsl r0, r0, r1
15   %shl = shl i32 %src1, %src2
16   ret i32 %shl
17 }
18
19 define i32 @lshr() nounwind ssp {
20 entry:
21 ; ARM: lshr
22 ; ARM: lsr r0, r0, #2
23   %lshr = lshr i32 -1, 2
24   ret i32 %lshr
25 }
26
27 define i32 @lshr_reg(i32 %src1, i32 %src2) nounwind ssp {
28 entry:
29 ; ARM: lshr_reg
30 ; ARM: lsr r0, r0, r1
31   %lshr = lshr i32 %src1, %src2
32   ret i32 %lshr
33 }
34
35 define i32 @ashr() nounwind ssp {
36 entry:
37 ; ARM: ashr
38 ; ARM: asr r0, r0, #2
39   %ashr = ashr i32 -1, 2
40   ret i32 %ashr
41 }
42
43 define i32 @ashr_reg(i32 %src1, i32 %src2) nounwind ssp {
44 entry:
45 ; ARM: ashr_reg
46 ; ARM: asr r0, r0, r1
47   %ashr = ashr i32 %src1, %src2
48   ret i32 %ashr
49 }
50