1 /* { dg-do assemble } */
2 /* { dg-require-effective-target large_long_double } */
3 /* { dg-options "-O -mtune=neoverse-v1 --save-temps" } */
4 /* { dg-final { check-function-bodies "**" "" "" } } */
6 #pragma GCC target "+sve"
14 fpr_to_fpr (long double q0
, long double q1
) [[arm::streaming_compatible
]]
20 ** gpr_to_fpr: { target aarch64_little_endian }
26 ** gpr_to_fpr: { target aarch64_big_endian }
32 gpr_to_fpr () [[arm::streaming_compatible
]]
34 register long double x0
asm ("x0");
35 asm volatile ("" : "=r" (x0
));
45 zero_to_fpr () [[arm::streaming_compatible
]]
51 ** fpr_to_gpr: { target aarch64_little_endian }
62 ** fpr_to_gpr: { target aarch64_big_endian }
73 fpr_to_gpr (long double q0
) [[arm::streaming_compatible
]]
75 register long double x0
asm ("x0");
77 asm volatile ("" :: "r" (x0
));