Disable float128 tests on VxWorks, PR target/104253.
authorMichael Meissner <meissner@linux.ibm.com>
Thu, 7 Apr 2022 22:25:17 +0000 (18:25 -0400)
committerMichael Meissner <meissner@linux.ibm.com>
Thu, 7 Apr 2022 22:25:17 +0000 (18:25 -0400)
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  <meissner@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

index ff8edbd..90b9009 100644 (file)
@@ -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"