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?

Reply via email to