[Bug rtl-optimization/85674] New: ICE insn_min_length, at config/rs6000/rs6000.md:6661
asolokha at gmx dot com
gcc-bugzilla@gcc.gnu.org
Mon May 7 05:10:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85674
Bug ID: 85674
Summary: ICE insn_min_length, at config/rs6000/rs6000.md:6661
Product: gcc
Version: unknown
Status: UNCONFIRMED
Keywords: ice-on-invalid-code
Severity: normal
Priority: P3
Component: rtl-optimization
Assignee: unassigned at gcc dot gnu.org
Reporter: asolokha at gmx dot com
Target Milestone: ---
Target: powerpc-*-linux-gnu
gcc-9.0.0-alpha20180429 snapshot (r259749) ICEs when compiling the following
snippet w/ -mcpu=e300c3 (=e300c2) -misel -O1 -fcrossjumping -frename-registers
-fschedule-insns2 -fsel-sched-pipelining -fselective-scheduling2 -fsplit-paths
-fstrict-aliasing -ftrapv -ftree-vrp -fno-move-loop-invariants
-fno-reorder-blocks -fno-tree-ccp --param max-jump-thread-duplication-stmts=30
--param selsched-max-lookahead=19:
signed char v9;
short int hw;
long long int k1;
void
d2 (void)
{
short int *z4 = &k1;
unsigned short int *ur = hw;
unsigned short int gx = *z4 == (z4 = ur);
hw /= 3;
k1 += hw;
for (hw = 1; hw < 4; ++hw)
{
unsigned short int nk;
unsigned int xx;
int mj;
int ys;
nk = gx | -2;
nk = nk > !!hw;
xx = !!gx ? gx : 0x10000;
mj = nk * xx;
ys = *z4 * gx * 2;
gx += ys <= *z4;
v9 += mj / gx;
}
for (;;)
{
}
}
% powerpc-e300c3-linux-gnu-gcc-9.0.0-alpha20180429 -mcpu=e300c3 -misel -O1
-fcrossjumping -frename-registers -fschedule-insns2 -fsel-sched-pipelining
-fselective-scheduling2 -fsplit-paths -fstrict-aliasing -ftrapv -ftree-vrp
-fno-move-loop-invariants -fno-reorder-blocks -fno-tree-ccp --param
max-jump-thread-duplication-stmts=30 --param selsched-max-lookahead=19 -w -c
i8eydx17.c
i8eydx17.c: In function 'd2':
i8eydx17.c:34:1: error: unrecognizable insn:
}
^
(insn 211 72 61 (set (reg:CCUNS 73 5 [199])
(reg:CCUNS 69 1 [227])) "i8eydx17.c":25 -1
(nil))
during RTL pass: shorten
i8eydx17.c:34:1: internal compiler error: in insn_min_length, at
config/rs6000/rs6000.md:6661
0x556184 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180429/work/gcc-9-20180429/gcc/rtl-error.c:108
0x5561c4 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180429/work/gcc-9-20180429/gcc/rtl-error.c:116
0x120cfdd insn_min_length(rtx_insn*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180429/work/gcc-9-20180429/gcc/config/rs6000/rs6000.md:6661
0x896b4d shorten_branches(rtx_insn*)
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180429/work/gcc-9-20180429/gcc/final.c:1190
0x8970a2 rest_of_handle_shorten_branches
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180429/work/gcc-9-20180429/gcc/final.c:4764
0x8970a2 execute
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-9.0.0_alpha20180429/work/gcc-9-20180429/gcc/final.c:4793
More information about the Gcc-bugs
mailing list