https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99313
Martin Liška <marxin at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |marxin at gcc dot gnu.org Ever confirmed|0 |1 Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2021-03-01 --- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> --- The diff comes from here: (gdb) p ptr1->x_param_max_completely_peel_times $3 = 16 (gdb) p ptr2->x_param_max_completely_peel_times $4 = 64 Which comes from here: if (opts->x_s390_tune >= PROCESSOR_2097_Z10) { SET_OPTION_IF_UNSET (opts, opts_set, param_max_unrolled_insns, 100); SET_OPTION_IF_UNSET (opts, opts_set, param_max_unroll_times, 32); SET_OPTION_IF_UNSET (opts, opts_set, param_max_completely_peeled_insns, 2000); SET_OPTION_IF_UNSET (opts, opts_set, param_max_completely_peel_times, 64); } So this is an obvious situation where a target option modified optimization options that is global. I'm going to add exceptions for it.