This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[committed] Simplify constraint checks in PA prefetch patterns
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 8 Jul 2004 16:23:39 -0400 (EDT)
- Subject: [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