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

--- Comment #9 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-14 branch has been updated by Richard Biener
<rgue...@gcc.gnu.org>:

https://gcc.gnu.org/g:a8e01b735a1b7e8386ad7baab54802faf58bae02

commit r14-11003-ga8e01b735a1b7e8386ad7baab54802faf58bae02
Author: Richard Biener <rguent...@suse.de>
Date:   Mon Nov 4 11:39:05 2024 +0100

    middle-end/117433 - ICE with gimple BLKmode reg copy

    When we end up expanding a SSA name copy with BLKmode regs which can
    happen for vectors, possibly wrapped in a NOP-conversion or
    a PAREN_EXPR and we are not optimizing we can end up with two
    BLKmode MEMs that expand_gimple_stmt_1 doesn't properly handle
    when expanding, trying to emit_move_insn them.  Looking at store_expr
    which what expand_gimple_stmt_1 is really doing reveals a lot of
    magic that's missing.  It eventually falls back to emit_block_move
    (store_expr isn't exported), so this is what I ended up using here
    given I think we'll only have BLKmode "registers" for vectors.

            PR middle-end/117433
            * cfgexpand.cc (expand_gimple_stmt_1): Use emit_block_move
            when moving temp to BLKmode target.

            * gcc.dg/pr117433.c: New testcase.

    (cherry picked from commit 2fc25a21820001c67258d30f0960ac9cd0f268cf)
  • [Bug middle-end/117433] [14 Reg... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to