This is the patch that I committed.  I will do the backport in a few days to
GCC 11 and 10.

Disable float128 tests on VxWorks, PR target/104253.

In PR target/104253, it was pointed out the that test case added as part
of fixing the PR does not work on VxWorks because float128 is not
supported on that system.  I have modified the three tests for float128 so
that they are manually excluded on VxWorks systems.  In looking at the
code, I also added checks in check_effective_target_ppc_ieee128_ok to
disable the systems that will never support VSX instructions which are
required for float128 support (eabi, eabispe, darwin).

2022-04-07   Michael Meissner  <meiss...@linux.ibm.com>

gcc/testsuite/
        PR target/104253
        * lib/target-supports.exp (check_ppc_float128_sw_available): Do
        not run float128 tests on VxWorks.
        (check_ppc_float128_hw_available): Likewise.
        (check_effective_target_ppc_ieee128_ok): Likewise.
---
 gcc/testsuite/lib/target-supports.exp | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/gcc/testsuite/lib/target-supports.exp 
b/gcc/testsuite/lib/target-supports.exp
index ff8edbd3e17..90b90095682 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -2318,8 +2318,9 @@ proc check_ppc_mma_hw_available { } {
 proc check_ppc_float128_sw_available { } {
     return [check_cached_effective_target ppc_float128_sw_available {
        # Some simulators are known to not support VSX/power8/power9
-       # instructions. For now, disable on Darwin.
-       if { [istarget powerpc-*-eabi]
+       # instructions. For now, disable on Darwin and VxWorks.
+       if { [istarget *-*-vxworks*]
+            || [istarget powerpc-*-eabi]
             || [istarget powerpc*-*-eabispe]
             || [istarget *-*-darwin*]} {
            expr 0
@@ -2345,7 +2346,8 @@ proc check_ppc_float128_hw_available { } {
     return [check_cached_effective_target ppc_float128_hw_available {
        # Some simulators are known to not support VSX/power8/power9
        # instructions. For now, disable on Darwin.
-       if { [istarget powerpc-*-eabi]
+       if { [istarget *-*-vxworks*]
+            || [istarget powerpc-*-eabi]
             || [istarget powerpc*-*-eabispe]
             || [istarget *-*-darwin*]} {
            expr 0
@@ -2370,8 +2372,9 @@ proc check_ppc_float128_hw_available { } {
 # See if the __ieee128 keyword is understood.
 proc check_effective_target_ppc_ieee128_ok { } {
     return [check_cached_effective_target ppc_ieee128_ok {
-       # disable on AIX.
-       if { [istarget *-*-aix*] } {
+       # disable on AIX and VxWorks.
+       if { [istarget *-*-aix*]
+            || [istarget *-*-vxworks*]} {
            expr 0
        } else {
            set options "-mfloat128"
-- 
2.35.1


-- 
Michael Meissner, IBM
PO Box 98, Ayer, Massachusetts, USA, 01432
email: meiss...@linux.ibm.com

Reply via email to