https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108272
Bug ID: 108272 Summary: [13 Regression] ICE in gen_movxo, at config/rs6000/mma.md:339 Product: gcc Version: 13.0 Status: UNCONFIRMED Keywords: ice-on-invalid-code Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com CC: linkw at gcc dot gnu.org Target Milestone: --- Target: powerpc-*-linux-gnu This issue was originally reported in PR106736 comment 14. gcc 13.0.0 20221225 snapshot (g:febb58d28bfa4b544ec7ffec2d61f46d25205ff0) ICEs when compiling gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c: % powerpc-e300c3-linux-gnu-gcc-13 -c gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c: In function 'foo1': gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c:20:10: warning: GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee [-Wpsabi] 20 | vec[1] = __builtin_vsx_xvcvspbf16 (vec[0]); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ during RTL pass: expand gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c: In function 'foo0': gcc/testsuite/gcc.target/powerpc/mma-builtin-3.c:9:3: internal compiler error: in gen_movxo, at config/rs6000/mma.md:339 9 | asm ("#..." : "=d" (acc)); | ^~~ 0x780433 gen_movxo(rtx_def*, rtx_def*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/config/rs6000/mma.md:339 0xa767b7 rtx_insn* insn_gen_fn::operator()<rtx_def*, rtx_def*>(rtx_def*, rtx_def*) const /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/recog.h:407 0xa767b7 emit_move_insn_1(rtx_def*, rtx_def*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/expr.cc:4172 0xa76bbf emit_move_insn(rtx_def*, rtx_def*) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/expr.cc:4342 0xa7ef4e store_expr(tree_node*, rtx_def*, int, bool, bool) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/expr.cc:6519 0xa81703 expand_assignment(tree_node*, tree_node*, bool) /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/expr.cc:6051 0x9479f7 expand_asm_stmt /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/cfgexpand.cc:3345 0x94bd29 expand_gimple_stmt_1 /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/cfgexpand.cc:3877 0x94bd29 expand_gimple_stmt /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/cfgexpand.cc:4044 0x951d4e expand_gimple_basic_block /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/cfgexpand.cc:6096 0x953866 execute /var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-13.0.0_p20221225/work/gcc-13-20221225/gcc/cfgexpand.cc:6822