Message ID | patch-15017-tamar@arm.com |
---|---|
State | New |
Headers | show |
Series | testsuite: Add more guards to complex tests | expand |
On Thu, 4 Nov 2021, Tamar Christina wrote: > Hi All, > > This test hopefully fixes all the remaining target specific test issues by > > 1: Unrolling all add testcases by 16 using pragma GCC unroll > 2. On armhf use Adv.SIMD instead of MVE to test. MVE's autovec is too incomplete > to be a general test target. > 3. Add appropriate vect_<type> and float<size> guards on testcases. > > Regtested on aarch64-none-linux-gnu, arm-none-linux-gnueabihf > x86_64-pc-linux-gnu, i368-pc-linux-gnu and no regressions. > > Ok for master? OK. Thanks, Richard. > Thanks, > Tamar > > gcc/testsuite/ChangeLog: > > PR testsuite/103042 > * gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c: Update guards. > * gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c: Likewise. > * gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c: Likewise. > * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c: > Likewise. > * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c: > Likewise. > * gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c: > Likewise. > * gcc.dg/vect/complex/complex-add-pattern-template.c: Likewise. > * gcc.dg/vect/complex/complex-add-template.c: Likewise. > * gcc.dg/vect/complex/complex-operations-run.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c: > Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c: > Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c: > Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c: > Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c: > Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c: > Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c: > Likewise. > * gcc.dg/vect/complex/fast-math-complex-add-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-add-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-add-half-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c: > Likewise. > * gcc.dg/vect/complex/fast-math-complex-mla-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-mla-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-mla-half-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-mls-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-mls-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-mls-half-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-mul-double.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-mul-float.c: Likewise. > * gcc.dg/vect/complex/fast-math-complex-mul-half-float.c: Likewise. > * gcc.dg/vect/complex/vect-complex-add-pattern-byte.c: Likewise. > * gcc.dg/vect/complex/vect-complex-add-pattern-int.c: Likewise. > * gcc.dg/vect/complex/vect-complex-add-pattern-long.c: Likewise. > * gcc.dg/vect/complex/vect-complex-add-pattern-short.c: Likewise. > * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c: > Likewise. > * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c: > Likewise. > * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c: > Likewise. > * gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c: > Likewise. > > --- inline copy of patch -- > diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c > index 0f01efb49b544c4f849057b0cecbc42b3acea41b..cead05f1cc4e02790630a6cbfe8378c2de3778f3 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c > @@ -1,6 +1,7 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_int } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > > #define TYPE int32_t > @@ -9,6 +10,6 @@ > #include "complex-add-pattern-template.c" > > /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_byte } } } } */ > -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_int && !arch64_sve2 } } } } */ > +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_int } && ! target { aarch64_sve2 } } } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c > index ccf165176cad5a13b7cdee78ab4a30830eb492f5..6ed561a00416b5aef2e514820ab94489df7aa86b 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c > @@ -1,7 +1,10 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_long } */ > +/* { dg-require-effective-target vect_long } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > + > +#define UNROLL > > #define TYPE int64_t > #define N 16 > @@ -9,7 +12,7 @@ > #include "complex-add-pattern-template.c" > > /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_long } } } } */ > -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_long && !arch64_sve2 } } } } */ > +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_long } && ! target { aarch64_sve2 } } } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c > index 3aaa70b23b67f53d3614ecb34bf8e6eb0f206b6d..8928386a5174154719fbc86c6f11d5f886cf1f4a 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c > @@ -1,7 +1,10 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > +/* { dg-require-effective-target vect_int } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > + > +#define UNROLL > > #define TYPE int16_t > #define N 16 > @@ -9,6 +12,6 @@ > #include "complex-add-pattern-template.c" > > /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_short } } } } */ > -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_short && !arch64_sve2 } } } } */ > +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_short } && ! target { aarch64_sve2 } } } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c > index a6fd31d967b372328792d07aa52ae1f684132fa0..4ab4b9a446a8f13c052a569aa694016b22bb2b3b 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c > @@ -1,7 +1,10 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > +/* { dg-require-effective-target vect_int } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > + > +#define UNROLL > > #define TYPE uint32_t > #define N 16 > @@ -9,6 +12,6 @@ > #include "complex-add-pattern-template.c" > > /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_int } } } } */ > -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_int && !arch64_sve2 } } } } */ > +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_int } && ! target { aarch64_sve2 } } } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c > index a2a1b7a7e40408752dc03dfeccf2c263f39a91a0..4976bf5e50d493f0ec733d783dd4b4b7902d05ed 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c > @@ -1,7 +1,10 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > +/* { dg-require-effective-target vect_long } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > + > +#define UNROLL > > #define TYPE uint64_t > #define N 16 > @@ -9,6 +12,6 @@ > #include "complex-add-pattern-template.c" > > /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_long } } } } */ > -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_long && !arch64_sve2 } } } } */ > +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_long } && ! target { aarch64_sve2 } } } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c > index 938f9f7d1350ab7d8f5c45994f1486d8e793f2a6..8846c9889fb64cdba614553e70052901039f1752 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c > @@ -1,7 +1,10 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > +/* { dg-require-effective-target vect_int } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > + > +#define UNROLL > > #define TYPE uint16_t > #define N 16 > @@ -9,6 +12,6 @@ > #include "complex-add-pattern-template.c" > > /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_short } } } } */ > -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_short && !arch64_sve2 } } } } */ > +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_short } && ! target { aarch64_sve2 } } } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ > /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c b/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c > index a99a9296194472c42fed84376c4a48853073c7fd..658af294f1c81ab28fb961202e165ea8813dff88 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c > @@ -1,5 +1,8 @@ > void add90 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i+=2) > { > c[i] = a[i] - b[i+1]; > @@ -11,6 +14,9 @@ void add90 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) > > void add270 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i+=2) > { > c[i] = a[i] + b[i+1]; > @@ -22,6 +28,9 @@ void add270 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) > > void addMixed (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i+=4) > { > c[i] = a[i] - b[i+1]; > @@ -34,6 +43,9 @@ void addMixed (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) > void add90HandUnrolled (TYPE a[restrict N], TYPE b[restrict N], > TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < (N /2); i+=4) > { > c[i] = a[i] - b[i+1]; > @@ -48,6 +60,9 @@ void add90HandUnrolled (TYPE a[restrict N], TYPE b[restrict N], > void add90Hybrid (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N], > TYPE d[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i+=2) > { > c[i] = a[i] - b[i+1]; > @@ -57,4 +72,4 @@ void add90Hybrid (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N], > } > } > > -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 2 "vect" } } */ > \ No newline at end of file > +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 2 "vect" } } */ > diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c b/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c > index 32c81e64f627b0f529e6a9129bd7ceeff727a662..f37ab98813faebfbde96fedf647099468609bfd4 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c > @@ -3,6 +3,9 @@ > void add0 (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = a[i] + b[i]; > } > @@ -10,6 +13,9 @@ void add0 (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void add90snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = a[i] + (b[i] * I); > } > @@ -19,6 +25,9 @@ void add90snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void add180snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = a[i] + (b[i] * I * I); > } > @@ -26,6 +35,9 @@ void add180snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void add270snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = a[i] + (b[i] * I * I * I); > } > @@ -35,6 +47,9 @@ void add270snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void add90fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = (a[i] * I) + b[i]; > } > @@ -44,6 +59,9 @@ void add90fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void add180fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = (a[i] * I * I) + b[i]; > } > @@ -51,6 +69,9 @@ void add180fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void add270fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = (a[i] * I * I * I) + b[i]; > } > @@ -60,6 +81,9 @@ void add270fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void addconjfst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = ~a[i] + b[i]; > } > @@ -67,6 +91,9 @@ void addconjfst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void addconjsnd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = a[i] + ~b[i]; > } > @@ -74,6 +101,9 @@ void addconjsnd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > void addconjboth (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], > _Complex TYPE c[restrict N]) > { > +#if defined (UNROLL) > +#pragma GCC unroll 16 > +#endif > for (int i=0; i < N; i++) > c[i] = ~a[i] + ~b[i]; > } > diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c > index a0348a7041ca384104bc5ab688d941c14e5b7381..14ac512a8efa4d9af8cd274d995a8e642ac9f10f 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c > @@ -1,7 +1,7 @@ > /* { dg-do run } */ > /* { dg-require-effective-target vect_complex_add_double } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > > #include <stdio.h> > #include <complex.h> > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c > index 23f179a55dcf77c7cfa8f55f748c9973b5e9c646..2e611b77c7631b305d79fe21c4b95c8593dcc369 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c > @@ -1,8 +1,9 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_double } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-additional-options "-fno-tree-loop-vectorize -funroll-loops" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-additional-options "-fno-tree-loop-vectorize" } */ > + > +#define UNROLL > > #define TYPE double > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c > index cc7715160981274605b4ab21e7db33fdb373e04d..1e63a5f2c5e1a478ae9ea1f49c6eb21665cfca8c 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c > @@ -1,8 +1,9 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-additional-options "-fno-tree-loop-vectorize -funroll-loops" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-additional-options "-fno-tree-loop-vectorize" } */ > + > +#define UNROLL > > #define TYPE float > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c > index dc8c6bd6d0882c7fccde71c323b8bde89c2410af..0ae49c16438c503ad59010a9b170e54764419c36 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c > @@ -1,8 +1,8 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_half } */ > +/* { dg-require-effective-target float16 } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c > index c79cc3b7365d8ad4a33366df275f9c8adddd1c97..3f5619b78ce55c83df07f22dfe58fbb6f56e66ac 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c > @@ -1,7 +1,10 @@ > /* { dg-do compile } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_double } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > + > +#define UNROLL > > #define TYPE double > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c > index fb6a1676fb4b7a766088dcec42a3a2465c3e11f9..a961a852775f29ade98d61100358cc36c394f3de 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c > @@ -1,8 +1,9 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_float } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-additional-options "-fno-tree-loop-vectorize -funroll-loops" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-additional-options "-fno-tree-loop-vectorize" } */ > + > +#define UNROLL > > #define TYPE float > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c > index 4bb106a3d520c6ab2a322cc463f6a7f5c5238f95..885fd97c5d23eb5a53f358bb5d64625805704966 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c > @@ -1,8 +1,10 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_half } */ > +/* { dg-require-effective-target float16 } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-additional-options "-fno-tree-loop-vectorize -funroll-loops" } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-additional-options "-fno-tree-loop-vectorize" } */ > + > +#define UNROLL > > #define TYPE _Float16 > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c > index 99f0a5e67994f112e36a01918ac50670d302e063..462063abc3041d466e8b0261252054a46ef48e15 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c > @@ -1,7 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_double } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE double > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c > index bc84cedb80129d0e0a99caa3ea463d26a7511c17..a88adc8184ece3d6d61c66a42233fde0f1721a78 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c > @@ -2,7 +2,6 @@ > /* { dg-require-effective-target vect_complex_add_float } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE float > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c > index 0fbd9172c2f3f1efb2dae2307292b5d1a7f6d80a..510092028d5697b4f48ed4e3d60d586988671d02 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c > @@ -1,8 +1,8 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_half } */ > +/* { dg-require-effective-target float16 } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c > index b74ed8e1f64b3051ae423ae367b36759605ca5a6..a434fd1f1d3235392a0240b5861c85d39c48d551 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c > @@ -1,7 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_double } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE double > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c > index 0ae3b7ee4e40cba72820d5161fa8d5b907e7799b..b7ccbbdb75743182022465243efcb128ef97fd0c 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c > @@ -2,7 +2,6 @@ > /* { dg-require-effective-target vect_complex_add_float } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE float > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c > index 727bae51778ca175eb6134f3823e6716002d315e..217401bae59e658c1f920c4619f0858c95cc3322 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c > @@ -1,8 +1,8 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_half } */ > +/* { dg-require-effective-target float16 } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c > index 33f194b309501ae00f6f970fa8e8e04d618b3f75..f7e9386334e1b259d43d35f4bc6b79010d020e6a 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c > @@ -1,7 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_double } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE double > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c > index 020336649364526142bf1d59673cc82903858871..0dc9c52555640c34f794e0f57c04f3ea0510fdc9 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c > @@ -2,7 +2,6 @@ > /* { dg-require-effective-target vect_complex_add_float } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE float > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c > index 332cc51e70287ee4c51e7c91f6373f13c0e4d9cc..309b168dfb0813aea39e144813325e4e0910c77c 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c > @@ -1,8 +1,8 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_half } */ > +/* { dg-require-effective-target float16 } */ > /* { dg-additional-options "-fno-tree-loop-vectorize" } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 16 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c > index 5c51d232d791b987930a30583f0f4b7645e1865f..f935405e3d942cc68e49b2b21ca543e23076e0c9 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c > @@ -1,6 +1,6 @@ > /* { dg-do compile } */ > +/* { dg-require-effective-target vect_double } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE double > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c > index 2850aca29ee54d67af2f3e723798124f3e109adc..71f391db7bba8ac7c4ce090f650c32d9180ee4f9 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c > @@ -1,6 +1,6 @@ > /* { dg-do compile } */ > +/* { dg-require-effective-target vect_float } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE float > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c > index d2de8501493be432252d52acc87165451082c570..e5b826f1ca77d262c7d0a39b6b8446255a9dea36 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c > @@ -1,6 +1,6 @@ > /* { dg-do compile } */ > +/* { dg-require-effective-target float16 } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c > index c2365045d771a191686f698efc8fca26574c9ec3..5b70d834c2435c316bdbf119a1e2ace15f68b8e7 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c > @@ -1,6 +1,6 @@ > /* { dg-do compile } */ > +/* { dg-require-effective-target vect_double } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE double > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c > index 2db785195acc86dc377bd61ea46b415ab940690b..3ef05645a2c95ab2269276bd23f2db2afd016c1a 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c > @@ -1,6 +1,6 @@ > /* { dg-do compile } */ > +/* { dg-require-effective-target vect_float } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE float > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c > index 094aecd959e117d7530c01db4eb4c3de5255ca6c..06a9216add747ab2880f92828483333dabb30496 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c > @@ -1,6 +1,7 @@ > /* { dg-do compile } */ > +/* { dg-require-effective-target vect_float } */ > +/* { dg-require-effective-target float16 } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-double.c > index 8fe90fe0c0e27c5794222d566611ac6cca75bd23..3ec46e5cf6694e0ccf23d6e7db094a9df996afbd 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-double.c > @@ -1,7 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_double } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE double > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-float.c > index d8ef7068887c89099aca4e2a5cac2078a1edfdb6..af59323023a6a15340ded60155f130671d840f68 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-float.c > @@ -1,7 +1,6 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target vect_complex_add_float } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE float > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c > index 7fa5150df022890330644c0be58471480364abac..34146f3d1e7f123231c7f39ccfa1aba832ee87ca 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c > @@ -1,6 +1,5 @@ > /* { dg-do compile } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c > index 2648e7874ab2b0ea3cf8c6f2f5957badf04595ad..0982a2b8ead9bec96f6dcbceaeac9c2ebcbda300 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c > @@ -1,6 +1,5 @@ > /* { dg-do compile } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE double > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c > index f9e285c2b92e507ab192ef82e6de1023a3254c95..a069533b22a64f62bd8dd6b6bdd3b771c7b7ea4d 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c > @@ -1,6 +1,5 @@ > /* { dg-do compile } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE float > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c > index 88f8215e7a42e916bd1f33d310603c3c926844ec..89ac54c2a42a114a1afb6dead0504b04c37c3f98 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c > @@ -1,6 +1,5 @@ > /* { dg-do compile } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c > index 67d1acf340c5ac59fd86b2b039f82da50c76cfe1..56a8ea4ae0232cb3051a780157902fdb03a9e942 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c > @@ -1,6 +1,5 @@ > /* { dg-do compile } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE double > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c > index 05740f23758c8852b4894ddffa4a256c29a41e78..969416d7dc7779ee6feaa8e069a1a3687dd53559 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c > @@ -1,6 +1,5 @@ > /* { dg-do compile } */ > /* { dg-add-options arm_v8_3a_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE float > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c > index 3d8f6851faa478f8c1a09816f34b09e863e59668..da1b9213a6b3e1df4fdc4ecf6ffbf3645975a5ba 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c > @@ -1,6 +1,5 @@ > /* { dg-do compile } */ > /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > > #define TYPE _Float16 > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c > index de065150325c2dbf6dc87434ca504f072626a08e..bf7c135fa1a8ccf7cf23c783e8572c8d12f245bd 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c > @@ -1,6 +1,7 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_int } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > > #define TYPE int8_t > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c > index 2b10bab8a5ae6036e55044f7e611a1e1bfde2a3f..2fd2a9f0617ab1d741826970d0db6ed9a8f393ec 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c > @@ -1,6 +1,7 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_int } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > > #define TYPE int32_t > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c > index ad045b1cf3657db32d7ebb577e57ff4f4692abb0..11a6f53ccebe685058fd486be06b9f3574531f86 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c > @@ -1,6 +1,9 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_long } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > + > +#define UNROLL > > #define TYPE int64_t > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c > index 81f0f7124bf9219a8cab8e56a52766d081039779..8cbb8ac0c19061e7fe4d2978bccc24df0990d540 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c > @@ -1,6 +1,7 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_int } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > > #define TYPE int16_t > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c > index d0a73a18cd54dc3a1b6b701c2a51df08e130e14c..9477f0d92d8f8f761d84916677ecce9f2a5c6fee 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c > @@ -1,6 +1,7 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_int } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > > #define TYPE uint8_t > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c > index fe7f605503fba66300a871567452b60025accb2c..41f60042ee9a32c26831d1d415f6a2b4a1b20777 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c > @@ -1,6 +1,7 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_int } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > > #define TYPE uint32_t > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c > index f52e7391f8bc4029def1cfc73e478bce2affe44a..796dabdb9ba9fbb2b9f1242e0f8e0efe52614f8b 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c > @@ -1,6 +1,9 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_long } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > + > +#define UNROLL > > #define TYPE uint64_t > #define N 200 > diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c > index c6794cde224ce989cb2665273d4bf884a065cffa..6260be4d12161b9d25d5fecd9fd13b1ba0c76dbd 100644 > --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c > +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c > @@ -1,6 +1,7 @@ > /* { dg-do compile } */ > /* { dg-require-effective-target stdint_types } */ > -/* { dg-add-options arm_v8_1m_mve_fp } */ > +/* { dg-require-effective-target vect_int } */ > +/* { dg-add-options arm_v8_3a_complex_neon } */ > > #define TYPE uint16_t > #define N 200 > > >
diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c index 0f01efb49b544c4f849057b0cecbc42b3acea41b..cead05f1cc4e02790630a6cbfe8378c2de3778f3 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-int.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ #define TYPE int32_t @@ -9,6 +10,6 @@ #include "complex-add-pattern-template.c" /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_byte } } } } */ -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_int && !arch64_sve2 } } } } */ +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_int } && ! target { aarch64_sve2 } } } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c index ccf165176cad5a13b7cdee78ab4a30830eb492f5..6ed561a00416b5aef2e514820ab94489df7aa86b 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-long.c @@ -1,7 +1,10 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_long } */ +/* { dg-require-effective-target vect_long } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ + +#define UNROLL #define TYPE int64_t #define N 16 @@ -9,7 +12,7 @@ #include "complex-add-pattern-template.c" /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_long } } } } */ -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_long && !arch64_sve2 } } } } */ +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_long } && ! target { aarch64_sve2 } } } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c index 3aaa70b23b67f53d3614ecb34bf8e6eb0f206b6d..8928386a5174154719fbc86c6f11d5f886cf1f4a 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-short.c @@ -1,7 +1,10 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ +/* { dg-require-effective-target vect_int } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ + +#define UNROLL #define TYPE int16_t #define N 16 @@ -9,6 +12,6 @@ #include "complex-add-pattern-template.c" /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_short } } } } */ -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_short && !arch64_sve2 } } } } */ +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_short } && ! target { aarch64_sve2 } } } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c index a6fd31d967b372328792d07aa52ae1f684132fa0..4ab4b9a446a8f13c052a569aa694016b22bb2b3b 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-int.c @@ -1,7 +1,10 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ +/* { dg-require-effective-target vect_int } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ + +#define UNROLL #define TYPE uint32_t #define N 16 @@ -9,6 +12,6 @@ #include "complex-add-pattern-template.c" /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_int } } } } */ -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_int && !arch64_sve2 } } } } */ +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_int } && ! target { aarch64_sve2 } } } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c index a2a1b7a7e40408752dc03dfeccf2c263f39a91a0..4976bf5e50d493f0ec733d783dd4b4b7902d05ed 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-long.c @@ -1,7 +1,10 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ +/* { dg-require-effective-target vect_long } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ + +#define UNROLL #define TYPE uint64_t #define N 16 @@ -9,6 +12,6 @@ #include "complex-add-pattern-template.c" /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_long } } } } */ -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_long && !arch64_sve2 } } } } */ +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_long } && ! target { aarch64_sve2 } } } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c index 938f9f7d1350ab7d8f5c45994f1486d8e793f2a6..8846c9889fb64cdba614553e70052901039f1752 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c +++ b/gcc/testsuite/gcc.dg/vect/complex/bb-slp-complex-add-pattern-unsigned-short.c @@ -1,7 +1,10 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ +/* { dg-require-effective-target vect_int } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ + +#define UNROLL #define TYPE uint16_t #define N 16 @@ -9,6 +12,6 @@ #include "complex-add-pattern-template.c" /* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 1 "slp1" { target { vect_complex_add_short } } } } */ -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_short && !arch64_sve2 } } } } */ +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT270" 1 "slp1" { target { vect_complex_add_short } && ! target { aarch64_sve2 } } } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT270" "slp1" } } */ /* { dg-final { scan-tree-dump "Found COMPLEX_ADD_ROT90" "slp1" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c b/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c index a99a9296194472c42fed84376c4a48853073c7fd..658af294f1c81ab28fb961202e165ea8813dff88 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-add-pattern-template.c @@ -1,5 +1,8 @@ void add90 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i+=2) { c[i] = a[i] - b[i+1]; @@ -11,6 +14,9 @@ void add90 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) void add270 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i+=2) { c[i] = a[i] + b[i+1]; @@ -22,6 +28,9 @@ void add270 (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) void addMixed (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i+=4) { c[i] = a[i] - b[i+1]; @@ -34,6 +43,9 @@ void addMixed (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) void add90HandUnrolled (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < (N /2); i+=4) { c[i] = a[i] - b[i+1]; @@ -48,6 +60,9 @@ void add90HandUnrolled (TYPE a[restrict N], TYPE b[restrict N], void add90Hybrid (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N], TYPE d[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i+=2) { c[i] = a[i] - b[i+1]; @@ -57,4 +72,4 @@ void add90Hybrid (TYPE a[restrict N], TYPE b[restrict N], TYPE c[restrict N], } } -/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 2 "vect" } } */ \ No newline at end of file +/* { dg-final { scan-tree-dump-times "stmt.*COMPLEX_ADD_ROT90" 2 "vect" } } */ diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c b/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c index 32c81e64f627b0f529e6a9129bd7ceeff727a662..f37ab98813faebfbde96fedf647099468609bfd4 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-add-template.c @@ -3,6 +3,9 @@ void add0 (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = a[i] + b[i]; } @@ -10,6 +13,9 @@ void add0 (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void add90snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = a[i] + (b[i] * I); } @@ -19,6 +25,9 @@ void add90snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void add180snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = a[i] + (b[i] * I * I); } @@ -26,6 +35,9 @@ void add180snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void add270snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = a[i] + (b[i] * I * I * I); } @@ -35,6 +47,9 @@ void add270snd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void add90fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = (a[i] * I) + b[i]; } @@ -44,6 +59,9 @@ void add90fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void add180fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = (a[i] * I * I) + b[i]; } @@ -51,6 +69,9 @@ void add180fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void add270fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = (a[i] * I * I * I) + b[i]; } @@ -60,6 +81,9 @@ void add270fst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void addconjfst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = ~a[i] + b[i]; } @@ -67,6 +91,9 @@ void addconjfst (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void addconjsnd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = a[i] + ~b[i]; } @@ -74,6 +101,9 @@ void addconjsnd (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], void addconjboth (_Complex TYPE a[restrict N], _Complex TYPE b[restrict N], _Complex TYPE c[restrict N]) { +#if defined (UNROLL) +#pragma GCC unroll 16 +#endif for (int i=0; i < N; i++) c[i] = ~a[i] + ~b[i]; } diff --git a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c index a0348a7041ca384104bc5ab688d941c14e5b7381..14ac512a8efa4d9af8cd274d995a8e642ac9f10f 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c +++ b/gcc/testsuite/gcc.dg/vect/complex/complex-operations-run.c @@ -1,7 +1,7 @@ /* { dg-do run } */ /* { dg-require-effective-target vect_complex_add_double } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ #include <stdio.h> #include <complex.h> diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c index 23f179a55dcf77c7cfa8f55f748c9973b5e9c646..2e611b77c7631b305d79fe21c4b95c8593dcc369 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-double.c @@ -1,8 +1,9 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_double } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-additional-options "-fno-tree-loop-vectorize -funroll-loops" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-additional-options "-fno-tree-loop-vectorize" } */ + +#define UNROLL #define TYPE double #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c index cc7715160981274605b4ab21e7db33fdb373e04d..1e63a5f2c5e1a478ae9ea1f49c6eb21665cfca8c 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-float.c @@ -1,8 +1,9 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_float } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-additional-options "-fno-tree-loop-vectorize -funroll-loops" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-additional-options "-fno-tree-loop-vectorize" } */ + +#define UNROLL #define TYPE float #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c index dc8c6bd6d0882c7fccde71c323b8bde89c2410af..0ae49c16438c503ad59010a9b170e54764419c36 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-half-float.c @@ -1,8 +1,8 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_half } */ +/* { dg-require-effective-target float16 } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c index c79cc3b7365d8ad4a33366df275f9c8adddd1c97..3f5619b78ce55c83df07f22dfe58fbb6f56e66ac 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-double.c @@ -1,7 +1,10 @@ /* { dg-do compile } */ /* { dg-add-options arm_v8_3a_complex_neon } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_double } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ + +#define UNROLL #define TYPE double #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c index fb6a1676fb4b7a766088dcec42a3a2465c3e11f9..a961a852775f29ade98d61100358cc36c394f3de 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-float.c @@ -1,8 +1,9 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_float } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-additional-options "-fno-tree-loop-vectorize -funroll-loops" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-additional-options "-fno-tree-loop-vectorize" } */ + +#define UNROLL #define TYPE float #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c index 4bb106a3d520c6ab2a322cc463f6a7f5c5238f95..885fd97c5d23eb5a53f358bb5d64625805704966 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-add-pattern-half-float.c @@ -1,8 +1,10 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_half } */ +/* { dg-require-effective-target float16 } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-additional-options "-fno-tree-loop-vectorize -funroll-loops" } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-additional-options "-fno-tree-loop-vectorize" } */ + +#define UNROLL #define TYPE _Float16 #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c index 99f0a5e67994f112e36a01918ac50670d302e063..462063abc3041d466e8b0261252054a46ef48e15 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-double.c @@ -1,7 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_double } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE double #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c index bc84cedb80129d0e0a99caa3ea463d26a7511c17..a88adc8184ece3d6d61c66a42233fde0f1721a78 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-float.c @@ -2,7 +2,6 @@ /* { dg-require-effective-target vect_complex_add_float } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE float #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c index 0fbd9172c2f3f1efb2dae2307292b5d1a7f6d80a..510092028d5697b4f48ed4e3d60d586988671d02 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mla-half-float.c @@ -1,8 +1,8 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_half } */ +/* { dg-require-effective-target float16 } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c index b74ed8e1f64b3051ae423ae367b36759605ca5a6..a434fd1f1d3235392a0240b5861c85d39c48d551 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-double.c @@ -1,7 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_double } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE double #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c index 0ae3b7ee4e40cba72820d5161fa8d5b907e7799b..b7ccbbdb75743182022465243efcb128ef97fd0c 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-float.c @@ -2,7 +2,6 @@ /* { dg-require-effective-target vect_complex_add_float } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE float #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c index 727bae51778ca175eb6134f3823e6716002d315e..217401bae59e658c1f920c4619f0858c95cc3322 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mls-half-float.c @@ -1,8 +1,8 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_half } */ +/* { dg-require-effective-target float16 } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c index 33f194b309501ae00f6f970fa8e8e04d618b3f75..f7e9386334e1b259d43d35f4bc6b79010d020e6a 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-double.c @@ -1,7 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_double } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE double #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c index 020336649364526142bf1d59673cc82903858871..0dc9c52555640c34f794e0f57c04f3ea0510fdc9 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-float.c @@ -2,7 +2,6 @@ /* { dg-require-effective-target vect_complex_add_float } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE float #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c index 332cc51e70287ee4c51e7c91f6373f13c0e4d9cc..309b168dfb0813aea39e144813325e4e0910c77c 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-bb-slp-complex-mul-half-float.c @@ -1,8 +1,8 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_half } */ +/* { dg-require-effective-target float16 } */ /* { dg-additional-options "-fno-tree-loop-vectorize" } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 16 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c index 5c51d232d791b987930a30583f0f4b7645e1865f..f935405e3d942cc68e49b2b21ca543e23076e0c9 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-double.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ +/* { dg-require-effective-target vect_double } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE double #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c index 2850aca29ee54d67af2f3e723798124f3e109adc..71f391db7bba8ac7c4ce090f650c32d9180ee4f9 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-float.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ +/* { dg-require-effective-target vect_float } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE float #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c index d2de8501493be432252d52acc87165451082c570..e5b826f1ca77d262c7d0a39b6b8446255a9dea36 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-half-float.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ +/* { dg-require-effective-target float16 } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c index c2365045d771a191686f698efc8fca26574c9ec3..5b70d834c2435c316bdbf119a1e2ace15f68b8e7 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-double.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ +/* { dg-require-effective-target vect_double } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE double #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c index 2db785195acc86dc377bd61ea46b415ab940690b..3ef05645a2c95ab2269276bd23f2db2afd016c1a 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-float.c @@ -1,6 +1,6 @@ /* { dg-do compile } */ +/* { dg-require-effective-target vect_float } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE float #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c index 094aecd959e117d7530c01db4eb4c3de5255ca6c..06a9216add747ab2880f92828483333dabb30496 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-add-pattern-half-float.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ +/* { dg-require-effective-target vect_float } */ +/* { dg-require-effective-target float16 } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-double.c index 8fe90fe0c0e27c5794222d566611ac6cca75bd23..3ec46e5cf6694e0ccf23d6e7db094a9df996afbd 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-double.c @@ -1,7 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_double } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE double #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-float.c index d8ef7068887c89099aca4e2a5cac2078a1edfdb6..af59323023a6a15340ded60155f130671d840f68 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-float.c @@ -1,7 +1,6 @@ /* { dg-do compile } */ /* { dg-require-effective-target vect_complex_add_float } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE float #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c index 7fa5150df022890330644c0be58471480364abac..34146f3d1e7f123231c7f39ccfa1aba832ee87ca 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mla-half-float.c @@ -1,6 +1,5 @@ /* { dg-do compile } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c index 2648e7874ab2b0ea3cf8c6f2f5957badf04595ad..0982a2b8ead9bec96f6dcbceaeac9c2ebcbda300 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-double.c @@ -1,6 +1,5 @@ /* { dg-do compile } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE double #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c index f9e285c2b92e507ab192ef82e6de1023a3254c95..a069533b22a64f62bd8dd6b6bdd3b771c7b7ea4d 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-float.c @@ -1,6 +1,5 @@ /* { dg-do compile } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE float #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c index 88f8215e7a42e916bd1f33d310603c3c926844ec..89ac54c2a42a114a1afb6dead0504b04c37c3f98 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mls-half-float.c @@ -1,6 +1,5 @@ /* { dg-do compile } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c index 67d1acf340c5ac59fd86b2b039f82da50c76cfe1..56a8ea4ae0232cb3051a780157902fdb03a9e942 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-double.c @@ -1,6 +1,5 @@ /* { dg-do compile } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE double #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c index 05740f23758c8852b4894ddffa4a256c29a41e78..969416d7dc7779ee6feaa8e069a1a3687dd53559 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-float.c @@ -1,6 +1,5 @@ /* { dg-do compile } */ /* { dg-add-options arm_v8_3a_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE float #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c index 3d8f6851faa478f8c1a09816f34b09e863e59668..da1b9213a6b3e1df4fdc4ecf6ffbf3645975a5ba 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c +++ b/gcc/testsuite/gcc.dg/vect/complex/fast-math-complex-mul-half-float.c @@ -1,6 +1,5 @@ /* { dg-do compile } */ /* { dg-add-options arm_v8_3a_fp16_complex_neon } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ #define TYPE _Float16 #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c index de065150325c2dbf6dc87434ca504f072626a08e..bf7c135fa1a8ccf7cf23c783e8572c8d12f245bd 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-byte.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ #define TYPE int8_t #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c index 2b10bab8a5ae6036e55044f7e611a1e1bfde2a3f..2fd2a9f0617ab1d741826970d0db6ed9a8f393ec 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-int.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ #define TYPE int32_t #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c index ad045b1cf3657db32d7ebb577e57ff4f4692abb0..11a6f53ccebe685058fd486be06b9f3574531f86 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-long.c @@ -1,6 +1,9 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_long } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ + +#define UNROLL #define TYPE int64_t #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c index 81f0f7124bf9219a8cab8e56a52766d081039779..8cbb8ac0c19061e7fe4d2978bccc24df0990d540 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-short.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ #define TYPE int16_t #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c index d0a73a18cd54dc3a1b6b701c2a51df08e130e14c..9477f0d92d8f8f761d84916677ecce9f2a5c6fee 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-byte.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ #define TYPE uint8_t #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c index fe7f605503fba66300a871567452b60025accb2c..41f60042ee9a32c26831d1d415f6a2b4a1b20777 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-int.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ #define TYPE uint32_t #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c index f52e7391f8bc4029def1cfc73e478bce2affe44a..796dabdb9ba9fbb2b9f1242e0f8e0efe52614f8b 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-long.c @@ -1,6 +1,9 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_long } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ + +#define UNROLL #define TYPE uint64_t #define N 200 diff --git a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c index c6794cde224ce989cb2665273d4bf884a065cffa..6260be4d12161b9d25d5fecd9fd13b1ba0c76dbd 100644 --- a/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c +++ b/gcc/testsuite/gcc.dg/vect/complex/vect-complex-add-pattern-unsigned-short.c @@ -1,6 +1,7 @@ /* { dg-do compile } */ /* { dg-require-effective-target stdint_types } */ -/* { dg-add-options arm_v8_1m_mve_fp } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-add-options arm_v8_3a_complex_neon } */ #define TYPE uint16_t #define N 200