rs6000: Don't clear TARGET_ISEL implicitly
authorSegher Boessenkool <segher@kernel.crashing.org>
Tue, 7 Nov 2017 03:45:50 +0000 (04:45 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Tue, 7 Nov 2017 03:45:50 +0000 (04:45 +0100)
We want to actually use isel, so we shouldn't disable it.  It is
already not set by default on CPUs that don't have it, or where we
do not want to use it.

* config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
disable isel if it was not set explicitly.

From-SVN: r254485

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 3690705..0502241 100644 (file)
@@ -1,3 +1,8 @@
+2017-11-06  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
+       disable isel if it was not set explicitly.
+
 2017-11-06  James Bowman  <james.bowman@ftdichip.com>
 
        * gcc/dwarf2out.c (modified_type_die): Retain ADDR_SPACE
index c2712d9..aacf3f1 100644 (file)
@@ -4798,10 +4798,7 @@ rs6000_option_override_internal (bool global_init_p)
   /* For the E500 family of cores, reset the single/double FP flags to let us
      check that they remain constant across attributes or pragmas.  Also,
      clear a possible request for string instructions, not supported and which
-     we might have silently queried above for -Os. 
-
-     For other families, clear ISEL in case it was set implicitly.
-  */
+     we might have silently queried above for -Os.  */
 
   switch (rs6000_cpu)
     {
@@ -4811,19 +4808,12 @@ rs6000_option_override_internal (bool global_init_p)
     case PROCESSOR_PPCE500MC64:
     case PROCESSOR_PPCE5500:
     case PROCESSOR_PPCE6500:
-
       rs6000_single_float = 0;
       rs6000_double_float = 0;
-
       rs6000_isa_flags &= ~OPTION_MASK_STRING;
-
       break;
 
     default:
-
-      if (cpu_index >= 0 && !(rs6000_isa_flags_explicit & OPTION_MASK_ISEL))
-       rs6000_isa_flags &= ~OPTION_MASK_ISEL;
-
       break;
     }