This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/84903] New: internal compiler error: in convert_move, at expr.c:229
- From: "marcin.krotkiewski at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 16 Mar 2018 14:03:12 +0000
- Subject: [Bug c/84903] New: internal compiler error: in convert_move, at expr.c:229
- Auto-submitted: auto-generated
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84903
Bug ID: 84903
Summary: internal compiler error: in convert_move, at
expr.c:229
Product: gcc
Version: 7.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: marcin.krotkiewski at gmail dot com
Target Milestone: ---
Created attachment 43680
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=43680&action=edit
pre-processed source that triggers the error
The attached code fails to compile using gcc 7.2.0 (ubuntu 16.04 and centos
7.4.1708):
gcc -Wimplicit-fallthrough=0 -Wall -Wextra -save-temps -fopenmp -O3
-ftree-vectorize -ffast-math -c cop.c -o cop.o
cop.c: In function ‘HE1OP.simdclone.6’:
cop.c:21:8: internal compiler error: in convert_move, at expr.c:229
double HE1OP(double XHE1, double FREQ, double FREQLG, double TKEV, double
TLOG)
^~~~~
0x760b50 convert_move(rtx_def*, rtx_def*, int)
../../src/gcc/expr.c:229
0x7672b3 store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool,
tree_node*)
../../src/gcc/expr.c:5629
0x76775e expand_assignment(tree_node*, tree_node*, bool)
../../src/gcc/expr.c:5321
0x67a841 expand_call_stmt
../../src/gcc/cfgexpand.c:2656
0x67a841 expand_gimple_stmt_1
../../src/gcc/cfgexpand.c:3571
0x67a841 expand_gimple_stmt
../../src/gcc/cfgexpand.c:3737
0x67ba1f expand_gimple_basic_block
../../src/gcc/cfgexpand.c:5744
0x680ba6 execute
../../src/gcc/cfgexpand.c:6357
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-7/README.Bugs> for instructions.
I tried on centos with gcc 6.4, and it also fails in the same way. The error is
not there if I do not try to generate an OpenMP-vectorized function, i.e., I
remove -fopenmp, -ffast-math, or the #pragma omp simd.
The attached is a simplest case I managed to get down to from the production
code I'm looking at.