This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/80583] [6/7/8 Regression] ICE with target attribute and vectorized float: internal compiler error: in convert_move, at expr.c:270


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+).

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]