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].