mirror of git://gcc.gnu.org/git/gcc.git
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
This commit is contained in:
parent
717a5c6206
commit
a1d3d84bdf
|
@ -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>
|
2012-03-13 Jakub Jelinek <jakub@redhat.com>
|
||||||
|
|
||||||
PR c/52577
|
PR c/52577
|
||||||
|
|
|
@ -500,7 +500,7 @@
|
||||||
(match_test "op == ix86_tls_module_base ()")))
|
(match_test "op == ix86_tls_module_base ()")))
|
||||||
|
|
||||||
;; Test for a pc-relative call operand
|
;; Test for a pc-relative call operand
|
||||||
(define_special_predicate "constant_call_address_operand"
|
(define_predicate "constant_call_address_operand"
|
||||||
(match_code "symbol_ref")
|
(match_code "symbol_ref")
|
||||||
{
|
{
|
||||||
if (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC)
|
if (ix86_cmodel == CM_LARGE || ix86_cmodel == CM_LARGE_PIC)
|
||||||
|
@ -573,14 +573,16 @@
|
||||||
;; Test for a valid operand for a call instruction.
|
;; Test for a valid operand for a call instruction.
|
||||||
;; Allow constant call address operands in Pmode only.
|
;; Allow constant call address operands in Pmode only.
|
||||||
(define_special_predicate "call_insn_operand"
|
(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")
|
(match_operand 0 "call_register_no_elim_operand")
|
||||||
(and (not (match_test "TARGET_X32"))
|
(and (not (match_test "TARGET_X32"))
|
||||||
(match_operand 0 "memory_operand"))))
|
(match_operand 0 "memory_operand"))))
|
||||||
|
|
||||||
;; Similarly, but for tail calls, in which we cannot allow memory references.
|
;; Similarly, but for tail calls, in which we cannot allow memory references.
|
||||||
(define_special_predicate "sibcall_insn_operand"
|
(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_operand 0 "register_no_elim_operand")))
|
||||||
|
|
||||||
;; Match exactly zero.
|
;; Match exactly zero.
|
||||||
|
|
Loading…
Reference in New Issue