https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94248
--- Comment #2 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- (In reply to Jakub Jelinek from comment #1) > --- gcc/config/gcn/gcn.md.jj 2020-03-03 07:57:42.363827602 +0100 > +++ gcc/config/gcn/gcn.md 2020-03-21 15:37:45.337552515 +0100 > @@ -625,7 +625,7 @@ (define_insn_and_split "*mov<mode>_insn" > rtx outhi = gen_highpart_mode (SImode, <MODE>mode, operands[0]); > > /* Ensure that overlapping registers aren't corrupted. */ > - if (REGNO (outlo) == REGNO (inhi)) > + if (reg_overlap_mentioned_p (outlo, inhi)) > { > operands[0] = outhi; > operands[1] = inhi; > ought to fix this I've tested that one; no more ICE, and bit-identical code for all target libraries, so I suppose this is good to commit (Andrew, Julian)? If approving this patch, please respond with "Reviewed-by: NAME <EMAIL>" so that your effort will be recorded in the commit log, see <https://gcc.gnu.org/wiki/Reviewed-by>.