Go to file
Uros Bizjak 47a37ce45e i386.opt: New target option -mx87regparm.
* config/i386/i386.opt: New target option -mx87regparm.

	* config/i386/i386.h (struct ix86_args): Add x87_nregs, x87_regno,
	float_in_x87: Add new variables. mmx_words, sse_words: Remove.
	(X87_REGPARM_MAX): Define.

	* config/i386/i386.c (override_options): Error out for
	-mx87regparm but no 80387 support.
	(ix86_attribute_table): Add x87regparm.
	(ix86_handle_cconv_attribute): Update comments for x87regparm.
	(ix86_comp_type_attributes): Check for mismatched x87regparm types.
	(ix86_function_x87regparm): New function.
	(ix86_function_arg_regno_p): Add X87_REGPARM_MAX 80387 floating
	point registers.
	(init_cumulative_args): Initialize x87_nregs and float_in_x87
	variables.
	(function_arg_advance): Process x87_nregs and x87_regno when
	floating point argument is to be passed in 80387 register.
	(function_arg): Pass XFmode arguments in 80387 registers for local
	functions.  Pass SFmode and DFmode arguments to local functions
	in 80387 registers when flag_unsafe_math_optimizations is set.

	* reg-stack.c (convert_regs_entry): Disable NaN load for
	stack registers that are used for argument passing.

	* doc/extend.texi: Document x87regparm function attribute.
	* doc/invoke.texi: Document -mx87regparm.

testsuite/ChangeLog:

	* gcc.target/i386/x87regparm-1.c: New test.
	* gcc.target/i386/x87regparm-2.c: New test.
	* gcc.target/i386/x87regparm-3.c: New test.
	* gcc.target/i386/x87regparm-4.c: New test.

From-SVN: r118859
2006-11-15 17:21:58 +01:00
boehm-gc
config * tls.m4 (GCC_CHECK_TLS): Fall back to a link test. 2006-11-13 20:35:20 +00:00
contrib
fixincludes
gcc i386.opt: New target option -mx87regparm. 2006-11-15 17:21:58 +01:00
gnattools
include
INSTALL
intl
libada
libcpp
libdecnumber
libffi
libgfortran
libgomp * tls.m4 (GCC_CHECK_TLS): Fall back to a link test. 2006-11-13 20:35:20 +00:00
libiberty
libjava * tls.m4 (GCC_CHECK_TLS): Fall back to a link test. 2006-11-13 20:35:20 +00:00
libmudflap * tls.m4 (GCC_CHECK_TLS): Fall back to a link test. 2006-11-13 20:35:20 +00:00
libobjc
libssp
libstdc++-v3 13450.cc: Do not test long double in IBM long double case. 2006-11-14 16:01:41 +00:00
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog MAINTAINERS (Write After Approval): Add myself. 2006-11-14 16:45:55 +01:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure configure.in: Remove target-libgloss from noconfigdirs for bfin-*-*. 2006-11-14 00:45:33 +00:00
configure.in configure.in: Remove target-libgloss from noconfigdirs for bfin-*-*. 2006-11-14 00:39:08 +00:00
COPYING
COPYING.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
ltcf-c.sh
ltcf-cxx.sh
ltcf-gcj.sh
ltconfig
ltmain.sh
MAINTAINERS MAINTAINERS (Write After Approval): Add myself. 2006-11-14 16:45:55 +01:00
Makefile.def
Makefile.in Makefile.tpl (clean-stage*): Test separately for package/Makefile and stageN-package/Makefile. 2006-11-14 12:14:33 +00:00
Makefile.tpl Makefile.tpl (clean-stage*): Test separately for package/Makefile and stageN-package/Makefile. 2006-11-14 12:14:33 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README
README.SCO
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.