[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / ARM / ldr_frame.ll
blob24c10b42a445ad1bb20b104a6152af75a65391aa
1 ; RUN: llc -mtriple=arm-eabi -mattr=+v4t %s -o - | FileCheck %s
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
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
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
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