Skip to content

Commit 21854c1

Browse files
[fixup] Add test using FP8 tuple type
1 parent c2f223d commit 21854c1

File tree

1 file changed

+21
-5
lines changed

1 file changed

+21
-5
lines changed

clang/test/CodeGen/aarch64-pure-scalable-args.c

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,12 +160,28 @@ void test_argpass_no_z(PST *p, double dummy, svmfloat8_t u) {
160160
// 2 -> w2
161161
// 3.0 -> d5
162162
// true -> p0
163-
void test_argpass_no_z_tuple(PST *p, float dummy, svfloat64x4_t x) {
164-
void argpass_no_z_tuple_callee(svfloat64x4_t, double, int, PST, int,
165-
double, svbool_t);
166-
argpass_no_z_tuple_callee(x, .0, 1, *p, 2, 3.0, svptrue_b64());
163+
void test_argpass_no_z_tuple_f64(PST *p, float dummy, svfloat64x4_t x) {
164+
void argpass_no_z_tuple_f64_callee(svfloat64x4_t, double, int, PST, int,
165+
double, svbool_t);
166+
argpass_no_z_tuple_f64_callee(x, .0, 1, *p, 2, 3.0, svptrue_b64());
167167
}
168-
// CHECK: declare void @argpass_no_z_tuple_callee(<vscale x 2 x double>, <vscale x 2 x double>, <vscale x 2 x double>, <vscale x 2 x double>, double noundef, i32 noundef, ptr noundef, i32 noundef, double noundef, <vscale x 16 x i1>)
168+
// CHECK: declare void @argpass_no_z_tuple_f64_callee(<vscale x 2 x double>, <vscale x 2 x double>, <vscale x 2 x double>, <vscale x 2 x double>, double noundef, i32 noundef, ptr noundef, i32 noundef, double noundef, <vscale x 16 x i1>)
169+
170+
171+
// Likewise, using a different tuple.
172+
// x -> z0.d-z3.d
173+
// 0.0 -> d4
174+
// 1 -> w0
175+
// *p -> memory, address -> x1
176+
// 2 -> w2
177+
// 3.0 -> d5
178+
// true -> p0
179+
void test_argpass_no_z_tuple_mfp8(PST *p, float dummy, svmfloat8x4_t x) {
180+
void argpass_no_z_tuple_mfp8_callee(svmfloat8x4_t, double, int, PST, int,
181+
double, svbool_t);
182+
argpass_no_z_tuple_mfp8_callee(x, .0, 1, *p, 2, 3.0, svptrue_b64());
183+
}
184+
// CHECK: declare void @argpass_no_z_tuple_mfp8_callee(<vscale x 16 x i8>, <vscale x 16 x i8>, <vscale x 16 x i8>, <vscale x 16 x i8>, double noundef, i32 noundef, ptr noundef, i32 noundef, double noundef, <vscale x 16 x i1>)
169185

170186

171187
// Not enough Z-regs (consumed by a HFA), PST passed indirectly

0 commit comments

Comments
 (0)