https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68293
Bug ID: 68293 Summary: [6 Regression] ICE: in prepare_cmp_insn, at optabs.c:3813 with vector compare with -O0 @ aarch64 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: zsojka at seznam dot cz Target Milestone: --- Created attachment 36684 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=36684&action=edit reduced testcase This seems to be a recent regression. r230014 is fine (only 6 ICEs in prepare_cmp_insn in the whole testsuite run), r230115 and r230151 are failing (hundreds of ICEs) Compiler output: $ cc1 -quiet testcase.c testcase.c: In function 'foo': testcase.c:6:13: internal compiler error: in prepare_cmp_insn, at optabs.c:3813 return *u == *v; ^ 0xa00156 prepare_cmp_insn /repo/gcc-trunk/gcc/optabs.c:3813 0xa00251 emit_cmp_and_jump_insns(rtx_def*, rtx_def*, rtx_code, rtx_def*, machine_mode, int, rtx_def*, int) /repo/gcc-trunk/gcc/optabs.c:3960 0x737d82 do_compare_rtx_and_jump(rtx_def*, rtx_def*, rtx_code, int, machine_mode, rtx_def*, rtx_code_label*, rtx_code_label*, int) /repo/gcc-trunk/gcc/dojump.c:1140 0x738d58 do_compare_and_jump /repo/gcc-trunk/gcc/dojump.c:1219 0x73b089 do_jump_1(tree_code, tree_node*, tree_node*, rtx_code_label*, rtx_code_label*, int) /repo/gcc-trunk/gcc/dojump.c:231 0x7ee12f expand_expr_real_2(separate_ops*, rtx_def*, machine_mode, expand_modifier) /repo/gcc-trunk/gcc/expr.c:9076 0x6c5d6b expand_gimple_stmt_1 /repo/gcc-trunk/gcc/cfgexpand.c:3613 0x6c5d6b expand_gimple_stmt /repo/gcc-trunk/gcc/cfgexpand.c:3673 0x6c76e2 expand_gimple_basic_block /repo/gcc-trunk/gcc/cfgexpand.c:5679 0x6cce6e execute /repo/gcc-trunk/gcc/cfgexpand.c:6291 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. $ xgcc -v Using built-in specs. COLLECT_GCC=/repo/build-trunk-230151-checking-yes-rtl-df-nographite-aarch64/gcc/xgcc Target: aarch64-unknown-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=aarch64-unknown-linux-gnu --with-ld=/usr/bin/aarch64-unknown-linux-gnu-ld --with-as=/usr/bin/aarch64-unknown-linux-gnu-as --with-sysroot=/chroot/aarch64 --disable-libstdcxx-pch --prefix=/repo/gcc-trunk//binary-trunk-230151-checking-yes-rtl-df-nographite-aarch64 Thread model: posix gcc version 6.0.0 20151111 (experimental) (GCC) Tested revisions: r230151 - ICE r230115 - ICE r230014 - OK 4_5-branch r230093 - OK