https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100152
Iain Sandoe <iains at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org Summary|[10.3, 11, 12 Regression] |[10.3, 11, 12 Regression] |[Darwin, X86] used |used caller-saved register |caller-saved register not |not preserved across a |preserved across a call. |call. --- Comment #27 from Iain Sandoe <iains at gcc dot gnu.org> --- this is caused by, or exposed by, r10-9246-geddcb627ccfbd97e025cf366cc3f3bad76211785 since that's a change in tree optimisation, the problem might not be confined to Darwin, but I wasn't able to get the preprocessed source attached here to produce wrong code on Linux. For x86_64, the Darwin ABI is supposed to be same as Linux - and as noted, there is not so much Darwin-specific back end code (but, of course, there is some).