https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112837
--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The releases/gcc-11 branch has been updated by Jakub Jelinek <ja...@gcc.gnu.org>: https://gcc.gnu.org/g:05e3cff4e8b3b544afb1bbefddc342de42641cc1 commit r11-11153-g05e3cff4e8b3b544afb1bbefddc342de42641cc1 Author: Jakub Jelinek <ja...@redhat.com> Date: Mon Dec 4 09:01:09 2023 +0100 i386: Fix rtl checking ICE in ix86_elim_entry_set_got [PR112837] The following testcase ICEs with RTL checking, because it sets if XINT (SET_SRC (set), 1) is UNSPEC_SET_GOT without checking if SET_SRC (set) is actually an UNSPEC, so any time we see any other insn with PARALLEL and a SET in it which is not an UNSPEC we ICE during RTL checking or access there some other union member as if it was an rt_int. The rest is just small cleanup. 2023-12-04 Jakub Jelinek <ja...@redhat.com> PR target/112837 * config/i386/i386.c (ix86_elim_entry_set_got): Before checking for UNSPEC_SET_GOT check that SET_SRC is UNSPEC. Use SET_SRC and SET_DEST macros instead of XEXP, rename vec variable to set. * gcc.dg/pr112837.c: New test. (cherry picked from commit 4586d7d0a92e9b60d0c01043e0ae262b1e06f337)