1 ; RUN: llc -mtriple=arm-eabi -mattr=+v6 %s -o - | FileCheck %s 2 3 define zeroext i8 @test1(i32 %A.u) { 4 %B.u = trunc i32 %A.u to i8 5 ret i8 %B.u 6 } 7 8 define zeroext i32 @test2(i32 %A.u, i32 %B.u) { 9 %C.u = trunc i32 %B.u to i8 10 %D.u = zext i8 %C.u to i32 11 %E.u = add i32 %A.u, %D.u 12 ret i32 %E.u 13 } 14 15 define zeroext i32 @test3(i32 %A.u) { 16 %B.u = lshr i32 %A.u, 8 17 %C.u = shl i32 %A.u, 24 18 %D.u = or i32 %B.u, %C.u 19 %E.u = trunc i32 %D.u to i16 20 %F.u = zext i16 %E.u to i32 21 ret i32 %F.u 22 } 23 24 ; CHECK: uxtb 25 ; CHECK-NOT: uxtb 26 27 ; CHECK: uxtab 28 ; CHECK-NOT: uxtab 29 30 ; CHECK: uxth 31 ; CHECK-NOT: uxth 32 33