* [PATCH] testsuite, rs6000: Remove powerpcspe test cases and checks
@ 2024-05-08 6:36 Kewen.Lin
0 siblings, 0 replies; only message in thread
From: Kewen.Lin @ 2024-05-08 6:36 UTC (permalink / raw)
To: GCC Patches; +Cc: Segher Boessenkool, David Edelsohn, Peter Bergner
Hi,
Since r9-4728 the powerpcspe support had been removed, this
follow-up patch is to remove the remaining pieces in testsuite.
Regtested on powerpc64-linux-gnu P8/P9 and
powerpc64le-linux-gnu P9 and P10.
I'm going to push this soon if no objections.
BR,
Kewen
-----
gcc/testsuite/ChangeLog:
* lib/target-supports.exp
(check_effective_target_vect_cmdline_needed): Remove
check_effective_target_powerpc_spe.
(check_effective_target_powerpc_spe_nocache): Remove.
(check_effective_target_powerpc_spe): Remove.
(check_ppc_cpu_supports_hw_available): Remove powerpc*-*-eabispe check.
(check_p8vector_hw_available): Likewise.
(check_p9vector_hw_available): Likewise.
(check_p9modulo_hw_available): Likewise.
(check_ppc_float128_sw_available): Likewise.
(check_ppc_float128_hw_available): Likewise.
(check_vsx_hw_available): Likewise.
(check_vmx_hw_available): Likewise.
(check_ppc_recip_hw_available): Likewise.
(check_dfp_hw_available): Likewise.
(check_htm_hw_available): Likewise.
* g++.dg/ext/spe1.C: Remove.
* g++.dg/other/opaque-1.C: Remove.
* g++.dg/other/opaque-2.C: Remove.
* g++.dg/other/opaque-3.C: Remove.
* g++.target/powerpc/simd-5.C: Remove.
---
gcc/testsuite/g++.dg/ext/spe1.C | 10 -----
gcc/testsuite/g++.dg/other/opaque-1.C | 31 --------------
gcc/testsuite/g++.dg/other/opaque-2.C | 19 ---------
gcc/testsuite/g++.dg/other/opaque-3.C | 12 ------
gcc/testsuite/g++.target/powerpc/simd-5.C | 44 -------------------
gcc/testsuite/lib/target-supports.exp | 51 +++--------------------
6 files changed, 5 insertions(+), 162 deletions(-)
delete mode 100644 gcc/testsuite/g++.dg/ext/spe1.C
delete mode 100644 gcc/testsuite/g++.dg/other/opaque-1.C
delete mode 100644 gcc/testsuite/g++.dg/other/opaque-2.C
delete mode 100644 gcc/testsuite/g++.dg/other/opaque-3.C
delete mode 100644 gcc/testsuite/g++.target/powerpc/simd-5.C
diff --git a/gcc/testsuite/g++.dg/ext/spe1.C b/gcc/testsuite/g++.dg/ext/spe1.C
deleted file mode 100644
index b98d4b27b3d..00000000000
--- a/gcc/testsuite/g++.dg/ext/spe1.C
+++ /dev/null
@@ -1,10 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-mcpu=8540 -mspe -mabi=spe -mfloat-gprs=single -O0" } */
-/* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } } */
-
-typedef int v2si __attribute__ ((vector_size (8)));
-
-/* The two specializations must be considered different. */
-template <class T> class X { };
-template <> class X<__ev64_opaque__> { };
-template <> class X<v2si> { };
diff --git a/gcc/testsuite/g++.dg/other/opaque-1.C b/gcc/testsuite/g++.dg/other/opaque-1.C
deleted file mode 100644
index 669776b9f97..00000000000
--- a/gcc/testsuite/g++.dg/other/opaque-1.C
+++ /dev/null
@@ -1,31 +0,0 @@
-/* { dg-do run } */
-/* { dg-options "-mcpu=8540 -mspe -mabi=spe -mfloat-gprs=single" } */
-/* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } } */
-
-#define __vector __attribute__((vector_size(8)))
-typedef float __vector __ev64_fs__;
-
-__ev64_fs__ f;
-__ev64_opaque__ o;
-
-int here = 0;
-
-void bar (__ev64_opaque__ x)
-{
- here = 0;
-}
-
-void bar (__ev64_fs__ x)
-{
- here = 888;
-}
-
-int main ()
-{
- f = o;
- o = f;
- bar (f);
- if (here != 888)
- return 1;
- return 0;
-}
diff --git a/gcc/testsuite/g++.dg/other/opaque-2.C b/gcc/testsuite/g++.dg/other/opaque-2.C
deleted file mode 100644
index 414f87e6c9a..00000000000
--- a/gcc/testsuite/g++.dg/other/opaque-2.C
+++ /dev/null
@@ -1,19 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-mcpu=8540 -mspe -mabi=spe -mfloat-gprs=single" } */
-/* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } } */
-
-#define __vector __attribute__((vector_size(8)))
-typedef float __vector __ev64_fs__;
-
-__ev64_fs__ f;
-__ev64_opaque__ o;
-
-extern void bar (__ev64_opaque__);
-
-int main ()
-{
- f = o;
- o = f;
- bar (f);
- return 0;
-}
diff --git a/gcc/testsuite/g++.dg/other/opaque-3.C b/gcc/testsuite/g++.dg/other/opaque-3.C
deleted file mode 100644
index f915f840510..00000000000
--- a/gcc/testsuite/g++.dg/other/opaque-3.C
+++ /dev/null
@@ -1,12 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-mcpu=8540 -mspe -mabi=spe -mfloat-gprs=single" } */
-/* { dg-skip-if "not an SPE target" { ! powerpc_spe_nocache } } */
-
-__ev64_opaque__ o;
-#define v __attribute__((vector_size(8)))
-v unsigned int *p;
-
-void m()
-{
- o = __builtin_spe_evldd(p, 5);
-}
diff --git a/gcc/testsuite/g++.target/powerpc/simd-5.C b/gcc/testsuite/g++.target/powerpc/simd-5.C
deleted file mode 100644
index 71e117ead2a..00000000000
--- a/gcc/testsuite/g++.target/powerpc/simd-5.C
+++ /dev/null
@@ -1,44 +0,0 @@
-// Test EH with V2SI SIMD registers actually restores correct values.
-// Origin: Joseph Myers <joseph@codesourcery.com>
-// { dg-options "-O" }
-// { dg-do run { target { powerpc_spe && { ! *-*-vxworks* } } } }
-
-extern "C" void abort (void);
-extern "C" int memcmp (const void *, const void *, __SIZE_TYPE__);
-typedef int __attribute__((vector_size (8))) v2si;
-
-v2si a = { 1, 2 };
-v2si b = { 3, 4 };
-v2si c = { 4, 6 };
-volatile v2si r;
-v2si r2;
-
-void
-f ()
-{
- register v2si v asm("r15");
- v = __builtin_spe_evaddw (b, c);
- asm volatile ("" : "+r" (v));
- r = v;
- throw 1;
-}
-
-int
-main ()
-{
- register v2si v asm("r15");
- v = __builtin_spe_evaddw (a, b);
- asm volatile ("" : "+r" (v));
- try
- {
- f ();
- }
- catch (int)
- {
- r = v;
- r2 = r;
- if (memcmp (&r2, &c, sizeof (v2si)))
- abort ();
- }
- return 0;
-}
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index b860cb679bf..dc21dc3a06c 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2584,7 +2584,6 @@ proc check_ppc_cpu_supports_hw_available { } {
# Some simulators are known to not support VSX/power8 instructions.
# For now, disable on Darwin
if { [istarget powerpc-*-eabi]
- || [istarget powerpc*-*-eabispe]
|| [istarget *-*-darwin*]} {
expr 0
} else {
@@ -2638,7 +2637,6 @@ proc check_p8vector_hw_available { } {
# Some simulators are known to not support VSX/power8 instructions.
# For now, disable on Darwin
if { [istarget powerpc-*-eabi]
- || [istarget powerpc*-*-eabispe]
|| [istarget *-*-darwin*]} {
expr 0
} else {
@@ -2666,7 +2664,6 @@ proc check_p9vector_hw_available { } {
# Some simulators are known to not support VSX/power8/power9
# instructions. For now, disable on Darwin.
if { [istarget powerpc-*-eabi]
- || [istarget powerpc*-*-eabispe]
|| [istarget *-*-darwin*]} {
expr 0
} else {
@@ -2711,7 +2708,6 @@ proc check_p9modulo_hw_available { } {
# Some simulators are known to not support VSX/power8/power9
# instructions. For now, disable on Darwin.
if { [istarget powerpc-*-eabi]
- || [istarget powerpc*-*-eabispe]
|| [istarget *-*-darwin*]} {
expr 0
} else {
@@ -2783,7 +2779,6 @@ proc check_ppc_float128_sw_available { } {
# instructions. For now, disable on Darwin and VxWorks.
if { [istarget *-*-vxworks*]
|| [istarget powerpc-*-eabi]
- || [istarget powerpc*-*-eabispe]
|| [istarget *-*-darwin*]} {
expr 0
} else {
@@ -2810,7 +2805,6 @@ proc check_ppc_float128_hw_available { } {
# instructions. For now, disable on Darwin.
if { [istarget *-*-vxworks*]
|| [istarget powerpc-*-eabi]
- || [istarget powerpc*-*-eabispe]
|| [istarget *-*-darwin*]} {
expr 0
} else {
@@ -2987,7 +2981,6 @@ proc check_vsx_hw_available { } {
# Some simulators are known to not support VSX instructions.
# For now, disable on Darwin
if { [istarget powerpc-*-eabi]
- || [istarget powerpc*-*-eabispe]
|| [istarget *-*-darwin*]} {
expr 0
} else {
@@ -3013,7 +3006,7 @@ proc check_vsx_hw_available { } {
proc check_vmx_hw_available { } {
return [check_cached_effective_target vmx_hw_available {
# Some simulators are known to not support VMX instructions.
- if { [istarget powerpc-*-eabi] || [istarget powerpc*-*-eabispe] } {
+ if { [istarget powerpc-*-eabi] } {
expr 0
} else {
# Most targets don't require special flags for this test case, but
@@ -3044,7 +3037,7 @@ proc check_ppc_recip_hw_available { } {
return [check_cached_effective_target ppc_recip_hw_available {
# Some simulators may not support FRE/FRES/FRSQRTE/FRSQRTES
# For now, disable on Darwin
- if { [istarget powerpc-*-eabi] || [istarget powerpc*-*-eabispe] || [istarget *-*-darwin*]} {
+ if { [istarget powerpc-*-eabi] || [istarget *-*-darwin*]} {
expr 0
} else {
set options "-mpowerpc-gfxopt -mpowerpc-gpopt -mpopcntb"
@@ -3958,7 +3951,7 @@ proc check_effective_target_unsigned_char {} {
proc check_dfp_hw_available { } {
return [check_cached_effective_target dfp_hw_available {
# For now, disable on Darwin
- if { [istarget powerpc-*-eabi] || [istarget powerpc*-*-eabispe] || [istarget *-*-darwin*]} {
+ if { [istarget powerpc-*-eabi] || [istarget *-*-darwin*]} {
expr 0
} else {
check_runtime_nocache dfp_hw_available {
@@ -4032,8 +4025,7 @@ proc check_effective_target_vect_cmdline_needed { } {
|| (([istarget i?86-*-*] || [istarget x86_64-*-*])
&& ![is-effective-target ia32])
|| ([istarget powerpc*-*-*]
- && ([check_effective_target_powerpc_spe]
- || [check_effective_target_powerpc_altivec]))
+ && [check_effective_target_powerpc_altivec])
|| ([istarget sparc*-*-*] && [check_effective_target_sparc_vis])
|| ([istarget arm*-*-*] && [check_effective_target_arm_neon])
|| [istarget aarch64*-*-*]
@@ -7202,7 +7194,7 @@ proc check_effective_target_powerpc_htm_ok { } {
proc check_htm_hw_available { } {
return [check_cached_effective_target htm_hw_available {
# For now, disable on Darwin
- if { [istarget powerpc-*-eabi] || [istarget powerpc*-*-eabispe] || [istarget *-*-darwin*]} {
+ if { [istarget powerpc-*-eabi] || [istarget *-*-darwin*]} {
expr 0
} else {
check_runtime_nocache htm_hw_available {
@@ -7244,39 +7236,6 @@ proc check_effective_target_powerpc_spu { } {
}
}
-# Return 1 if this is a PowerPC SPE target. The check includes options
-# specified by dg-options for this test, so don't cache the result.
-
-proc check_effective_target_powerpc_spe_nocache { } {
- if { [istarget powerpc*-*-*] } {
- return [check_no_compiler_messages_nocache powerpc_spe object {
- #ifndef __SPE__
- #error not SPE
- #else
- int dummy;
- #endif
- } [current_compiler_flags]]
- } else {
- return 0
- }
-}
-
-# Return 1 if this is a PowerPC target with SPE enabled.
-
-proc check_effective_target_powerpc_spe { } {
- if { [istarget powerpc*-*-*] } {
- return [check_no_compiler_messages powerpc_spe object {
- #ifndef __SPE__
- #error not SPE
- #else
- int dummy;
- #endif
- }]
- } else {
- return 0
- }
-}
-
# Return 1 if this is a PowerPC target with Altivec enabled.
proc check_effective_target_powerpc_altivec { } {
--
2.39.1
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-05-08 7:18 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-05-08 6:36 [PATCH] testsuite, rs6000: Remove powerpcspe test cases and checks Kewen.Lin
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).