]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
SH: Fix the condition to use movsh_ie_y pattern.
authorKaz Kojima <kkojima@rr.iij4u.or.jp>
Tue, 24 Sep 2024 09:35:46 +0000 (18:35 +0900)
committerOleg Endo <olegendo@gcc.gnu.org>
Wed, 25 Sep 2024 01:22:10 +0000 (10:22 +0900)
gcc/ChangeLog:
* config/sh/sh.cc (sh_movsf_ie_y_split_p): Take the subreg
of DImode into account.

gcc/config/sh/sh.cc

index b2ba7488c5de1bb6f6dfab3e5b5511d22a0032fe..d9e7e67cba65c6eca08849e9c2c62981f5e08443 100644 (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;