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/78643] New: ICE in convert_move, at expr.c:230


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78643

            Bug ID: 78643
           Summary: ICE in convert_move, at expr.c:230
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org
  Target Milestone: ---

Created attachment 40223
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40223&action=edit
test case

seen on trunk, 6 and 5 branches on x86_64-linux-gnu, works with -O1 and up:

$ g++ -c -O0 main.cpp
main.cpp: In function 'void p(AV)':
main.cpp:80:6: note: The ABI for passing parameters with 32-byte alignment has
changed in GCC 4.6
 void p(union AV a) {
      ^
main.cpp: In function 'void test(AV, int)':
main.cpp:101:29: internal compiler error: in convert_move, at expr.c:230
     r.av = _mm256_shift_left(a.av,n);
            ~~~~~~~~~~~~~~~~~^~~~~~~~
0x898da0 convert_move(rtx_def*, rtx_def*, int)
        ../../src/gcc/expr.c:230
0x89f5cb store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool,
tree_node*)
        ../../src/gcc/expr.c:5628
0x89fa3e expand_assignment(tree_node*, tree_node*, bool)
        ../../src/gcc/expr.c:5320
0x7b3dcd expand_gimple_stmt_1
        ../../src/gcc/cfgexpand.c:3641
0x7b3dcd expand_gimple_stmt
        ../../src/gcc/cfgexpand.c:3737
0x7b538f expand_gimple_basic_block
        ../../src/gcc/cfgexpand.c:5744
0x7ba596 execute
        ../../src/gcc/cfgexpand.c:6358
Please submit a full bug report,
with preprocessed source if appropriate.

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