Segher Boessenkool asked me on IRC to break out the fix in the last change. This patch is just the change to set the default options if the user did not use -mcpu=<xxx> and the compiler was not configured with --with-cpu=<xxx>. Here are the patches.
I can submit this patch first if David desires, and then resubmit the first of the infrastructure patches again, or commit both together. 2012-09-28 Michael Meissner <meiss...@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_option_override_internal): If -mcpu=<xxx> is not specified and the compiler is not configured using --with-cpu=<xxx>, use the bits from the TARGET_DEFAULT to set the initial options. Index: gcc/config/rs6000/rs6000.c =================================================================== --- gcc/config/rs6000/rs6000.c (revision 191831) +++ gcc/config/rs6000/rs6000.c (working copy) @@ -2461,6 +2461,11 @@ rs6000_option_override_internal (bool gl target_flags |= (processor_target_table[cpu_index].target_enable & set_masks); + /* If no -mcpu=<xxx>, inherit any default options that were cleared via + POWERPC_MASKS. */ + if (!have_cpu) + target_flags |= (TARGET_DEFAULT & ~target_flags_explicit); + if (rs6000_tune_index >= 0) tune_index = rs6000_tune_index; else if (have_cpu) -- Michael Meissner, IBM 5 Technology Place Drive, M/S 2757, Westford, MA 01886-3141, USA meiss...@linux.vnet.ibm.com fax +1 (978) 399-6899