This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[committed] Simplify constraint checks in PA prefetch patterns


After doing the last update to the new PA prefetch patterns, I realized
that the constraint checks could be simplified.  Tested on hppa64-hp-hpux11.11
with no regressions.  Committed to trunk.

Dave
-- 
J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2004-07-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* pa.md (prefetch_32, prefetch_64): Simplify constraint checks.

Index: config/pa/pa.md
===================================================================
RCS file: /cvs/gcc/gcc/gcc/config/pa/pa.md,v
retrieving revision 1.152
diff -u -3 -p -r1.152 pa.md
--- config/pa/pa.md	7 Jul 2004 19:24:36 -0000	1.152
+++ config/pa/pa.md	8 Jul 2004 20:01:07 -0000
@@ -9393,12 +9393,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
 	     (match_operand:DI 2 "const_int_operand" "n,n"))]
   "TARGET_64BIT
    && (operands[2] != const0_rtx
-       || REG_P (XEXP (operands[0], 0))
-       || IS_INDEX_ADDR_P (XEXP (operands[0], 0))
-       || (GET_CODE (XEXP (operands[0], 0)) == PLUS
-	   && REG_P (XEXP (XEXP (operands[0], 0), 0))
-	   && GET_CODE (XEXP (XEXP (operands[0], 0), 1)) == CONST_INT
-	   && VAL_5_BITS_P (XEXP (XEXP (operands[0], 0), 1))))"
+       || GET_CODE (XEXP (operands[0], 0)) != PLUS
+       || GET_CODE (XEXP (XEXP (operands[0], 0), 1)) != CONST_INT
+       || VAL_5_BITS_P (XEXP (XEXP (operands[0], 0), 1)))"
 {
   /* The SL completor indicates good spatial locality but poor temporal
      locality.  The ldw instruction with a target of general register 0
@@ -9448,12 +9445,9 @@ add,l %2,%3,%3\;bv,n %%r0(%3)"
 	     (match_operand:SI 2 "const_int_operand" "n,n"))]
   "TARGET_PA_20
    && (operands[2] != const0_rtx
-       || REG_P (XEXP (operands[0], 0))
-       || IS_INDEX_ADDR_P (XEXP (operands[0], 0))
-       || (GET_CODE (XEXP (operands[0], 0)) == PLUS
-	   && REG_P (XEXP (XEXP (operands[0], 0), 0))
-	   && GET_CODE (XEXP (XEXP (operands[0], 0), 1)) == CONST_INT
-	   && VAL_5_BITS_P (XEXP (XEXP (operands[0], 0), 1))))"
+       || GET_CODE (XEXP (operands[0], 0)) != PLUS
+       || GET_CODE (XEXP (XEXP (operands[0], 0), 1)) != CONST_INT
+       || VAL_5_BITS_P (XEXP (XEXP (operands[0], 0), 1)))"
 {
   /* The SL completor indicates good spatial locality but poor temporal
      locality.  The ldw instruction with a target of general register 0


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]