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.