blob: f7f4521c8dd72d8fa0152a05d58758227da32607 [file] [log] [blame]
Chad Rosierf470cbb2011-11-04 00:50:21 +00001; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=armv7-apple-darwin | FileCheck %s
2; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-darwin | FileCheck %s
3
4; Sign-extend of i1 currently not supported by fast-isel
5;define signext i1 @ret0(i1 signext %a) nounwind uwtable ssp {
6;entry:
7; ret i1 %a
8;}
9
10define zeroext i1 @ret1(i1 signext %a) nounwind uwtable ssp {
11entry:
12; CHECK: ret1
13; CHECK: and r0, r0, #1
14; CHECK: bx lr
15 ret i1 %a
16}
17
18define signext i8 @ret2(i8 signext %a) nounwind uwtable ssp {
19entry:
20; CHECK: ret2
21; CHECK: sxtb r0, r0
22; CHECK: bx lr
23 ret i8 %a
24}
25
26define zeroext i8 @ret3(i8 signext %a) nounwind uwtable ssp {
27entry:
28; CHECK: ret3
29; CHECK: uxtb r0, r0
30; CHECK: bx lr
31 ret i8 %a
32}
33
34define signext i16 @ret4(i16 signext %a) nounwind uwtable ssp {
35entry:
36; CHECK: ret4
37; CHECK: sxth r0, r0
38; CHECK: bx lr
39 ret i16 %a
40}
41
42define zeroext i16 @ret5(i16 signext %a) nounwind uwtable ssp {
43entry:
44; CHECK: ret5
45; CHECK: uxth r0, r0
46; CHECK: bx lr
47 ret i16 %a
48}