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.