From 0c64497d6eae75b9f87aef777f9beb5184ecaa64 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Thu, 1 Feb 2018 11:04:58 +0000 Subject: [PATCH] [AArch64] Fix SVE testsuite failures for ILP32 (PR 83846) The SVE tests are split into code-quality compile tests and runtime tests. A lot of the former are geared towards LP64. It would be possible (but tedious!) to mark up every line that is expected to work only for LP64, but I think it would be a constant source of problems. Since the code has not been tuned for ILP32 yet, I think the best thing is to select only the runtime tests for that combination. They all pass on aarch64-elf and aarch64_be-elf except vec-cond-[34].c, which are unsupported due to the lack of fenv support. The patch also replaces uses of built-in types with stdint.h types where possible. (This excludes tests that change the endianness, since we can't assume that system header files work in that case.) 2018-02-01 Richard Sandiford gcc/testsuite/ PR testsuite/83846 * gcc.target/aarch64/sve/aarch64-sve.exp: Only do *_run tests for ILP32. * gcc.target/aarch64/sve/clastb_2_run.c (main): Use TYPE instead of hard-coding the choice. * gcc.target/aarch64/sve/clastb_4_run.c (main): Likewise. * gcc.target/aarch64/sve/clastb_5_run.c (main): Likewise. * gcc.target/aarch64/sve/clastb_3_run.c (main): Likewise. Generalize memset call. * gcc.target/aarch64/sve/const_pred_1.C: Include stdint.h and use stdint.h types. * gcc.target/aarch64/sve/const_pred_2.C: Likewise. * gcc.target/aarch64/sve/const_pred_3.C: Likewise. * gcc.target/aarch64/sve/const_pred_4.C: Likewise. * gcc.target/aarch64/sve/load_const_offset_2.c: Likewise. * gcc.target/aarch64/sve/logical_1.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_1.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_5.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_6.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_7.c: Likewise. * gcc.target/aarch64/sve/mask_struct_load_8.c: Likewise. * gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise. * gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise. * gcc.target/aarch64/sve/mask_struct_store_3.c: Likewise. * gcc.target/aarch64/sve/mask_struct_store_4.c: Likewise. * gcc.target/aarch64/sve/struct_vect_1.c: Likewise. * gcc.target/aarch64/sve/struct_vect_2.c: Likewise. * gcc.target/aarch64/sve/struct_vect_2_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_3.c: Likewise. * gcc.target/aarch64/sve/struct_vect_3_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_4.c: Likewise. * gcc.target/aarch64/sve/struct_vect_4_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_7.c: Likewise. * gcc.target/aarch64/sve/struct_vect_8.c: Likewise. * gcc.target/aarch64/sve/struct_vect_8_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_9.c: Likewise. * gcc.target/aarch64/sve/struct_vect_9_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_10.c: Likewise. * gcc.target/aarch64/sve/struct_vect_10_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_11.c: Likewise. * gcc.target/aarch64/sve/struct_vect_11_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_12.c: Likewise. * gcc.target/aarch64/sve/struct_vect_12_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_13.c: Likewise. * gcc.target/aarch64/sve/struct_vect_13_run.c: Likewise. * gcc.target/aarch64/sve/struct_vect_14.c: Likewise. * gcc.target/aarch64/sve/struct_vect_18.c: Likewise. * gcc.target/aarch64/sve/struct_vect_19.c: Likewise. * gcc.target/aarch64/sve/struct_vect_20.c: Likewise. * gcc.target/aarch64/sve/struct_vect_21.c: Likewise. * gcc.target/aarch64/sve/struct_vect_22.c: Likewise. * gcc.target/aarch64/sve/struct_vect_23.c: Likewise. * gcc.target/aarch64/sve/popcount_1.c (popcount_64): Use __builtin_popcountll rather than __builtin_popcountl. Reviewed-by: James Greenhalgh From-SVN: r257290 --- gcc/testsuite/ChangeLog | 60 +++++++++++++++++++ .../gcc.target/aarch64/sve/aarch64-sve.exp | 10 +++- .../gcc.target/aarch64/sve/clastb_2_run.c | 6 +- .../gcc.target/aarch64/sve/clastb_3_run.c | 6 +- .../gcc.target/aarch64/sve/clastb_4_run.c | 6 +- .../gcc.target/aarch64/sve/clastb_5_run.c | 6 +- .../gcc.target/aarch64/sve/const_pred_1.C | 4 +- .../gcc.target/aarch64/sve/const_pred_2.C | 4 +- .../gcc.target/aarch64/sve/const_pred_3.C | 4 +- .../gcc.target/aarch64/sve/const_pred_4.C | 4 +- .../aarch64/sve/load_const_offset_2.c | 14 +++-- .../gcc.target/aarch64/sve/logical_1.c | 12 ++-- .../aarch64/sve/mask_struct_load_1.c | 22 +++---- .../aarch64/sve/mask_struct_load_2.c | 22 +++---- .../aarch64/sve/mask_struct_load_3.c | 22 +++---- .../aarch64/sve/mask_struct_load_4.c | 22 +++---- .../aarch64/sve/mask_struct_load_5.c | 22 +++---- .../aarch64/sve/mask_struct_load_6.c | 22 +++---- .../aarch64/sve/mask_struct_load_7.c | 22 +++---- .../aarch64/sve/mask_struct_load_8.c | 22 +++---- .../aarch64/sve/mask_struct_store_1.c | 22 +++---- .../aarch64/sve/mask_struct_store_2.c | 22 +++---- .../aarch64/sve/mask_struct_store_3.c | 22 +++---- .../aarch64/sve/mask_struct_store_4.c | 22 +++---- .../gcc.target/aarch64/sve/popcount_1.c | 2 +- .../gcc.target/aarch64/sve/struct_vect_1.c | 4 +- .../gcc.target/aarch64/sve/struct_vect_10.c | 4 +- .../aarch64/sve/struct_vect_10_run.c | 4 +- .../gcc.target/aarch64/sve/struct_vect_11.c | 2 +- .../aarch64/sve/struct_vect_11_run.c | 2 +- .../gcc.target/aarch64/sve/struct_vect_12.c | 2 +- .../aarch64/sve/struct_vect_12_run.c | 2 +- .../gcc.target/aarch64/sve/struct_vect_13.c | 2 +- .../aarch64/sve/struct_vect_13_run.c | 2 +- .../gcc.target/aarch64/sve/struct_vect_14.c | 8 +-- .../gcc.target/aarch64/sve/struct_vect_18.c | 6 +- .../gcc.target/aarch64/sve/struct_vect_19.c | 6 +- .../gcc.target/aarch64/sve/struct_vect_2.c | 2 +- .../gcc.target/aarch64/sve/struct_vect_20.c | 6 +- .../gcc.target/aarch64/sve/struct_vect_21.c | 6 +- .../gcc.target/aarch64/sve/struct_vect_22.c | 6 +- .../gcc.target/aarch64/sve/struct_vect_23.c | 6 +- .../aarch64/sve/struct_vect_2_run.c | 2 +- .../gcc.target/aarch64/sve/struct_vect_3.c | 2 +- .../aarch64/sve/struct_vect_3_run.c | 2 +- .../gcc.target/aarch64/sve/struct_vect_4.c | 2 +- .../aarch64/sve/struct_vect_4_run.c | 2 +- .../gcc.target/aarch64/sve/struct_vect_7.c | 6 +- .../gcc.target/aarch64/sve/struct_vect_8.c | 4 +- .../aarch64/sve/struct_vect_8_run.c | 4 +- .../gcc.target/aarch64/sve/struct_vect_9.c | 4 +- .../aarch64/sve/struct_vect_9_run.c | 4 +- 52 files changed, 312 insertions(+), 192 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 522938f61ba..bd118a9391c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,63 @@ +2018-02-01 Richard Sandiford + + PR testsuite/83846 + * gcc.target/aarch64/sve/aarch64-sve.exp: Only do *_run tests + for ILP32. + * gcc.target/aarch64/sve/clastb_2_run.c (main): Use TYPE instead + of hard-coding the choice. + * gcc.target/aarch64/sve/clastb_4_run.c (main): Likewise. + * gcc.target/aarch64/sve/clastb_5_run.c (main): Likewise. + * gcc.target/aarch64/sve/clastb_3_run.c (main): Likewise. Generalize + memset call. + * gcc.target/aarch64/sve/const_pred_1.C: Include stdint.h and use + stdint.h types. + * gcc.target/aarch64/sve/const_pred_2.C: Likewise. + * gcc.target/aarch64/sve/const_pred_3.C: Likewise. + * gcc.target/aarch64/sve/const_pred_4.C: Likewise. + * gcc.target/aarch64/sve/load_const_offset_2.c: Likewise. + * gcc.target/aarch64/sve/logical_1.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_1.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_2.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_3.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_4.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_5.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_6.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_7.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_load_8.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_1.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_2.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_3.c: Likewise. + * gcc.target/aarch64/sve/mask_struct_store_4.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_1.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_2.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_2_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_3.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_3_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_4.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_4_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_7.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_8.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_8_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_9.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_9_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_10.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_10_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_11.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_11_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_12.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_12_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_13.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_13_run.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_14.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_18.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_19.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_20.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_21.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_22.c: Likewise. + * gcc.target/aarch64/sve/struct_vect_23.c: Likewise. + * gcc.target/aarch64/sve/popcount_1.c (popcount_64): Use + __builtin_popcountll rather than __builtin_popcountl. + 2018-02-01 Richard Sandiford * gcc.target/aarch64/sve/slp_2.c: Expect LD1RQ to be used instead diff --git a/gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp b/gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp index 934a6a8d4ea..e2d92d41533 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp +++ b/gcc/testsuite/gcc.target/aarch64/sve/aarch64-sve.exp @@ -44,8 +44,16 @@ if { [check_effective_target_aarch64_sve] } { set sve_flags "-march=armv8.2-a+sve" } +# Most of the code-quality tests are written for LP64. Just do the +# correctness tests for ILP32. +if { [check_effective_target_ilp32] } { + set pattern "*_run" +} else { + set pattern "*" +} + # Main loop. -dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cCS\]]] \ +dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/$pattern.\[cCS\]]] \ $sve_flags $DEFAULT_CFLAGS # All done. diff --git a/gcc/testsuite/gcc.target/aarch64/sve/clastb_2_run.c b/gcc/testsuite/gcc.target/aarch64/sve/clastb_2_run.c index dcbacf90fef..e23314df07c 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/clastb_2_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/clastb_2_run.c @@ -6,15 +6,15 @@ int __attribute__ ((optimize (1))) main (void) { - unsigned int a[N] = { + TYPE a[N] = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - __builtin_memset (a + 32, 43, (N - 32) * sizeof (int)); + __builtin_memset (a + 32, 43, (N - 32) * sizeof (TYPE)); - unsigned int ret = condition_reduction (a, 16); + TYPE ret = condition_reduction (a, 16); if (ret != 10) __builtin_abort (); diff --git a/gcc/testsuite/gcc.target/aarch64/sve/clastb_3_run.c b/gcc/testsuite/gcc.target/aarch64/sve/clastb_3_run.c index 2ff1605c605..5b0eef6ffe2 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/clastb_3_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/clastb_3_run.c @@ -6,15 +6,15 @@ int __attribute__ ((optimize (1))) main (void) { - unsigned char a[N] = { + TYPE a[N] = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - __builtin_memset (a + 32, 43, N - 32); + __builtin_memset (a + 32, 43, (N - 32) * sizeof (TYPE)); - unsigned char ret = condition_reduction (a, 16); + TYPE ret = condition_reduction (a, 16); if (ret != 10) __builtin_abort (); diff --git a/gcc/testsuite/gcc.target/aarch64/sve/clastb_4_run.c b/gcc/testsuite/gcc.target/aarch64/sve/clastb_4_run.c index d0c4af8c0da..7aa3603b4c2 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/clastb_4_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/clastb_4_run.c @@ -8,15 +8,15 @@ extern void abort (void) __attribute__ ((noreturn)); int __attribute__ ((optimize (1))) main (void) { - short a[N] = { + TYPE a[N] = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - __builtin_memset (a+32, 43, (N-32)*sizeof (short)); + __builtin_memset (a+32, 43, (N-32)*sizeof (TYPE)); - short ret = condition_reduction (a, 16); + TYPE ret = condition_reduction (a, 16); if (ret != 10) abort (); diff --git a/gcc/testsuite/gcc.target/aarch64/sve/clastb_5_run.c b/gcc/testsuite/gcc.target/aarch64/sve/clastb_5_run.c index 3c9d0542eb4..134a2df3ae4 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/clastb_5_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/clastb_5_run.c @@ -6,15 +6,15 @@ int __attribute__ ((optimize (1))) main (void) { - long a[N] = { + TYPE a[N] = { 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32 }; - __builtin_memset (a + 32, 43, (N - 32) * sizeof (long)); + __builtin_memset (a + 32, 43, (N - 32) * sizeof (TYPE)); - long ret = condition_reduction (a, 16); + TYPE ret = condition_reduction (a, 16); if (ret != 10) __builtin_abort (); diff --git a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C b/gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C index 58ab1598eb0..25b7663273f 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C +++ b/gcc/testsuite/gcc.target/aarch64/sve/const_pred_1.C @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msve-vector-bits=256" } */ -typedef signed char vnx16qi __attribute__((vector_size(32))); +#include + +typedef int8_t vnx16qi __attribute__((vector_size(32))); vnx16qi foo (vnx16qi x, vnx16qi y) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C b/gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C index 55dc8741f4c..4c781ca560c 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C +++ b/gcc/testsuite/gcc.target/aarch64/sve/const_pred_2.C @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msve-vector-bits=256" } */ -typedef short vnx8hi __attribute__((vector_size(32))); +#include + +typedef int16_t vnx8hi __attribute__((vector_size(32))); vnx8hi foo (vnx8hi x, vnx8hi y) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C b/gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C index 16d0a33f50e..6196ee05be7 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C +++ b/gcc/testsuite/gcc.target/aarch64/sve/const_pred_3.C @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msve-vector-bits=256" } */ -typedef int vnx4si __attribute__((vector_size(32))); +#include + +typedef int32_t vnx4si __attribute__((vector_size(32))); vnx4si foo (vnx4si x, vnx4si y) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C b/gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C index 02bd0963246..2bdf67fd038 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C +++ b/gcc/testsuite/gcc.target/aarch64/sve/const_pred_4.C @@ -1,7 +1,9 @@ /* { dg-do compile } */ /* { dg-options "-O2 -msve-vector-bits=256" } */ -typedef long long vnx2di __attribute__((vector_size(32))); +#include + +typedef int64_t vnx2di __attribute__((vector_size(32))); vnx2di foo (vnx2di x, vnx2di y) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/load_const_offset_2.c b/gcc/testsuite/gcc.target/aarch64/sve/load_const_offset_2.c index 25e84e30733..e02a6b5abee 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/load_const_offset_2.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/load_const_offset_2.c @@ -1,14 +1,16 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize -save-temps" } */ +#include + void -f (unsigned int *restrict a, signed char *restrict b, signed char mask, int n) +f (uint32_t *restrict a, int8_t *restrict b, int8_t mask, int n) { for (int i = 0; i < n; ++i) - a[i] += (signed char) (b[i] | mask); + a[i] += (int8_t) (b[i] | mask); } -/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+\]\n} 1 } } */ -/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #1, mul vl\]\n} 1 } } */ -/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #2, mul vl\]\n} 1 } } */ -/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #3, mul vl\]\n} 1 } } */ +/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+\]\n} 1 { xfail ilp32 } } } */ +/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #1, mul vl\]\n} 1 { xfail ilp32 } } } */ +/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #2, mul vl\]\n} 1 { xfail ilp32 } } } */ +/* { dg-final { scan-assembler-times {\tld1w\tz[0-9]+\.s, p[0-7]/z, \[x[0-9]+, #3, mul vl\]\n} 1 { xfail ilp32 } } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/logical_1.c b/gcc/testsuite/gcc.target/aarch64/sve/logical_1.c index 25cd9081430..f3d43cc44d4 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/logical_1.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/logical_1.c @@ -1,6 +1,8 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O3 --save-temps" } */ +#include + #define DO_CONSTANT(VALUE, TYPE, OP, NAME) \ void vlogical_imm_##NAME##_##TYPE (TYPE *dst, int count) \ { \ @@ -78,12 +80,12 @@ void vlogical_imm_##NAME##_##TYPE (TYPE *dst, int count) \ DO_CONSTANT (-8, TYPE, OP, NAME ## minus8) \ DO_CONSTANT (-9, TYPE, OP, NAME ## minus9) -DO_LOGICAL_OPS_BRIEF (char, &, and) -DO_LOGICAL_OPS_BRIEF (long, &, and) +DO_LOGICAL_OPS_BRIEF (int8_t, &, and) +DO_LOGICAL_OPS_BRIEF (int64_t, &, and) -DO_LOGICAL_OPS (int, &, and) -DO_LOGICAL_OPS (int, |, or) -DO_LOGICAL_OPS (int, ^, xor) +DO_LOGICAL_OPS (int32_t, &, and) +DO_LOGICAL_OPS (int32_t, |, or) +DO_LOGICAL_OPS (int32_t, ^, xor) /* { dg-final { scan-assembler-times {\tand\tz[0-9]+\.d, z[0-9]+\.d, #0x1\n} 1 } } */ /* { dg-final { scan-assembler-times {\tand\tz[0-9]+\.s, z[0-9]+\.s, #0x1\n} 1 } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_1.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_1.c index c3c335e3350..d4503322d77 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_1.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_1.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_2 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_2.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_2.c index 1afb21fc2e1..812b96723cb 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_2.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_2.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_3 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -14,22 +16,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_3.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_3.c index a5b386d19b4..29702ab55f2 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_3.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_3.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_4 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -15,22 +17,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_4.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_4.c index 9c66643c1e0..436da085760 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_4.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_4.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_3 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_5.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_5.c index 41412350633..08e58247f00 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_5.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_5.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_4 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_6.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_6.c index 805622624aa..d4542eca0f7 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_6.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_6.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_2 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_7.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_7.c index 982fa8b6222..9d26e15c0d9 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_7.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_7.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_3 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_8.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_8.c index c1da197cab6..17fd4c0a079 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_8.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_load_8.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_4 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -12,22 +14,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_1.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_1.c index 47ad135ecdf..8897fe1c970 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_1.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_1.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_2 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -18,22 +20,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_2.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_2.c index e87a31c765e..dccdceef652 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_2.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_2.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_3 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -19,22 +21,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_3.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_3.c index 908b12b502e..001f5be8ff5 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_3.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_3.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_4 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -20,22 +22,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_4.c b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_4.c index f7b63b51488..59e9ee49c4a 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_4.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/mask_struct_store_4.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize -ffast-math" } */ +#include + #define TEST_LOOP(NAME, OUTTYPE, INTYPE, MASKTYPE) \ void __attribute__ ((noinline, noclone)) \ NAME##_2 (OUTTYPE *__restrict dest, INTYPE *__restrict src, \ @@ -16,22 +18,22 @@ } #define TEST2(NAME, OUTTYPE, INTYPE) \ - TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, signed char) \ - TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, unsigned short) \ + TEST_LOOP (NAME##_i8, OUTTYPE, INTYPE, int8_t) \ + TEST_LOOP (NAME##_i16, OUTTYPE, INTYPE, uint16_t) \ TEST_LOOP (NAME##_f32, OUTTYPE, INTYPE, float) \ TEST_LOOP (NAME##_f64, OUTTYPE, INTYPE, double) #define TEST1(NAME, OUTTYPE) \ - TEST2 (NAME##_i8, OUTTYPE, signed char) \ - TEST2 (NAME##_i16, OUTTYPE, unsigned short) \ - TEST2 (NAME##_i32, OUTTYPE, int) \ - TEST2 (NAME##_i64, OUTTYPE, unsigned long) + TEST2 (NAME##_i8, OUTTYPE, int8_t) \ + TEST2 (NAME##_i16, OUTTYPE, uint16_t) \ + TEST2 (NAME##_i32, OUTTYPE, int32_t) \ + TEST2 (NAME##_i64, OUTTYPE, uint64_t) #define TEST(NAME) \ - TEST1 (NAME##_i8, signed char) \ - TEST1 (NAME##_i16, unsigned short) \ - TEST1 (NAME##_i32, int) \ - TEST1 (NAME##_i64, unsigned long) \ + TEST1 (NAME##_i8, int8_t) \ + TEST1 (NAME##_i16, uint16_t) \ + TEST1 (NAME##_i32, int32_t) \ + TEST1 (NAME##_i64, uint64_t) \ TEST2 (NAME##_f16_f16, _Float16, _Float16) \ TEST2 (NAME##_f32_f32, float, float) \ TEST2 (NAME##_f64_f64, double, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/popcount_1.c b/gcc/testsuite/gcc.target/aarch64/sve/popcount_1.c index 188127b764d..dfb6f4ac7a5 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/popcount_1.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/popcount_1.c @@ -14,7 +14,7 @@ void __attribute__ ((noinline, noclone)) popcount_64 (unsigned int *restrict dst, uint64_t *restrict src, int size) { for (int i = 0; i < size; ++i) - dst[i] = __builtin_popcountl (src[i]); + dst[i] = __builtin_popcountll (src[i]); } /* { dg-final { scan-assembler-times {\tcnt\tz[0-9]+\.s, p[0-7]/m, z[0-9]+\.s\n} 1 } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_1.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_1.c index 014f4ecc494..6e3c8898a50 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_1.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_1.c @@ -1,8 +1,10 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ +#include + #ifndef TYPE -#define TYPE unsigned char +#define TYPE uint8_t #endif #ifndef NAME diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10.c index e19ab3d89ee..f06ab210840 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10.c @@ -1,8 +1,8 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned long -#define ITYPE long +#define TYPE uint64_t +#define ITYPE int64_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2d\t{z[0-9]+.d - z[0-9]+.d}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10_run.c index e0e5cf9daf7..f09ea60ecb0 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_10_run.c @@ -1,6 +1,6 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned long -#define ITYPE long +#define TYPE uint64_t +#define ITYPE int64_t #include "struct_vect_7_run.c" diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11.c index ae665461c49..a47b145b2a2 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11.c @@ -2,7 +2,7 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE _Float16 -#define ITYPE short +#define ITYPE int16_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2h\t{z[0-9]+.h - z[0-9]+.h}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11_run.c index 1544d8e5f4a..847646a839f 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_11_run.c @@ -2,5 +2,5 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE _Float16 -#define ITYPE short +#define ITYPE int16_t #include "struct_vect_7_run.c" diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12.c index 69bea7b7f0d..117ed3e9f25 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12.c @@ -2,7 +2,7 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE float -#define ITYPE int +#define ITYPE int32_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2w\t{z[0-9]+.s - z[0-9]+.s}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12_run.c index 784d93d62d3..ae6b4134f0f 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_12_run.c @@ -2,5 +2,5 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE float -#define ITYPE int +#define ITYPE int32_t #include "struct_vect_7_run.c" diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13.c index 13947a39e67..0e0a909bffd 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13.c @@ -2,7 +2,7 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE double -#define ITYPE long +#define ITYPE int64_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2d\t{z[0-9]+.d - z[0-9]+.d}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13_run.c index 1674fae5792..ac8839cd5eb 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_13_run.c @@ -2,5 +2,5 @@ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ #define TYPE double -#define ITYPE long +#define ITYPE int64_t #include "struct_vect_7_run.c" diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_14.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_14.c index 8c401329425..45644b67bda 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_14.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_14.c @@ -1,25 +1,25 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize -msve-vector-bits=256 --save-temps" } */ -#define TYPE unsigned char +#define TYPE uint8_t #define NAME(X) qi_##X #include "struct_vect_1.c" #undef NAME #undef TYPE -#define TYPE unsigned short +#define TYPE uint16_t #define NAME(X) hi_##X #include "struct_vect_1.c" #undef NAME #undef TYPE -#define TYPE unsigned int +#define TYPE uint32_t #define NAME(X) si_##X #include "struct_vect_1.c" #undef NAME #undef TYPE -#define TYPE unsigned long +#define TYPE uint64_t #define NAME(X) di_##X #include "struct_vect_1.c" #undef NAME diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_18.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_18.c index 8b93b4cfbd3..dc912e63c04 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_18.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_18.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define N 2000 #define TEST_LOOP(NAME, TYPE) \ @@ -12,8 +14,8 @@ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_19.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_19.c index 6a67e1839a5..6568dc71cfe 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_19.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_19.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define TEST_LOOP(NAME, TYPE) \ void __attribute__ ((noinline, noclone)) \ NAME (TYPE *restrict dest, TYPE *restrict src, int n) \ @@ -10,8 +12,8 @@ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2.c index 83745831c37..e1715952d32 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2.c @@ -1,7 +1,7 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned short +#define TYPE uint16_t #include "struct_vect_1.c" /* { dg-final { scan-assembler {\tld2h\t{z[0-9]+.h - z[0-9]+.h}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_20.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_20.c index 6d616ebb1d6..6c3520c2f54 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_20.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_20.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define N 2000 #define TEST_LOOP(NAME, TYPE) \ @@ -12,8 +14,8 @@ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_21.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_21.c index 4758c9d4ca4..4b2a5e463b1 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_21.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_21.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define TEST_LOOP(NAME, TYPE) \ void __attribute__ ((noinline, noclone)) \ NAME (TYPE *restrict dest, TYPE *restrict src, int n) \ @@ -10,8 +12,8 @@ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22.c index 322b561d7ff..b6153605361 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_22.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define N 2000 #define TEST_LOOP(NAME, TYPE) \ @@ -12,8 +14,8 @@ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c index 1698a2e25b4..b529e0386f7 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_23.c @@ -1,6 +1,8 @@ /* { dg-do compile } */ /* { dg-options "-O2 -ftree-vectorize" } */ +#include + #define TEST_LOOP(NAME, TYPE) \ void __attribute__ ((noinline, noclone)) \ NAME (TYPE *restrict dest, TYPE *restrict src, int n) \ @@ -10,8 +12,8 @@ } #define TEST(NAME) \ - TEST_LOOP (NAME##_i8, signed char) \ - TEST_LOOP (NAME##_i16, unsigned short) \ + TEST_LOOP (NAME##_i8, int8_t) \ + TEST_LOOP (NAME##_i16, uint16_t) \ TEST_LOOP (NAME##_f32, float) \ TEST_LOOP (NAME##_f64, double) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2_run.c index a9b8e1d8e72..fad6162a47c 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_2_run.c @@ -1,5 +1,5 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned short +#define TYPE uint16_t #include "struct_vect_1_run.c" diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3.c index a3e49a5fe06..6bda6136c99 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3.c @@ -1,7 +1,7 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned int +#define TYPE uint32_t #include "struct_vect_1.c" /* { dg-final { scan-assembler {\tld2w\t{z[0-9]+.s - z[0-9]+.s}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3_run.c index 03ffc7a2a17..22d03f9495e 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_3_run.c @@ -1,5 +1,5 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned int +#define TYPE uint32_t #include "struct_vect_1_run.c" diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4.c index fcd6476a718..4682d7e00b7 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4.c @@ -1,7 +1,7 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned long +#define TYPE uint64_t #include "struct_vect_1.c" /* { dg-final { scan-assembler {\tld2d\t{z[0-9]+.d - z[0-9]+.d}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4_run.c index 15238b44b5c..95139406240 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_4_run.c @@ -1,5 +1,5 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned long +#define TYPE uint64_t #include "struct_vect_1_run.c" diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_7.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_7.c index 203a9786098..b741901499d 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_7.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_7.c @@ -1,9 +1,11 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ +#include + #ifndef TYPE -#define TYPE unsigned char -#define ITYPE signed char +#define TYPE uint8_t +#define ITYPE int8_t #endif void __attribute__ ((noinline, noclone)) diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8.c index 0905bfdaecd..07e389438e2 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8.c @@ -1,8 +1,8 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned short -#define ITYPE short +#define TYPE uint16_t +#define ITYPE int16_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2h\t{z[0-9]+.h - z[0-9]+.h}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8_run.c index 3e360d81451..c9569717b88 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_8_run.c @@ -1,6 +1,6 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned short -#define ITYPE short +#define TYPE uint16_t +#define ITYPE int16_t #include "struct_vect_7_run.c" diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9.c index b6bc5c0b6a2..2fbcc9289ee 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9.c @@ -1,8 +1,8 @@ /* { dg-do assemble { target aarch64_asm_sve_ok } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned int -#define ITYPE int +#define TYPE uint32_t +#define ITYPE int32_t #include "struct_vect_7.c" /* { dg-final { scan-assembler {\tld2w\t{z[0-9]+.s - z[0-9]+.s}, p[0-7]/z, \[x[0-9]+\]\n} } } */ diff --git a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9_run.c b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9_run.c index 3588b26bd56..f8987725599 100644 --- a/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9_run.c +++ b/gcc/testsuite/gcc.target/aarch64/sve/struct_vect_9_run.c @@ -1,6 +1,6 @@ /* { dg-do run { target aarch64_sve_hw } } */ /* { dg-options "-O2 -ftree-vectorize --save-temps" } */ -#define TYPE unsigned int -#define ITYPE int +#define TYPE uint32_t +#define ITYPE int32_t #include "struct_vect_7_run.c" -- 2.30.2