1; RUN: llc -mtriple=arm-eabi -mattr=+v4t %s -o - | FileCheck %s 2 3; CHECK-LABEL: f1 4; CHECK-NOT: mov 5define i32 @f1() { 6 %buf = alloca [32 x i32], align 4 7 %tmp = getelementptr [32 x i32], [32 x i32]* %buf, i32 0, i32 0 8 %tmp1 = load i32, i32* %tmp 9 ret i32 %tmp1 10} 11 12; CHECK-LABEL: f2 13; CHECK-NOT: mov 14define i32 @f2() { 15 %buf = alloca [32 x i8], align 4 16 %tmp = getelementptr [32 x i8], [32 x i8]* %buf, i32 0, i32 0 17 %tmp1 = load i8, i8* %tmp 18 %tmp2 = zext i8 %tmp1 to i32 19 ret i32 %tmp2 20} 21 22; CHECK-LABEL: f3 23; CHECK-NOT: mov 24define i32 @f3() { 25 %buf = alloca [32 x i32], align 4 26 %tmp = getelementptr [32 x i32], [32 x i32]* %buf, i32 0, i32 32 27 %tmp1 = load i32, i32* %tmp 28 ret i32 %tmp1 29} 30 31; CHECK-LABEL: f4 32; CHECK-NOT: mov 33define i32 @f4() { 34 %buf = alloca [32 x i8], align 4 35 %tmp = getelementptr [32 x i8], [32 x i8]* %buf, i32 0, i32 2 36 %tmp1 = load i8, i8* %tmp 37 %tmp2 = zext i8 %tmp1 to i32 38 ret i32 %tmp2 39} 40