https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119013
Jeffrey A. Law <law at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Ever confirmed|0 |1
Last reconfirmed| |2025-02-27
Status|UNCONFIRMED |NEW
--- Comment #1 from Jeffrey A. Law <law at gcc dot gnu.org> ---
The way we typically deal with these issues with rv64 is to create a DImode
temporary and store the result in there. We then use a narrowing subreg to
copy from the temporary to the ultimate destination. The narrowing subreg will
have magic REG_PROMOTED_P bits set. That in turn allows removal of the
explicit sign extension later.
It's a bit awkward for a simple move pattern, but ought to still be doable.