@@ -193,31 +193,31 @@ void __attribute__((riscv_vls_cc)) test_st_i32x4x9(struct st_i32x4x9 arg) {}
193
193
// CHECK-LLVM: define dso_local riscv_vls_cc(256) void @test_st_i32x4x9_256(ptr noundef %arg)
194
194
void __attribute__((riscv_vls_cc (256 ))) test_st_i32x4x9_256 (struct st_i32x4x9 arg ) {}
195
195
196
- // CHECK-LLVM: define dso_local riscv_vls_cc(128) <vscale x 8 x i32> @test_function_prolog_epilog(<vscale x 8 x i32> %arg.coerce) #0 {
197
- // CHECK-LLVM: entry:
198
- // CHECK-LLVM: %retval = alloca %struct.st_i32x4_arr4, align 16
199
- // CHECK-LLVM: %arg = alloca %struct.st_i32x4_arr4, align 16
200
- // CHECK-LLVM: store <vscale x 8 x i32> %arg.coerce, ptr %arg, align 16
201
- // CHECK-LLVM: call void @llvm.memcpy.p0.p0.i64(ptr align 16 %retval, ptr align 16 %arg, i64 64, i1 false)
202
- // CHECK-LLVM: %0 = load <vscale x 8 x i32>, ptr %retval, align 16
203
- // CHECK-LLVM: ret <vscale x 8 x i32> %0
204
- // CHECK-LLVM: }
196
+ // CHECK-LLVM-LABEL : define dso_local riscv_vls_cc(128) <vscale x 8 x i32> @test_function_prolog_epilog(<vscale x 8 x i32> %arg.coerce) #0 {
197
+ // CHECK-LLVM-NEXT : entry:
198
+ // CHECK-LLVM-NEXT : %retval = alloca %struct.st_i32x4_arr4, align 16
199
+ // CHECK-LLVM-NEXT : %arg = alloca %struct.st_i32x4_arr4, align 16
200
+ // CHECK-LLVM-NEXT : store <vscale x 8 x i32> %arg.coerce, ptr %arg, align 16
201
+ // CHECK-LLVM-NEXT : call void @llvm.memcpy.p0.p0.i64(ptr align 16 %retval, ptr align 16 %arg, i64 64, i1 false)
202
+ // CHECK-LLVM-NEXT : %0 = load <vscale x 8 x i32>, ptr %retval, align 16
203
+ // CHECK-LLVM-NEXT : ret <vscale x 8 x i32> %0
204
+ // CHECK-LLVM-NEXT : }
205
205
struct st_i32x4_arr4 __attribute__((riscv_vls_cc )) test_function_prolog_epilog (struct st_i32x4_arr4 arg ) {
206
206
return arg ;
207
207
}
208
208
209
209
struct st_i32x4 __attribute__((riscv_vls_cc )) dummy (struct st_i32x4 );
210
- // CHECK-LLVM: define dso_local riscv_vls_cc(128) <vscale x 2 x i32> @test_call(<vscale x 2 x i32> %arg.coerce) #0 {
211
- // CHECK-LLVM: entry:
212
- // CHECK-LLVM: %retval = alloca %struct.st_i32x4, align 16
213
- // CHECK-LLVM: %arg = alloca %struct.st_i32x4, align 16
214
- // CHECK-LLVM: store <vscale x 2 x i32> %arg.coerce, ptr %arg, align 16
215
- // CHECK-LLVM: %0 = load <vscale x 2 x i32>, ptr %arg, align 16
216
- // CHECK-LLVM: %call = call riscv_vls_cc(128) <vscale x 2 x i32> @dummy(<vscale x 2 x i32> %0)
217
- // CHECK-LLVM: store <vscale x 2 x i32> %call, ptr %retval, align 16
218
- // CHECK-LLVM: %1 = load <vscale x 2 x i32>, ptr %retval, align 16
219
- // CHECK-LLVM: ret <vscale x 2 x i32> %1
220
- // CHECK-LLVM: }
210
+ // CHECK-LLVM-LABEL : define dso_local riscv_vls_cc(128) <vscale x 2 x i32> @test_call(<vscale x 2 x i32> %arg.coerce) #0 {
211
+ // CHECK-LLVM-NEXT : entry:
212
+ // CHECK-LLVM-NEXT : %retval = alloca %struct.st_i32x4, align 16
213
+ // CHECK-LLVM-NEXT : %arg = alloca %struct.st_i32x4, align 16
214
+ // CHECK-LLVM-NEXT : store <vscale x 2 x i32> %arg.coerce, ptr %arg, align 16
215
+ // CHECK-LLVM-NEXT : %0 = load <vscale x 2 x i32>, ptr %arg, align 16
216
+ // CHECK-LLVM-NEXT : %call = call riscv_vls_cc(128) <vscale x 2 x i32> @dummy(<vscale x 2 x i32> %0)
217
+ // CHECK-LLVM-NEXT : store <vscale x 2 x i32> %call, ptr %retval, align 16
218
+ // CHECK-LLVM-NEXT : %1 = load <vscale x 2 x i32>, ptr %retval, align 16
219
+ // CHECK-LLVM-NEXT : ret <vscale x 2 x i32> %1
220
+ // CHECK-LLVM-NEXT : }
221
221
struct st_i32x4 __attribute__((riscv_vls_cc )) test_call (struct st_i32x4 arg ) {
222
222
struct st_i32x4 abc = dummy (arg );
223
223
return abc ;
0 commit comments