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.