Change the fast-isel-abort option from bool to int to enable "levels"
[oota-llvm.git] / test / CodeGen / ARM / fast-isel-shifter.ll
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
3
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
10 }
11
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
18 }
19
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
26 }
27
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
34 }
35
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
42 }
43
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
50 }
51