This patch disables -mvsx-timode from being set by default because of yet
another problem with it (PR target 58587, cannot bootstrap with ada and
--with-cpu=power7).  I will need to address this in my later stage of secondary
reload issues in order to support the ISA 2.07 128-bit integer arithmetic
instructions that are not implemented yet.

I have verified that this allows the compiler to be bootstrapped with the Ada
language enabled with default power7 code generation.  In addition, I have done
a normal bootstrap build and encountered no regressions in the patch.

Is this patch ok to install until the real solution is done?

2013-10-02  Michael Meissner  <meiss...@linux.vnet.ibm.com>

        PR target/58587
        * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Turn off
        setting -mvsx-timode by default until the underlying problem is
        fixed.
        (RS6000_CPU, power7 defaults): Likewise.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460, USA
email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797
Index: gcc/config/rs6000/rs6000-cpus.def
===================================================================
--- gcc/config/rs6000/rs6000-cpus.def   (revision 203034)
+++ gcc/config/rs6000/rs6000-cpus.def   (working copy)
@@ -38,12 +38,13 @@
 
   /* For ISA 2.06, don't add ISEL, since in general it isn't a win, but
      altivec is a win so enable it.  */
+  /* OPTION_MASK_VSX_TIMODE should be set, but disable it for now until
+     PR 58587 is fixed.  */
 #define ISA_2_6_MASKS_EMBEDDED (ISA_2_5_MASKS_EMBEDDED | OPTION_MASK_POPCNTD)
 #define ISA_2_6_MASKS_SERVER   (ISA_2_5_MASKS_SERVER                   \
                                 | OPTION_MASK_POPCNTD                  \
                                 | OPTION_MASK_ALTIVEC                  \
-                                | OPTION_MASK_VSX                      \
-                                | OPTION_MASK_VSX_TIMODE)
+                                | OPTION_MASK_VSX)
 
 /* For now, don't provide an embedded version of ISA 2.07.  */
 #define ISA_2_7_MASKS_SERVER   (ISA_2_6_MASKS_SERVER                   \
@@ -182,7 +183,7 @@ RS6000_CPU ("power6x", PROCESSOR_POWER6,
 RS6000_CPU ("power7", PROCESSOR_POWER7,   /* Don't add MASK_ISEL by default */
            POWERPC_7400_MASK | MASK_POWERPC64 | MASK_PPC_GPOPT | MASK_MFCRF
            | MASK_POPCNTB | MASK_FPRND | MASK_CMPB | MASK_DFP | MASK_POPCNTD
-           | MASK_VSX | MASK_RECIP_PRECISION | MASK_VSX_TIMODE)
+           | MASK_VSX | MASK_RECIP_PRECISION)
 RS6000_CPU ("power8", PROCESSOR_POWER8, MASK_POWERPC64 | ISA_2_7_MASKS_SERVER)
 RS6000_CPU ("powerpc", PROCESSOR_POWERPC, 0)
 RS6000_CPU ("powerpc64", PROCESSOR_POWERPC64, MASK_PPC_GFXOPT | MASK_POWERPC64)

Reply via email to