In patch #4, I mentioned that the spec 2006 benchmark 'tonto' generated different with the patches applied. I tracked it down, and it was due to the call I inserted in rs6000_debug_reg_print to update the conditional register usage seemed to set the Altivec registers VS0..VS19 to call_used instead of call_saved. Since I no longer need to set the conditional register usage with -mdebug=reg, it is simpler to just delete it.
2018-03-16 Michael Meissner <meiss...@linux.vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_debug_reg_print): Eliminate call to rs6000_conditional_register_usage. -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.vnet.ibm.com, phone: +1 (978) 899-4797
Index: gcc/config/rs6000/rs6000.c =================================================================== --- gcc/config/rs6000/rs6000.c (revision 258576) +++ gcc/config/rs6000/rs6000.c (working copy) @@ -1314,7 +1314,6 @@ static bool rs6000_debug_can_change_mode reg_class_t); static bool rs6000_save_toc_in_prologue_p (void); static rtx rs6000_internal_arg_pointer (void); -static void rs6000_conditional_register_usage (void); rtx (*rs6000_legitimize_reload_address_ptr) (rtx, machine_mode, int, int, int, int *) @@ -2144,10 +2143,6 @@ rs6000_debug_reg_print (int first_regno, { int r, m; - /* Insure the conditional registers are up to date when printing the debug - information. */ - rs6000_conditional_register_usage (); - for (r = first_regno; r <= last_regno; ++r) { const char *comma = "";