https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101930
--- Comment #2 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to Hongtao.liu from comment #1) > (> Maybe similar to PR101860. > > No, it's a different issue. > > Should be fixed by > > { > rtx op2 = gen_reg_rtx (<MODE>mode); > > - if (!nonimmediate_operand (operands[1], <MODE>mode)) > + if (!register_operand (operands[1], <MODE>mode)) > operands[1] = force_reg (<MODE>mode, operands[1]); > > i'm testing a patch. No need to check for register_operand, just use operands[1] = force_reg (...); force_reg checks if the value is already a register.