Hello!

No functional change.

2011-08-20  Uros Bizjak  <ubiz...@gmail.com>

        * config/i386/i386.c (ix86_binary_operator_ok): Use
        satisfies_constraint_L.

Tested on x86_64-pc-linux-gnu, committed to mainline.

Uros.
Index: i386.c
===================================================================
--- i386.c      (revision 177927)
+++ i386.c      (working copy)
@@ -15787,16 +15787,12 @@ ix86_binary_operator_ok (enum rtx_code code, enum
 
   /* Source 1 cannot be a non-matching memory.  */
   if (MEM_P (src1) && !rtx_equal_p (dst, src1))
-    {
-      /* Support "andhi/andsi/anddi" as a zero-extending move.  */
-      return (code == AND
-             && (mode == HImode
-                 || mode == SImode
-                 || (TARGET_64BIT && mode == DImode))
-             && CONST_INT_P (src2)
-             && (INTVAL (src2) == 0xff
-                 || INTVAL (src2) == 0xffff));
-    }
+    /* Support "andhi/andsi/anddi" as a zero-extending move.  */
+    return (code == AND
+           && (mode == HImode
+               || mode == SImode
+               || (TARGET_64BIT && mode == DImode))
+           && satisfies_constraint_L (src2));
 
   return true;
 }

Reply via email to