[Bug target/84406] New: [8 Regression][MSP430] ICE on valid code in find_widening_optab_handler_and_mode, at optabs-query.c:476
jozefl.gcc at gmail dot com
gcc-bugzilla@gcc.gnu.org
Thu Feb 15 12:23:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84406
Bug ID: 84406
Summary: [8 Regression][MSP430] ICE on valid code in
find_widening_optab_handler_and_mode, at
optabs-query.c:476
Product: gcc
Version: 8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: jozefl.gcc at gmail dot com
Target Milestone: ---
Trunk currently fails to build for the msp430-elf target due to an ICE.
A reduced testcase is below.
# 1 "testcase.c"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "testcase.c"
void a (void) {
__int20 a, b;
__int20 c = a * b;
}
$ ./gcc/xgcc -B./gcc/ -S testcase.i
during RTL pass: expand
testcase.c: In function 'a':
testcase.c:3:11: internal compiler error: in
find_widening_optab_handler_and_mode, at optabs-query.c:476
__int20 c = a * b;
^
0xaaa5cc find_widening_optab_handler_and_mode(optab_tag, machine_mode,
machine_mode, machine_mode*)
../../gcc/optabs-query.c:476
0xa9f399 expand_binop(machine_mode, optab_tag, rtx_def*, rtx_def*, rtx_def*,
int, optab_methods)
../../gcc/optabs.c:1290
0x8355fd expand_mult(machine_mode, rtx_def*, rtx_def*, rtx_def*, int, bool)
../../gcc/expmed.c:3536
0x85b492 expand_expr_real_2(separate_ops*, rtx_def*, machine_mode,
expand_modifier)
../../gcc/expr.c:8946
0x726b49 expand_gimple_stmt_1
../../gcc/cfgexpand.c:3730
0x726b49 expand_gimple_stmt
../../gcc/cfgexpand.c:3790
0x72881b expand_gimple_basic_block
../../gcc/cfgexpand.c:5819
0x72e196 execute
../../gcc/cfgexpand.c:6425
Started with:
commit d2a1b4530f1d00fb35c2aee051b00398a624bd27
Author: rsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed Nov 1 12:30:39 2017 +0000
Widening optab cleanup
...
The ICE appears to be caused by the fact there is no widening multiply insn for
PSImode currently implemented for msp430, which is what
find_widening_optab_handler_and_mode is searching for.
More information about the Gcc-bugs
mailing list