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

            Bug ID: 70062
           Summary: ICE: in decide_alg, at config/i386/i386.c:26173 with
                    -mmemcpy-strategy=libcall
           Product: gcc
           Version: 6.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: zsojka at seznam dot cz
  Target Milestone: ---
            Target: i686-pc-linux-gnu

Created attachment 37852
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37852&action=edit
reduced testcase

Compiler output:
$ i686-pc-linux-gnu-gcc -mtune=k6-2 -minline-all-stringops
-minline-stringops-dynamically -mmemcpy-strategy=libcall:-1:noalign testcase.c
-Wno-psabi
testcase.c: In function 'foo':
testcase.c:6:10: internal compiler error: in decide_alg, at
config/i386/i386.c:26173
   return (v8si){v32u64_0[0]};
          ^
0xecdf54 decide_alg
        /repo/gcc-trunk/gcc/config/i386/i386.c:26173
0xf1454b ix86_expand_set_or_movmem(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*, bool)
        /repo/gcc-trunk/gcc/config/i386/i386.c:26433
0x10f7ede gen_movmemsi(rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*)
        /repo/gcc-trunk/gcc/config/i386/i386.md:16243
0xa8bfca insn_gen_fn::operator()(rtx_def*, rtx_def*, rtx_def*, rtx_def*,
rtx_def*, rtx_def*, rtx_def*, rtx_def*, rtx_def*) const
        /repo/gcc-trunk/gcc/recog.h:308
0xa8bfca maybe_gen_insn(insn_code, unsigned int, expand_operand*)
        /repo/gcc-trunk/gcc/optabs.c:7020
0xa8c688 maybe_expand_insn(insn_code, unsigned int, expand_operand*)
        /repo/gcc-trunk/gcc/optabs.c:7032
0x8357de emit_block_move_via_movmem
        /repo/gcc-trunk/gcc/expr.c:1301
0x8357de emit_block_move_hints(rtx_def*, rtx_def*, rtx_def*, block_op_methods,
unsigned int, long, unsigned long, unsigned long, unsigned long)
        /repo/gcc-trunk/gcc/expr.c:1119
0x83624f emit_block_move(rtx_def*, rtx_def*, rtx_def*, block_op_methods)
        /repo/gcc-trunk/gcc/expr.c:1157
0x83fbc4 store_expr_with_bounds(tree_node*, rtx_def*, int, bool, bool,
tree_node*)
        /repo/gcc-trunk/gcc/expr.c:5573
0x841654 expand_assignment(tree_node*, tree_node*, bool)
        /repo/gcc-trunk/gcc/expr.c:5175
0x713c7d expand_gimple_stmt_1
        /repo/gcc-trunk/gcc/cfgexpand.c:3618
0x713c7d expand_gimple_stmt
        /repo/gcc-trunk/gcc/cfgexpand.c:3714
0x716252 expand_gimple_basic_block
        /repo/gcc-trunk/gcc/cfgexpand.c:5720
0x71b8b6 execute
        /repo/gcc-trunk/gcc/cfgexpand.c:6335
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

$ i686-pc-linux-gnu-gcc -v
Using built-in specs.
COLLECT_GCC=/repo/gcc-trunk/binary-latest-i686/bin/i686-pc-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/repo/gcc-trunk/binary-trunk-233911-checking-yes-rtl-df-nographite-i686/bin/../libexec/gcc/i686-pc-linux-gnu/6.0.0/lto-wrapper
Target: i686-pc-linux-gnu
Configured with: /repo/gcc-trunk//configure --enable-languages=c,c++
--enable-checking=yes,rtl,df --without-cloog --without-ppl --without-isl
--build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu
--target=i686-pc-linux-gnu --with-ld=/usr/bin/i686-pc-linux-gnu-ld
--with-as=/usr/bin/i686-pc-linux-gnu-as --with-sysroot=/usr/i686-pc-linux-gnu
--disable-libstdcxx-pch
--prefix=/repo/gcc-trunk//binary-trunk-233911-checking-yes-rtl-df-nographite-i686
Thread model: posix
gcc version 6.0.0 20160302 (experimental) (GCC) 

Tested revisions:
Tested revisions:
trunk r233911 - FAIL
trunk r233861 - FAIL
5-branch r233800 - FAIL (endless recursion)
4_9-branch r233802 - FAIL (endless recursion)

Reply via email to