[Bug rtl-optimization/79438] New: [7 Regression] ICE during RA w/ -O3 (or -Ofast) -funroll-loops for 32-bit BE powerpc target
asolokha at gmx dot com
gcc-bugzilla@gcc.gnu.org
Thu Feb 9 07:19:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79438
Bug ID: 79438
Summary: [7 Regression] ICE during RA w/ -O3 (or -Ofast)
-funroll-loops for 32-bit BE powerpc target
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code, ra
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
Target: powerpc-e500v2-linux-gnuspe
1. gcc-7.0.0-alpha20170205 snapshot fails to compile the following snippet w/
-O3 (or -Ofast) -funroll-loops:
int uq;
short int au;
void
sa (int na)
{
int i7;
for (i7 = 0; i7 < 81; ++i7)
{
uq ^= 1;
au ^= na;
}
}
% powerpc-e500v2-linux-gnuspe-gcc-7.0.0-alpha20170205 -O3 -funroll-loops -c
t0xyp7os.c
t0xyp7os.c: In function 'sa':
t0xyp7os.c:14:1: internal compiler error: in lra_set_insn_recog_data, at
lra.c:965
}
^
0x30704833833 lra_set_insn_recog_data(rtx_insn*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra.c:963
0x30704834a07 lra_get_insn_recog_data
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra-int.h:487
0x30704834a07 lra_update_insn_regno_info(rtx_insn*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra.c:1585
0x30704834e60 lra_push_insn_1
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra.c:1736
0x30704834e60 lra_push_insn(rtx_insn*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra.c:1744
0x307048350ff push_insns
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra.c:1787
0x30704835702 lra_process_new_insns(rtx_insn*, rtx_insn*, rtx_insn*, char
const*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra.c:1845
0x3070484d747 curr_insn_transform
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra-constraints.c:4242
0x3070484f1c6 lra_constraints(bool)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra-constraints.c:4732
0x30704836522 lra(_IO_FILE*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/lra.c:2378
0x307047e3570 do_reload
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/ira.c:5400
0x307047e3570 execute
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/ira.c:5584
2. Turning LRA off yields the following:
% powerpc-e500v2-linux-gnuspe-gcc-7.0.0-alpha20170205 -O3 -funroll-loops -c
t0xyp7os.c -mno-lra
t0xyp7os.c: In function 'sa':
t0xyp7os.c:14:1: error: unrecognizable insn:
}
^
(insn 194 77 53 4 (set (const_vector:V4HI [
(const_int 0 [0])
(const_int 0 [0])
(const_int 0 [0])
(const_int 0 [0])
])
(reg:V4HI 9 9)) "t0xyp7os.c":12 -1
(nil))
t0xyp7os.c:14:1: internal compiler error: in extract_insn, at recog.c:2311
0x2d7dca3c505 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/rtl-error.c:108
0x2d7dca3c55c _fatal_insn_not_found(rtx_def const*, char const*, int, char
const*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/rtl-error.c:116
0x2d7dca076af extract_insn(rtx_insn*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/recog.c:2311
0x2d7dca0775f extract_insn_cached(rtx_insn*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/recog.c:2201
0x2d7dc72b68b cleanup_subreg_operands(rtx_insn*)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/final.c:3138
0x2d7dca3a107 reload(rtx_insn*, int)
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/reload1.c:1235
0x2d7dc8af1fe do_reload
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/ira.c:5412
0x2d7dc8af1fe execute
/var/tmp/portage/cross-powerpc-e500v2-linux-gnuspe/gcc-7.0.0_alpha20170205/work/gcc-7-20170205/gcc/ira.c:5584
More information about the Gcc-bugs
mailing list