https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87573
Bug ID: 87573 Summary: [9 Regression] error: could not split insn since r264877 Product: gcc Version: 9.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: marxin at gcc dot gnu.org CC: uros at gcc dot gnu.org Target Milestone: --- Following started to ICE: $ cat ice2.ii typedef char b __attribute__((vector_size(8))); char c; struct d { b e; }; void f() { d a; *(b *)c = a.e; } $ g++ -march=winchip2 -O1 -m32 -S ice2.ii -c ice2.ii: In function ‘void f()’: ice2.ii:8:9: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] 8 | *(b *)c = a.e; | ^ ice2.ii:9:1: error: could not split insn 9 | } | ^ (insn 6 11 14 2 (set (mem:V8QI (reg:SI 0 ax [orig:87 c ] [87]) [0 *_3+0 S8 A64]) (const_vector:V8QI [ (const_int 0 [0]) (const_int 0 [0]) (const_int 0 [0]) (const_int 0 [0]) (const_int 0 [0]) (const_int 0 [0]) (const_int 0 [0]) (const_int 0 [0]) ])) "ice2.ii":8:11 1076 {*movv8qi_internal} (expr_list:REG_DEAD (reg:SI 0 ax [orig:87 c ] [87]) (nil))) during RTL pass: final ice2.ii:9:1: internal compiler error: in final_scan_insn_1, at final.c:3070 0x133f6a7 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /home/marxin/Programming/gcc/gcc/rtl-error.c:108 0xee5585 final_scan_insn_1 /home/marxin/Programming/gcc/gcc/final.c:3070 0xee58dc final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*) /home/marxin/Programming/gcc/gcc/final.c:3149 0xee3556 final_1 /home/marxin/Programming/gcc/gcc/final.c:2019 0xee8895 rest_of_handle_final /home/marxin/Programming/gcc/gcc/final.c:4649 0xee8bbe execute /home/marxin/Programming/gcc/gcc/final.c:4723