[Bug target/80583] [6/7/8 Regression] ICE with target attribute and vectorized float: internal compiler error: in convert_move, at expr.c:270
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jul 13 14:42:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80583
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work|5.4.0 |
Assignee|marxin at gcc dot gnu.org |unassigned at gcc dot gnu.org
Summary|[6/7/8 Regression] ICE with |[6/7/8 Regression] ICE with
|target_clones and |target attribute and
|vectorized float: internal |vectorized float: internal
|compiler error: in |compiler error: in
|convert_move, at expr.c:270 |convert_move, at expr.c:270
Known to fail| |4.9.4, 5.4.0, 6.4.0, 7.1.0
--- Comment #6 from Martin Liška <marxin at gcc dot gnu.org> ---
So it's a different story and it's related to target options:
$ cat /home/marxin/Programming/testcases/pr80583-2.ii
struct S {
__attribute__((__vector_size__(8 * sizeof(0)))) int a;
};
int __attribute__((target("avx"))) foo() {
S *b{};
__attribute__((__vector_size__(8 * sizeof(0)))) int x = b->a;
}
$ g++ /home/marxin/Programming/testcases/pr80583-2.ii -c
during RTL pass: expand
/home/marxin/Programming/testcases/pr80583-2.ii: In function ‘int foo()’:
/home/marxin/Programming/testcases/pr80583-2.ii:7:55: internal compiler error:
in convert_move, at expr.c:232
__attribute__((__vector_size__(8 * sizeof(0)))) int x = b->a;
^
0xa593ab convert_move(rtx_def*, rtx_def*, int)
../../gcc/expr.c:232
0xa60292 store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool,
tree_node*)
../../gcc/expr.c:5636
0xa619a7 expand_assignment(tree_node*, tree_node*, bool)
../../gcc/expr.c:5327
0x93d9a8 expand_gimple_stmt_1
../../gcc/cfgexpand.c:3651
0x93d9a8 expand_gimple_stmt
../../gcc/cfgexpand.c:3749
0x93fb17 expand_gimple_basic_block
../../gcc/cfgexpand.c:5753
0x945ba6 execute
../../gcc/cfgexpand.c:6360
Which ICEs for all releases I have (4.5.0+).
More information about the Gcc-bugs
mailing list