From 5914a7b5c637c9007283226f200dcab8b745abc8 Mon Sep 17 00:00:00 2001 From: Tamar Christina Date: Thu, 4 Nov 2021 13:43:36 +0000 Subject: [PATCH] testsuite: Add more guards to complex tests 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_ and float guards on testcases. 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. --- .../vect/complex/bb-slp-complex-add-pattern-int.c | 5 ++-- .../vect/complex/bb-slp-complex-add-pattern-long.c | 7 +++-- .../complex/bb-slp-complex-add-pattern-short.c | 7 +++-- .../bb-slp-complex-add-pattern-unsigned-int.c | 7 +++-- .../bb-slp-complex-add-pattern-unsigned-long.c | 7 +++-- .../bb-slp-complex-add-pattern-unsigned-short.c | 7 +++-- .../vect/complex/complex-add-pattern-template.c | 17 +++++++++++- .../gcc.dg/vect/complex/complex-add-template.c | 30 ++++++++++++++++++++++ .../gcc.dg/vect/complex/complex-operations-run.c | 2 +- .../complex/fast-math-bb-slp-complex-add-double.c | 5 ++-- .../complex/fast-math-bb-slp-complex-add-float.c | 5 ++-- .../fast-math-bb-slp-complex-add-half-float.c | 2 +- .../fast-math-bb-slp-complex-add-pattern-double.c | 5 +++- .../fast-math-bb-slp-complex-add-pattern-float.c | 5 ++-- ...st-math-bb-slp-complex-add-pattern-half-float.c | 6 +++-- .../complex/fast-math-bb-slp-complex-mla-double.c | 1 - .../complex/fast-math-bb-slp-complex-mla-float.c | 1 - .../fast-math-bb-slp-complex-mla-half-float.c | 2 +- .../complex/fast-math-bb-slp-complex-mls-double.c | 1 - .../complex/fast-math-bb-slp-complex-mls-float.c | 1 - .../fast-math-bb-slp-complex-mls-half-float.c | 2 +- .../complex/fast-math-bb-slp-complex-mul-double.c | 1 - .../complex/fast-math-bb-slp-complex-mul-float.c | 1 - .../fast-math-bb-slp-complex-mul-half-float.c | 2 +- .../vect/complex/fast-math-complex-add-double.c | 2 +- .../vect/complex/fast-math-complex-add-float.c | 2 +- .../complex/fast-math-complex-add-half-float.c | 2 +- .../complex/fast-math-complex-add-pattern-double.c | 2 +- .../complex/fast-math-complex-add-pattern-float.c | 2 +- .../fast-math-complex-add-pattern-half-float.c | 3 ++- .../vect/complex/fast-math-complex-mla-double.c | 1 - .../vect/complex/fast-math-complex-mla-float.c | 1 - .../complex/fast-math-complex-mla-half-float.c | 1 - .../vect/complex/fast-math-complex-mls-double.c | 1 - .../vect/complex/fast-math-complex-mls-float.c | 1 - .../complex/fast-math-complex-mls-half-float.c | 1 - .../vect/complex/fast-math-complex-mul-double.c | 1 - .../vect/complex/fast-math-complex-mul-float.c | 1 - .../complex/fast-math-complex-mul-half-float.c | 1 - .../vect/complex/vect-complex-add-pattern-byte.c | 3 ++- .../vect/complex/vect-complex-add-pattern-int.c | 3 ++- .../vect/complex/vect-complex-add-pattern-long.c | 5 +++- .../vect/complex/vect-complex-add-pattern-short.c | 3 ++- .../vect-complex-add-pattern-unsigned-byte.c | 3 ++- .../vect-complex-add-pattern-unsigned-int.c | 3 ++- .../vect-complex-add-pattern-unsigned-long.c | 5 +++- .../vect-complex-add-pattern-unsigned-short.c | 3 ++- 47 files changed, 123 insertions(+), 56 deletions(-) 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 0f01efb..cead05f 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 ccf1651..6ed561a 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 3aaa70b..8928386 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 a6fd31d..4ab4b9a 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 a2a1b7a..4976bf5 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 938f9f7..8846c98 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 a99a929..658af29 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 32c81e6..f37ab98 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 a0348a7..14ac512 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 #include 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 23f179a..2e611b7 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 cc77151..1e63a5f 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 dc8c6bd6..0ae49c1 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 c79cc3b..3f5619b 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 fb6a167..a961a85 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 4bb106a..885fd97 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 99f0a5e..462063a 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 bc84ced..a88adc8 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 0fbd917..5100920 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 b74ed8e..a434fd1 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 0ae3b7e..b7ccbbd 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 727bae5..217401b 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 33f194b..f7e9386 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 0203366..0dc9c52 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 332cc51..309b168 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 5c51d23..f935405 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 2850aca..71f391d 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 d2de850..e5b826f 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 c236504..5b70d83 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 2db7851..3ef0564 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 094aecd..06a9216 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 8fe90fe..3ec46e5 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 d8ef706..af59323 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 7fa5150..34146f3 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 2648e78..0982a2b 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 f9e285c..a069533 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 88f8215..89ac54c 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 67d1acf..56a8ea4 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 05740f2..969416d 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 3d8f685..da1b921 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 de06515..bf7c135 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 2b10bab..2fd2a9f 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 ad045b1..11a6f53 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 81f0f71..8cbb8ac 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 d0a73a1..9477f0d 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 fe7f605..41f6004 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 f52e739..796dabd 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 c6794cd..6260be4 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 -- 2.7.4