diff --git a/gcc/config/rs6000/rs6000-cpus.def b/gcc/config/rs6000/rs6000-cpus.def index 84fac8bdac1d4a7cb09bd5f7cdf5d5587a45ff66..6f96d47eb72857f946f586bcd10d756f5aa62350 100644 --- a/gcc/config/rs6000/rs6000-cpus.def +++ b/gcc/config/rs6000/rs6000-cpus.def @@ -68,12 +68,6 @@ | OPTION_MASK_P9_VECTOR) \ & ~OTHER_FUSION_MASKS) -/* Support for the IEEE 128-bit floating point hardware requires a lot of the - VSX instructions that are part of ISA 3.0. */ -#define ISA_3_0_MASKS_IEEE (OPTION_MASK_VSX \ - | OPTION_MASK_P8_VECTOR \ - | OPTION_MASK_P9_VECTOR) - /* Flags that need to be turned off if -mno-power10. */ /* We comment out PCREL_OPT here to disable it by default because SPEC2017 performance was degraded by it. */ diff --git a/gcc/config/rs6000/rs6000.cc b/gcc/config/rs6000/rs6000.cc index 9cdf704824ce1c79dfa2be40c002de14e8ad5a99..fa0e2ce8eea514fcca826f34bf7fa7b279eb0b23 100644 --- a/gcc/config/rs6000/rs6000.cc +++ b/gcc/config/rs6000/rs6000.cc @@ -4189,12 +4189,11 @@ rs6000_option_override_internal (bool global_init_p) because sometimes the compiler wants to put things in an integer container, and if we don't have __int128 support, it is impossible. */ if (TARGET_FLOAT128_TYPE && !TARGET_FLOAT128_HW && TARGET_64BIT - && (rs6000_isa_flags & ISA_3_0_MASKS_IEEE) == ISA_3_0_MASKS_IEEE + && TARGET_P9_VECTOR && !(rs6000_isa_flags_explicit & OPTION_MASK_FLOAT128_HW)) rs6000_isa_flags |= OPTION_MASK_FLOAT128_HW; - if (TARGET_FLOAT128_HW - && (rs6000_isa_flags & ISA_3_0_MASKS_IEEE) != ISA_3_0_MASKS_IEEE) + if (TARGET_FLOAT128_HW && (!TARGET_P9_VECTOR)) { if ((rs6000_isa_flags_explicit & OPTION_MASK_FLOAT128_HW) != 0) error ("%qs requires full ISA 3.0 support", "%<-mfloat128-hardware%>");