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