https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61239
Bug ID: 61239 Summary: [4.10 Regression]: ICE in decompose, at rtl.h when compiling vshuf-v16hi.c using -mavx2 Product: gcc Version: 4.10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: rtl-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ubizjak at gmail dot com As found in [1]: FAIL: c-c++-common/torture/vshuf-v16hi.c -O0 (internal compiler error) FAIL: c-c++-common/torture/vshuf-v16hi.c -O0 (test for excess errors) FAIL: c-c++-common/torture/vshuf-v16hi.c -O1 (internal compiler error) FAIL: c-c++-common/torture/vshuf-v16hi.c -O1 (test for excess errors) FAIL: c-c++-common/torture/vshuf-v16hi.c -O2 (internal compiler error) FAIL: c-c++-common/torture/vshuf-v16hi.c -O2 (test for excess errors) FAIL: c-c++-common/torture/vshuf-v16hi.c -O3 -fomit-frame-pointer (internal compiler error) FAIL: c-c++-common/torture/vshuf-v16hi.c -O3 -fomit-frame-pointer (test for excess errors) FAIL: c-c++-common/torture/vshuf-v16hi.c -O3 -g (internal compiler error) FAIL: c-c++-common/torture/vshuf-v16hi.c -O3 -g (test for excess errors) FAIL: c-c++-common/torture/vshuf-v16hi.c -Os (internal compiler error) FAIL: c-c++-common/torture/vshuf-v16hi.c -Os (test for excess errors) FAIL: c-c++-common/torture/vshuf-v16hi.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (internal compiler error) FAIL: c-c++-common/torture/vshuf-v16hi.c -O2 -flto -fno-use-linker-plugin -flto-partition=none (test for excess errors) $ /ssd/uros/gcc-build/gcc/cc1 -O2 -mavx2 -quiet vshuf-v16hi.c In file included from vshuf-v16hi.c:5:0: vshuf-main.inc: In function ‘main’: vshuf-main.inc:12:9: internal compiler error: in decompose, at rtl.h:1456 V r = __builtin_shuffle(tests[i].in, tests[i].mask); ^ 0x72fe16 wi::int_traits<std::pair<rtx_def*, machine_mode> >::decompose(long*, unsigned int, std::pair<rtx_def*, machine_mode> const&) /home/uros/gcc-svn/trunk/gcc/rtl.h:1454 0x72fe16 wide_int_ref_storage<std::pair<rtx_def*, machine_mode> > /home/uros/gcc-svn/trunk/gcc/wide-int.h:950 0x72fe16 generic_wide_int<std::pair<rtx_def*, machine_mode> > /home/uros/gcc-svn/trunk/gcc/wide-int.h:727 0x72fe16 make_tree(tree_node*, rtx_def*) /home/uros/gcc-svn/trunk/gcc/expmed.c:4970 0x72fa0b make_tree(tree_node*, rtx_def*) /home/uros/gcc-svn/trunk/gcc/expmed.c:5001 0xc39055 force_const_mem(machine_mode, rtx_def*) /home/uros/gcc-svn/trunk/gcc/varasm.c:3694 0x7430c2 emit_move_insn(rtx_def*, rtx_def*) /home/uros/gcc-svn/trunk/gcc/expr.c:3587 0x725dbb force_reg /home/uros/gcc-svn/trunk/gcc/explow.c:670 0xc8d717 ix86_expand_vec_perm(rtx_def**) /home/uros/gcc-svn/trunk/gcc/config/i386/i386.c:21548 0xd65635 gen_vec_permv16hi(rtx_def*, rtx_def*, rtx_def*, rtx_def*) /home/uros/gcc-svn/trunk/gcc/config/i386/sse.md:8934 [1] https://gcc.gnu.org/ml/gcc-testresults/2014-05/msg01644.html