diff options
author | Uros Bizjak <ubizjak@gmail.com> | 2012-03-14 09:32:51 +0100 |
---|---|---|
committer | Uros Bizjak <uros@gcc.gnu.org> | 2012-03-14 09:32:51 +0100 |
commit | a1d3d84bdf44215b8445af6693501747917519bd (patch) | |
tree | 60a02fd45ccb348533a9f51c1eec0ee356561248 /gcc/config/i386/predicates.md | |
parent | 717a5c6206ec637b71fb1e8f27c1c26c70eb91ce (diff) | |
download | gcc-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.md | 8 |
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. |