https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97822

Uroš Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jyong at gcc dot gnu.org
   Target Milestone|---                         |13.5
   Last reconfirmed|2022-06-21 00:00:00         |2025-11-27
            Summary|internal compiler error: in |[13/14/15/16 Regression]
                   |choose_baseaddr             |internal compiler error: in
                   |                            |choose_baseaddr

--- Comment #13 from Uroš Bizjak <ubizjak at gmail dot com> ---
Confirmed as a regression for gcc-16 and all release branches with the
minimized testcase:

--cut here--
struct A
{
    int a, b, c;
};

void k(A);

[[gnu::sysv_abi]] void f()
{
    k({});
}

void h() { f(); }
--cut here--

~/gcc-build-mingw/gcc/cc1plus -O1 -mpreferred-stack-boundary=3 pr97822.C

uring RTL pass: pro_and_epilogue
pr97822.C: In function ‘void h()’:
pr97822.C:13:17: internal compiler error: in choose_baseaddr, at
config/i386/i386.cc:7547
   13 | void h() { f(); }
      |                 ^
0x250522d internal_error(char const*, ...)
        ../../git/gcc/gcc/diagnostic-global-context.cc:787
0x72b231 fancy_abort(char const*, int, char const*)
        ../../git/gcc/gcc/diagnostics/context.cc:1805
0x6500df choose_baseaddr
        ../../git/gcc/gcc/config/i386/i386.cc:7547
0x15771a6 ix86_emit_save_reg_using_mov
        ../../git/gcc/gcc/config/i386/i386.cc:7671
0x158ee4a ix86_emit_save_sse_regs_using_mov
        ../../git/gcc/gcc/config/i386/i386.cc:7762
0x15906f8 ix86_expand_prologue()
        ../../git/gcc/gcc/config/i386/i386.cc:9629

Reply via email to