aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/pa/predicates.md
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2010-07-03 22:43:47 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2010-07-03 22:43:47 +0000
commitd3ca3d6bd706bd629168a7e467ae1efdd923fed8 (patch)
treecb35f7db82c2d2397c270304adbd8d6c6e352152 /gcc/config/pa/predicates.md
parent4d451982e36b1f5a7a8412d9fb36924699aeb223 (diff)
downloadgcc-d3ca3d6bd706bd629168a7e467ae1efdd923fed8.zip
gcc-d3ca3d6bd706bd629168a7e467ae1efdd923fed8.tar.gz
gcc-d3ca3d6bd706bd629168a7e467ae1efdd923fed8.tar.bz2
re PR target/44597 (FAIL: gcc.c-torture/execute/builtin-prefetch-2.c compilation, ICE)
PR target/44597 * config/pa/predicates.md (prefetch_cc_operand): Remove. (prefetch_nocc_operand): Likewise. * config/pa/pa.md (prefetch): Revise expander to use prefetch_20. (prefetch_20): New insn. (prefetch_cc): Remove. (prefetch_nocc): Likewise. From-SVN: r161786
Diffstat (limited to 'gcc/config/pa/predicates.md')
-rw-r--r--gcc/config/pa/predicates.md58
1 files changed, 0 insertions, 58 deletions
diff --git a/gcc/config/pa/predicates.md b/gcc/config/pa/predicates.md
index 0f0a424..959dbdd 100644
--- a/gcc/config/pa/predicates.md
+++ b/gcc/config/pa/predicates.md
@@ -240,64 +240,6 @@
return memory_address_p (mode, XEXP (op, 0));
})
-;; Accept anything that can be used as the source operand for a
-;; prefetch instruction with a cache-control completer.
-
-(define_predicate "prefetch_cc_operand"
- (match_code "mem")
-{
- if (GET_CODE (op) != MEM)
- return 0;
-
- op = XEXP (op, 0);
-
- /* We must reject virtual registers as we don't allow REG+D. */
- if (op == virtual_incoming_args_rtx
- || op == virtual_stack_vars_rtx
- || op == virtual_stack_dynamic_rtx
- || op == virtual_outgoing_args_rtx
- || op == virtual_cfa_rtx)
- return 0;
-
- if (!REG_P (op) && !IS_INDEX_ADDR_P (op))
- return 0;
-
- /* Until problems with management of the REG_POINTER flag are resolved,
- we need to delay creating prefetch insns with unscaled indexed addresses
- until CSE is not expected. */
- if (!TARGET_NO_SPACE_REGS
- && !cse_not_expected
- && GET_CODE (op) == PLUS
- && REG_P (XEXP (op, 0)))
- return 0;
-
- return memory_address_p (mode, op);
-})
-
-;; Accept anything that can be used as the source operand for a
-;; prefetch instruction with no cache-control completer.
-
-(define_predicate "prefetch_nocc_operand"
- (match_code "mem")
-{
- if (GET_CODE (op) != MEM)
- return 0;
-
- op = XEXP (op, 0);
-
- /* Until problems with management of the REG_POINTER flag are resolved,
- we need to delay creating prefetch insns with unscaled indexed addresses
- until CSE is not expected. */
- if (!TARGET_NO_SPACE_REGS
- && !cse_not_expected
- && GET_CODE (op) == PLUS
- && REG_P (XEXP (op, 0))
- && REG_P (XEXP (op, 1)))
- return 0;
-
- return memory_address_p (mode, op);
-})
-
;; Accept REG and any CONST_INT that can be moved in one instruction
;; into a general register.