2004-12-17 Jan Beulich <jbeulich@novell.com>
commit5b92031c753b832f7c691ec4078b6dd8151c7db2
authorjbeulich <jbeulich@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Dec 2004 08:53:58 +0000 (17 08:53 +0000)
committerjbeulich <jbeulich@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 17 Dec 2004 08:53:58 +0000 (17 08:53 +0000)
tree3121c1641576308f3e5805d1545e69350f84ef27
parent17febea81bdfad08cfa6edc5b2fea4ece90b4e05
2004-12-17  Jan Beulich  <jbeulich@novell.com>

PR target/17603
* config/i386/i386.c (enum x86_64_reg_class): Define
X86_64_COMPLEX_X87_CLASS.
(x86_64_reg_class_names): Add name for X86_64_COMPLEX_X87_CLASS.
(merge_classes): Handle X86_64_COMPLEX_X87_CLASS.
(classify_argument): XCmode is X86_64_COMPLEX_X87_CLASS.
(examine_argument): X86_64_COMPLEX_X87_CLASS requires two
registers when dealing with a return value.
(construct_container): Handle X86_64_COMPLEX_X87_CLASS.
Eliminate impossible case of two X87/X87UP pairs (this now is
being expressed by a single COMPLEX_X87).
(x86_libcall_value): XCmode gets returned in st0/st1.

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