OSDN Git Service

PR target/41900
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Nov 2009 07:53:05 +0000 (07:53 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Nov 2009 07:53:05 +0000 (07:53 +0000)
commit3bb0f480ef2c8cb225410fa027ce12f161bbf5d0
tree98edb715c3d959ea46c8fc662edb84967cd18a61
parent2a95015b40549ee2f4eacfcd28dc6e2f55adb908
PR target/41900
* config/i386/i386.h (ix86_arch_indices) <X86_ARCH_CALL_ESP>: New.
(TARGET_CALL_ESP): New define.
* config/i386/i386.c (initial_ix86_tune_features): Initialize
X86_ARCH_CALL_ESP.
* config/i386/i386.md
(*call_pop_1_esp, *call_1_esp, *call_value_pop_1_esp,
*call_value_1_esp): Rename from *call_pop_1, *call_1,
*call_value_pop_1 and *call_value_1.  Depend on TARGET_CALL_ESP.
(*call_pop_1, *call_1, *call_value_pop_1, *call_value_1):
New patterns, use "lsm" as operand 1 constraint.
* config/i386/predicates.md (call_insn_operand): Depend on
index_register_operand for !TARGET_CALL_ESP to avoid %esp register.

testsuite/ChangeLog:

PR target/41900
* gcc.target/i386/pr41900.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@153838 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md
gcc/config/i386/predicates.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr41900.c [new file with mode: 0644]