summaryrefslogtreecommitdiff
path: root/gcc/config/i386/predicates.md
diff options
context:
space:
mode:
authorUros Bizjak <ubizjak@gmail.com>2012-03-14 09:32:51 +0100
committerUros Bizjak <uros@gcc.gnu.org>2012-03-14 09:32:51 +0100
commita1d3d84bdf44215b8445af6693501747917519bd (patch)
tree60a02fd45ccb348533a9f51c1eec0ee356561248 /gcc/config/i386/predicates.md
parent717a5c6206ec637b71fb1e8f27c1c26c70eb91ce (diff)
downloadgcc-a1d3d84bdf44215b8445af6693501747917519bd.tar.gz
Revert:
2012-03-14 Uros Bizjak <ubizjak@gmail.com> * config/i386/predicates.md (constant_call_address_operand): Declare as special predicate. Update all uses. From-SVN: r185376
Diffstat (limited to 'gcc/config/i386/predicates.md')
-rw-r--r--gcc/config/i386/predicates.md8
1 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index e53eb568f55..4c766484ecf 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -500,7 +500,7 @@
(match_test "op == ix86_tls_module_base ()")))
;; Test for a pc-relative call operand
-(define_special_predicate "constant_call_address_operand"
+(define_predicate "constant_call_address_operand"
(match_code "symbol_ref")
{
if (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC)
@@ -573,14 +573,16 @@
;; Test for a valid operand for a call instruction.
;; Allow constant call address operands in Pmode only.
(define_special_predicate "call_insn_operand"
- (ior (match_operand 0 "constant_call_address_operand")
+ (ior (match_test "constant_call_address_operand
+ (op, mode == VOIDmode ? mode : Pmode)")
(match_operand 0 "call_register_no_elim_operand")
(and (not (match_test "TARGET_X32"))
(match_operand 0 "memory_operand"))))
;; Similarly, but for tail calls, in which we cannot allow memory references.
(define_special_predicate "sibcall_insn_operand"
- (ior (match_operand 0 "constant_call_address_operand")
+ (ior (match_test "constant_call_address_operand
+ (op, mode == VOIDmode ? mode : Pmode)")
(match_operand 0 "register_no_elim_operand")))
;; Match exactly zero.