https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109179
--- Comment #8 from Peter Bergner <bergner at gcc dot gnu.org> --- Here's another creduced test case, this one with -O2 optimization: bergner@ltcden2-lp1:PR109179$ cat bug2.i union u { _Float128 flt; long sign; }; _Float128 foo (long src) { union u var; var.sign = src; return var.flt; } bergner@ltcden2-lp1:PR109179$ gcc -S -O2 -mcpu=power8 bug2.i during RTL pass: reload bug2.i: In function ‘foo’: bug2.i:13:1: internal compiler error: RTL check: expected elt 3 type 'e' or 'u', have '0' (rtx note) in PATTERN, at rtl.h:1509 13 | } | ^ 0x1148c663 rtl_check_failed_type2(rtx_def const*, int, int, int, char const*, int, char const*) /home/bergner/gcc/gcc-fsf-mainline-chip-ice/gcc/rtl.cc:907 0x10a0a207 PATTERN(rtx_def*) /home/bergner/gcc/gcc-fsf-mainline-chip-ice/gcc/rtl.h:1509 0x1278c123 insn_extract(rtx_insn*) /home/bergner/gcc/build/gcc-fsf-mainline-chip-ice-regtest/gcc/insn-extract.cc:23 0x1118c9e7 lra_set_insn_recog_data(rtx_insn*) /home/bergner/gcc/gcc-fsf-mainline-chip-ice/gcc/lra.cc:1059 0x11194f23 lra_get_insn_recog_data(rtx_insn*) /home/bergner/gcc/gcc-fsf-mainline-chip-ice/gcc/lra-int.h:493 0x111b8de7 combine_reload_insn /home/bergner/gcc/gcc-fsf-mainline-chip-ice/gcc/lra-constraints.cc:5017