https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65491
Bug ID: 65491
Summary: [aarch64] ICE: in emit_move_insn, at expr.c:3609
Product: gcc
Version: 5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: david.abdurachmanov at gmail dot com
Storing a single long double in a vector will cause GCC 4.9.2 and GCC 5.0.0 to
ICE on AArch64:
typedef long double a __attribute__((vector_size (16)));
a sum(a first, a second) {
return first + second;
}
a.c:3:3: internal compiler error: in emit_move_insn, at expr.c:3609
a sum(a first, a second) {
^
Please submit a full bug report,
with preprocessed source if appropriate.
On GCC 5.0.0 (F22) it reports expr.c:3601
Any other argument for vector_size seems to work just fine. Tested up to 2048.