Patchwork [i386] : Use satisfies_constraint_L in ix86_binary_operator_ok

login
register
mail settings
Submitter Uros Bizjak
Date Aug. 20, 2011, 11:07 a.m.
Message ID <CAFULd4Y5uetaj9xzVj20339um+a23mf9Hn8_SUMZUF5HkR=rbg@mail.gmail.com>
Download mbox | patch
Permalink /patch/110763/
State New
Headers show

Comments

Uros Bizjak - Aug. 20, 2011, 11:07 a.m.
Hello!

No functional change.

2011-08-20  Uros Bizjak  <ubizjak@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.

Patch

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;
 }