extend.texi: Document sseregparm target attribute.
authorRichard Guenther <rguenth@gcc.gnu.org>
Thu, 16 Jun 2005 16:39:51 +0000 (16:39 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Thu, 16 Jun 2005 16:39:51 +0000 (16:39 +0000)
commit2f84b963e9556be5bc0219aec23941ea15b61596
treea3006dc02705766a9adcabb69887d2a2d4c2d6f3
parent9f18db39e6bdfba98347725bd8376365ac5817e9
extend.texi: Document sseregparm target attribute.

2005-06-16  Richard Guenther  <rguenth@gcc.gnu.org>

* doc/extend.texi: Document sseregparm target attribute.
Clarify fastcall and regparm documentation.
* config/i386/i386.h: Adjust float_in_sse documentation.
* config/i386/i386.c: Add new target attribute sseregparm.
(ix86_handle_cdecl_attribute, ix86_handle_regparm_attribute):
Merge into ...
(ix86_handle_cconv_attribute): ... here.  Also handle
sseregparm attribute.
(ix86_comp_type_attributes): Compare sseregparm attributes.
(ix86_function_sseregparm): New function, split out from ...
(init_cumulative_args): ... here.  Use to decide use
of SSE registers and error in case of missing support.
(ix86_value_regno): Likewise.
(function_arg_advance): Do not bail out for DFmode if we need
to pass doubles in registers.
(function_arg): Likewise.

* gcc.target/i386/attributes-error.c: New testcase.
* gcc.target/i386/fastcall-sseregparm.c: Likewise.
* gcc.target/i386/regparm-stdcall.c: Likewise.
* gcc.target/i386/sseregparm-1.c: Likewise.
* gcc.target/i386/sseregparm-2.c: Likewise.

From-SVN: r101085
gcc/ChangeLog
gcc/config/i386/i386.c
gcc/config/i386/i386.h
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/attributes-error.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/fastcall-sseregparm.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/regparm-stdcall.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sseregparm-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/sseregparm-2.c [new file with mode: 0644]