1; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=armv7-apple-ios | FileCheck %s 2; RUN: llc < %s -O0 -fast-isel-abort -relocation-model=dynamic-no-pic -mtriple=thumbv7-apple-ios | 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} 49 50define i16 @ret6(i16 %a) nounwind uwtable ssp { 51entry: 52; CHECK: ret6 53; CHECK-NOT: uxth 54; CHECK-NOT: sxth 55; CHECK: bx lr 56 ret i16 %a 57} 58