Revert:
authorUros Bizjak <ubizjak@gmail.com>
Wed, 14 Mar 2012 08:32:51 +0000 (09:32 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Wed, 14 Mar 2012 08:32:51 +0000 (09:32 +0100)
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

gcc/ChangeLog
gcc/config/i386/predicates.md

index 079fcba199ab2a615fd11745d37acf28b7767e46..88fc5425d9557292fe064484bc339f11c4184b3c 100644 (file)
@@ -1,3 +1,11 @@
+2012-03-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       Revert:
+       2012-03-14  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/predicates.md (constant_call_address_operand): Declare
+       as special predicate.  Update all uses.
+
 2012-03-13  Jakub Jelinek  <jakub@redhat.com>
 
        PR c/52577
index e53eb568f550a698b72b6e8fb84e8f4fdc3116e7..4c766484ecf79060936f9396e9273d15fe7e5a72 100644 (file)
        (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)
 ;; 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.