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

Alex Coplan <acoplan at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|[17 Regression] ICE with    |ICE with SVE intrinsics in
                   |SVE intrinsics in           |aarch64_gimple_fold_builtin
                   |aarch64_gimple_fold_builtin |: expected ssa_name, have
                   |: expected ssa_name, have   |mem_ref
                   |mem_ref                     |

--- Comment #9 from Alex Coplan <acoplan at gcc dot gnu.org> ---
I'll note that r17-1237-g4fb2541debcca1d1bd7b71b32cee39755f067640 just does:

   gcc_assert (!gimple_has_lhs (orig_stmt) || !gimple_has_lhs (stmt)
-             || gimple_get_lhs (orig_stmt) == gimple_get_lhs (stmt));
+             || gimple_get_lhs (orig_stmt) == gimple_get_lhs (stmt)
+             || completely_unused (gimple_get_lhs (orig_stmt)));

but the assertion failed already before with:

  gimple_get_lhs (orig_stmt) == gimple_get_lhs (stmt)

evaluating to false due to the unsharing, so I think the addition of ||
completely_unused here is irrelevant and this shouldn't be marked as a [17
Regression].

Reply via email to