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