diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/aarch64/sve_cvtf_unsigned_1.c')
-rw-r--r-- | gcc/testsuite/gcc.target/aarch64/sve_cvtf_unsigned_1.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/gcc/testsuite/gcc.target/aarch64/sve_cvtf_unsigned_1.c b/gcc/testsuite/gcc.target/aarch64/sve_cvtf_unsigned_1.c index bd8cf6f6cf5..0605307d1e3 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve_cvtf_unsigned_1.c +++ b/gcc/testsuite/gcc.target/aarch64/sve_cvtf_unsigned_1.c @@ -1,17 +1,29 @@ /* { dg-do assemble } */ /* { dg-options "-O3 -march=armv8-a+sve --save-temps" } */ -void vcvtf_32 (float *dst, unsigned int *src1, int size) +#include <stdint.h> + +void __attribute__ ((noinline, noclone)) +vcvtf_16 (_Float16 *dst, uint16_t *src1, int size) +{ + for (int i = 0; i < size; i++) + dst[i] = (_Float16) src1[i]; +} + +void __attribute__ ((noinline, noclone)) +vcvtf_32 (float *dst, uint32_t *src1, int size) { for (int i = 0; i < size; i++) dst[i] = (float) src1[i]; } -void vcvtf_64 (double *dst, unsigned long *src1, int size) +void __attribute__ ((noinline, noclone)) +vcvtf_64 (double *dst, uint64_t *src1, int size) { for (int i = 0; i < size; i++) dst[i] = (double) src1[i]; } +/* { dg-final { scan-assembler-times {\tucvtf\tz[0-9]+\.h, p[0-7]/m, z[0-9]+\.h\n} 1 } } */ /* { dg-final { scan-assembler-times {\tucvtf\tz[0-9]+\.s, p[0-7]/m, z[0-9]+\.s\n} 1 } } */ /* { dg-final { scan-assembler-times {\tucvtf\tz[0-9]+\.d, p[0-7]/m, z[0-9]+\.d\n} 1 } } */ |