https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119979
Bug ID: 119979 Summary: [16 Regression] Recent change breaks multiple ports Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: law at gcc dot gnu.org Target Milestone: --- This change: commit a670ebde3995481225ec62b29686ec07a21e5c10 (HEAD) Author: H.J. Lu <hjl.to...@gmail.com> Date: Thu Nov 21 07:54:35 2024 +0800 Drop targetm.promote_prototypes from C, C++ and Ada frontends Remove the targetm.calls.promote_prototypes call from C, C++ and Ada frontends. Is causing regressions. While some appear to just be scan-asm failures, the iq2000 and mcore ports are both failing execution tests in their testsuites. I haven't done a deep dive but it looks like we've dropped a zero extension on mcore-elf at -O2 with this test: void bar (void); __attribute__((noinline, noclone)) unsigned char t101_1mul (signed char x, unsigned char y) { unsigned char r; if (__builtin_mul_overflow (x, y, &r)) bar (); return r; } It's possible this is a target issue. HJ, can you take a deeper look?