https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101772
Bug ID: 101772
Summary: [12 regression] ICE in ix86_expand_epilogue, at
config/i386/i386.c:9267
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: ro at gcc dot gnu.org
CC: hjl.tools at gmail dot com
Target Milestone: ---
Target: i386-pc-solaris2.11, amd64-pc-solaris2.11
Created attachment 51257
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51257&action=edit
preprocessed input
Between 20210802 and 20210803, Solaris/x86 bootstrap got broken building the
32-bit stage1 libgcc:
during RTL pass: pro_and_epilogue
In file included from /var/gcc/reghunt/master/libgcc/unwind-dw2.c:1728:
/var/gcc/reghunt/master/libgcc/unwind.inc: In function
‘_Unwind_RaiseException’:
/var/gcc/reghunt/master/libgcc/unwind.inc:141:1: internal compiler error: in
ix86_expand_epilogue, at config/i386/i386.c:9267
141 | }
| ^
0x967d019 ix86_expand_epilogue(int)
/var/gcc/reghunt/master/gcc/config/i386/i386.c:9267
0x9b3cd90 gen_split_436(rtx_insn*, rtx_def**)
/var/gcc/reghunt/master/gcc/config/i386/i386.md:14469
0x8df1d1e try_split(rtx_def*, rtx_insn*, int)
/var/gcc/reghunt/master/gcc/emit-rtl.c:3786
0x8ead6af thread_prologue_and_epilogue_insns()
/var/gcc/reghunt/master/gcc/function.c:6093
0x8eadcb4 rest_of_handle_thread_prologue_and_epilogue
/var/gcc/reghunt/master/gcc/function.c:6534
0x8eadcb4 execute
/var/gcc/reghunt/master/gcc/function.c:6610
A reghunt identified
commit 29f0e955c97da002b5adb4e8c9dfd2ea9709e207
Author: H.J. Lu <[email protected]>
Date: Mon Aug 2 10:01:46 2021 -0700
x86: Update piecewise move and store
as the culprit.
The failure can be reproduced with the attached unwind-dw2.i with
cc1 -fpreprocessed unwind-dw2.i -quiet -mtune=generic -march=pentium4 -o
unwind-dw2.s