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)