1 ; RUN: llc -mtriple=arm-eabi -mattr=+v4t %s -o - | FileCheck %s 2 3 ; CHECK-LABEL: f1 4 ; CHECK-NOT: mov 5 define 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 14 define 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 24 define 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 33 define 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