SH: Fix the condition to use movsh_ie_y pattern.

gcc/ChangeLog:
	* config/sh/sh.cc (sh_movsf_ie_y_split_p): Take the subreg
	of DImode into account.
This commit is contained in:
Kaz Kojima 2024-09-24 18:35:46 +09:00 committed by Oleg Endo
parent 4d28c5b1eb
commit eee3b80ab6

View File

@ -11462,11 +11462,15 @@ sh_movsf_ie_y_split_p (rtx op0, rtx op1)
{
/* f, r */
if (REG_P (op0)
&& (SUBREG_P (op1) && GET_MODE (SUBREG_REG (op1)) == SImode))
&& (SUBREG_P (op1)
&& (GET_MODE (SUBREG_REG (op1)) == SImode
|| GET_MODE (SUBREG_REG (op1)) == DImode)))
return true;
/* r, f */
if (REG_P (op1)
&& (SUBREG_P (op0) && GET_MODE (SUBREG_REG (op0)) == SImode))
&& (SUBREG_P (op0)
&& (GET_MODE (SUBREG_REG (op0)) == SImode
|| GET_MODE (SUBREG_REG (op0)) == DImode)))
return true;
return false;