https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69171
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-01-06 CC| |hjl.tools at gmail dot com, | |trippels at gcc dot gnu.org Summary|error: unrecognizable insn: |[6 Regression] error: |on x86_64 with -O2 |unrecognizable insn: on | |x86_64 with -O2 Ever confirmed|0 |1 --- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- trippels@CFARM-IUT-TLSE3 ~ % cat bug261.c #pragma pack(2) struct { int n; } a; float b; int c; void fn1() { fn2(c, fn1, b * a.n); } trippels@CFARM-IUT-TLSE3 ~ % gcc -w -c -O2 bug261.c bug261.c: In function ‘fn1’: bug261.c:7:1: error: unrecognizable insn: void fn1() { fn2(c, fn1, b * a.n); } ^~~~ (insn 18 17 6 2 (set (reg:V4SF 21 xmm0 [93]) (vec_merge:V4SF (vec_duplicate:V4SF (float:SF (mem/c:SI (symbol_ref:DI ("a") [flags 0x2] <var_decl 0x7fe4517f0cf0 a>) [2 a.n+0 S4 A16]))) (reg:V4SF 21 xmm0 [93]) (const_int 1 [0x1]))) bug261.c:7 -1 (nil)) bug261.c:7:1: internal compiler error: in extract_insn, at recog.c:2286 0xa6541a _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:108 0xa65449 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) ../../gcc/gcc/rtl-error.c:116 0xa32857 extract_insn(rtx_insn*) ../../gcc/gcc/recog.c:2286 0xa328d4 extract_insn_cached(rtx_insn*) ../../gcc/gcc/recog.c:2177 0x7f4fed cleanup_subreg_operands(rtx_insn*) ../../gcc/gcc/final.c:3103 0xa30037 split_insn ../../gcc/gcc/recog.c:2899 0xa34ba7 split_all_insns() ../../gcc/gcc/recog.c:2953 0xa34c28 rest_of_handle_split_after_reload ../../gcc/gcc/recog.c:3889 0xa34c28 execute ../../gcc/gcc/recog.c:3918