From 6281b3df10b5122d3520683874bd53b73c69975d Mon Sep 17 00:00:00 2001 From: uros Date: Wed, 14 Mar 2012 08:32:51 +0000 Subject: [PATCH] Revert: 2012-03-14 Uros Bizjak * config/i386/predicates.md (constant_call_address_operand): Declare as special predicate. Update all uses. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185376 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 8 ++++++++ gcc/config/i386/predicates.md | 8 +++++--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 079fcba..88fc542 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2012-03-14 Uros Bizjak + + Revert: + 2012-03-14 Uros Bizjak + + * config/i386/predicates.md (constant_call_address_operand): Declare + as special predicate. Update all uses. + 2012-03-13 Jakub Jelinek PR c/52577 diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md index e53eb56..4c76648 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. -- 2.7.4