[Bug rtl-optimization/67715] New: [6 Regression][ARM] ICE in cselib.c during reload_cse_regs
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Sep 24 16:05:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67715
Bug ID: 67715
Summary: [6 Regression][ARM] ICE in cselib.c during
reload_cse_regs
Product: gcc
Version: 6.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: ktkachov at gcc dot gnu.org
CC: vmakarov at gcc dot gnu.org
Target Milestone: ---
Target: arm
The testcase:
typedef struct
{
unsigned short fld[9][8][8];
} my_struct;
extern my_struct *img;
void
foo (void)
{
int i,j;
int arr[25];
for (i = 0; i < 8; i++)
{
img->fld[1][i][0] =
img->fld[1][i][1] =
img->fld[1][i][2] =
img->fld[1][i][3] =
img->fld[1][i][4] =
img->fld[1][i][5] =
img->fld[1][i][6] =
img->fld[1][i][7] = (&(arr[17]))[i];
}
}
ICEs on arm after r227382 with:
$ arm-none-eabi-gcc -Ofast -S -mcpu=cortex-a57 -mfpu=neon-vfpv4
-mfloat-abi=hard besttry.c
besttry.c: In function 'foo':
besttry.c:24:1: internal compiler error: in cselib_record_set, at cselib.c:2388
}
^
0x70a659 cselib_record_set
$SRC/gcc/cselib.c:2388
0x70a659 cselib_record_sets
$SRC/gcc/cselib.c:2605
0x70b6a8 cselib_process_insn(rtx_insn*)
$SRC/gcc/cselib.c:2678
0x9acabd reload_cse_regs_1
$SRC/gcc/postreload.c:235
0x9acf30 reload_cse_regs
$SRC/gcc/postreload.c:81
0x9acf30 execute
$SRC/gcc/postreload.c:2350
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.
The arm cross compiler was configured with --with-fpu=neon-fp-armv8
--with-arch=armv8-a.
The ICE occurs at -O3 and -Ofast but not -O1, -O2, -Os, presumably due to
vectorization.
The insn that's causing the ICE is:
#2 cselib_record_sets (insn=insn@entry=0x7ffff7328680) at
/work/kyrtka01/local-checkouts/gcc/gcc/cselib.c:2605
2605 cselib_record_set (dest, sets[i].src_elt,
sets[i].dest_addr_elt);
(gdb) call debug_rtx (insn)
(insn 19 17 67 2 (parallel [
(set (reg:V8HI 48 d16 [117])
(unspec:V8HI [
(reg:V8HI 48 d16 [117])
(reg:V8HI 48 d16 [117])
] UNSPEC_VZIP1))
(set (reg:V8HI 48 d16 [117])
(unspec:V8HI [
(reg:V8HI 48 d16 [117])
(reg:V8HI 48 d16 [117])
] UNSPEC_VZIP2))
]) besttry.c:15 1964 {*neon_vzipv8hi_insn}
(nil))
More information about the Gcc-bugs
mailing list