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