[Bug tree-optimization/96483] New: ICE in code hoisting with AArch64 SVE2 intrinsics
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Aug 5 11:59:47 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96483
Bug ID: 96483
Summary: ICE in code hoisting with AArch64 SVE2 intrinsics
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: tree-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
Target Milestone: ---
Target: aarch64*-*-*
The following (reduced) testcase ICEs on aarch64 with
-O2 -w -march=armv8.2-a+sve2
GCC 10 and trunk ICE. Since the SVE2 intrinsics were introduced in GCC 10 it's
not a regression.
during GIMPLE pass: pre
red.c: In function 'u':
red.c:25:1: internal compiler error: in create_component_ref_by_pieces_1, at
tree-ssa-pre.c:2659
25 | u () {
| ^
0xfc03c8 create_component_ref_by_pieces_1
$SRC/gcc/tree-ssa-pre.c:2659
0xfbe4fc create_expression_by_pieces
$SRC/gcc/tree-ssa-pre.c:2795
0xfc215b do_hoist_insertion
$SRC/gcc/tree-ssa-pre.c:3587
0xfc215b insert
$SRC/gcc/tree-ssa-pre.c:3674
0xfc215b execute
$SRC/gcc/tree-ssa-pre.c:4224
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
include "arm_sve.h"
typedef unsigned long a;
void
b (svuint8_t *c, int d, char e, int f, char g, int h) {
svbool_t i = svwhilegt_b8(svcntb(), (a)d);
*c = svld1_u8(i, d);
}
void
j (struct k *ci, long l, svuint8_t *m, svuint8_t *n, int o, char p, int w) {
int q = 0, r, s;
if (l)
b(m, q, ci, r, ci, s);
x(m);
}
void
t (svuint8_t *c, int d, char p, struct k *ci, long offset) {
j(ci, offset, c, 0, d, p, 6);
}
void
u () {
for (;;) {
int ci, d;
long offset;
svuint8_t v;
t(&v, d, 1, ci, offset);
}
}
More information about the Gcc-bugs
mailing list