ppc: testsuite: bfp: enable float128 for __ieee128
Commit Message
Multiple bfp tests expect -mcpu=power[89] to enable the __ieee128
type, but on targets that #define TARGET_FLOAT128_ENABLE_TYPE 0, that
is not the case. Since they are compile-time tests and effective
target support for powerpc_p9vector_ok is required, adding -mfloat128
is safe. This patch does so, and arranges for the warning raised on
such systems to be pruned.
Tested on x86_64-linux-gnu x ppc64-vx7r2 with gcc-11. Ok to install?
for gcc/testsuite/ChangeLog
* gcc.target/powerpc/bfp/scalar-extract-exp-3.c: Add -mfloat128,
prune warning.
* gcc.target/powerpc/bfp/scalar-extract-exp-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-3.c: Likewise.
* gcc.target/powerpc/bfp/scalar-extract-sig-4.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-10.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-6.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-7.c: Likewise.
* gcc.target/powerpc/bfp/scalar-insert-exp-9.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-10.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-8.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-data-class-9.c: Likewise.
* gcc.target/powerpc/bfp/scalar-test-neg-4.c: Likewise.
---
.../gcc.target/powerpc/bfp/scalar-extract-exp-3.c | 3 ++-
.../gcc.target/powerpc/bfp/scalar-extract-exp-4.c | 3 ++-
.../gcc.target/powerpc/bfp/scalar-extract-sig-3.c | 3 ++-
.../gcc.target/powerpc/bfp/scalar-extract-sig-4.c | 3 ++-
.../gcc.target/powerpc/bfp/scalar-insert-exp-10.c | 3 ++-
.../gcc.target/powerpc/bfp/scalar-insert-exp-6.c | 3 ++-
.../gcc.target/powerpc/bfp/scalar-insert-exp-7.c | 3 ++-
.../gcc.target/powerpc/bfp/scalar-insert-exp-9.c | 3 ++-
.../powerpc/bfp/scalar-test-data-class-10.c | 3 ++-
.../powerpc/bfp/scalar-test-data-class-8.c | 3 ++-
.../powerpc/bfp/scalar-test-data-class-9.c | 3 ++-
.../gcc.target/powerpc/bfp/scalar-test-neg-4.c | 3 ++-
12 files changed, 24 insertions(+), 12 deletions(-)
Comments
On Wed, Apr 13, 2022 at 08:58:18PM -0300, Alexandre Oliva wrote:
>
> Multiple bfp tests expect -mcpu=power[89] to enable the __ieee128
> type, but on targets that #define TARGET_FLOAT128_ENABLE_TYPE 0, that
> is not the case. Since they are compile-time tests and effective
> target support for powerpc_p9vector_ok is required, adding -mfloat128
> is safe. This patch does so, and arranges for the warning raised on
> such systems to be pruned.
>
> Tested on x86_64-linux-gnu x ppc64-vx7r2 with gcc-11. Ok to install?
Not okay. We rely everywhere else on -mcpu=power9 (etc.) to enable VSX
just as well.
You should not change such defaults for your platform.
Segher
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power9" } */
+/* { dg-options "-mdejagnu-cpu=power9 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
/* This test should succeed only on 64-bit configurations. */
#include <altivec.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power8" } */
+/* { dg-options "-mdejagnu-cpu=power8 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
/* This test should succeed only on 64-bit configurations. */
#include <altivec.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power9" } */
+/* { dg-options "-mdejagnu-cpu=power9 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
/* This test should succeed only on 64-bit configurations. */
#include <altivec.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power8" } */
+/* { dg-options "-mdejagnu-cpu=power8 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
/* This test should succeed only on 64-bit configurations. */
#include <altivec.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power8" } */
+/* { dg-options "-mdejagnu-cpu=power8 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
/* This test should succeed only on 64-bit configurations. */
#include <altivec.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power9" } */
+/* { dg-options "-mdejagnu-cpu=power9 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
/* This test should succeed only on 64-bit configurations. */
#include <altivec.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power8" } */
+/* { dg-options "-mdejagnu-cpu=power8 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
/* This test should succeed only on 64-bit configurations. */
#include <altivec.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power9" } */
+/* { dg-options "-mdejagnu-cpu=power9 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
/* This test should succeed only on 64-bit configurations. */
#include <altivec.h>
@@ -3,7 +3,8 @@
target produces different error message. */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power9" } */
+/* { dg-options "-mdejagnu-cpu=power9 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
#include <altivec.h>
#include <stdbool.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power9" } */
+/* { dg-options "-mdejagnu-cpu=power9 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
#include <altivec.h>
#include <stdbool.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power9" } */
+/* { dg-options "-mdejagnu-cpu=power9 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
#include <altivec.h>
#include <stdbool.h>
@@ -1,7 +1,8 @@
/* { dg-do compile { target { powerpc*-*-* } } } */
/* { dg-require-effective-target lp64 } */
/* { dg-require-effective-target powerpc_p9vector_ok } */
-/* { dg-options "-mdejagnu-cpu=power9" } */
+/* { dg-options "-mdejagnu-cpu=power9 -mfloat128" } */
+/* { dg-prune-output ".-mfloat128. option may not be fully supported" } */
#include <altivec.h>
#include <stdbool.h>