PR target/38900
commitfd0652b12729e635dd28a1c7105c9e6e7162f8af
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Jul 2009 16:41:23 +0000 (8 16:41 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Jul 2009 16:41:23 +0000 (8 16:41 +0000)
treef71db91f4b324227a6722f9b26010f65116c833b
parent194b16bc54fb602125cac58d4b20076be26184cd
PR target/38900
* config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Move to i386.c.
(enum reg_class): Add CLOBBERED_REGS.
(REG_CLASS_NAMES, REG_CLASS_CONTENTS): Likewise.
* config/i386/i386.c (ix86_conditional_register_usage): Moved
from CONDITIONAL_REGISTER_USAGE; build CLOBBERED_REGS for 64-bit.
(ix86_function_ok_for_sibcall): Tidy.  Disallow MS->SYSV sibcalls.
(ix86_expand_call): Use sibcall_insn_operand when needed.  Don't
force 64-bit sibcalls into R11.
* config/i386/constraints.md (U): New constraint.
* config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
(sibcall_1_rex64, sibcall_value_1_rex64): Likewise.
(sibcall_1_rex64_v, sibcall_value_1_rex64_v): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@149373 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/i386/constraints.md
gcc/config/i386/i386-protos.h
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/config/i386/i386.md