Go to file
Joseph Myers 17caeff262 rs6000-c.c (rs6000_cpu_cpp_builtins): Define _SOFT_DOUBLE if doubles use software floating-point.
gcc:
	* config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
	_SOFT_DOUBLE if doubles use software floating-point.
	* config/rs6000/libgcc-ppc-glibc.ver: Export additional long
	double functions if _SOFT_DOUBLE, not _SOFT_FLOAT.
	* config/rs6000/darwin-ldouble.c: Also compile functions for
	hard-float without FPRs.  Use fmsub function for all __NO_FPRS__
	cases.  Compile extra functions if _SOFT_DOUBLE, not _SOFT_FLOAT.
	* config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Remove
	commented-out long double override.
	(CPP_LONGDOUBLE_DEFAULT_SPEC): Likewise.
	* config/rs6000/eabispe.h: Likewise.
	* config/rs6000/rs6000.c (rs6000_override_options): Don't override
	long double for non-SPE.
	(rs6000_handle_option): Likewise.
	(invalid_e500_subreg): Disallow more subregs involding DImode,
	DFmode, TImode or TFmode.
	(rs6000_legitimate_offset_address_p): Check TFmode offsets for
	E500 double.
	(legitimate_lo_sum_address_p): Also check for TFmode for E500
	double.
	(rs6000_legitimize_address): Also handle TFmode for E500 double.
	(rs6000_legitimize_reload_address): Also handle TFmode for E500
	double.
	(rs6000_legitimate_address): Also check for TFmode for E500
	double.
	(rs6000_emit_move): Use DFmode subregs of TFmode for E500 double.
	(spe_build_register_parallel): Handle TFmode and TCmode.
	(rs6000_spe_function_arg): Handle TFmode and TCmode for E500
	double.
	(function_arg): Handle TFmode and TCmode for E500 double.
	(rs6000_init_libfuncs): Initialize extra libfuncs for soft double
	in general.
	(print_operand): Handle TFmode and TImode for %y.
	(rs6000_generate_compare): Handle TFmode comparisons for E500
	double.
	(spe_func_has_64bit_regs_p): Check for TFmode for E500 double.
	(rs6000_function_value): Handle TFmode and TCmode for E500 double.
	(rs6000_libcall_value): Handle TFmode and TCmode for E500 double.
	* config/rs6000/rs6000.h (CANNOT_CHANGE_MODE_CLASS): Check for
	TFmode for E500 double.
	* config/rs6000/rs6000.md (FP): Allow TF for E500 double.
	(floatsidf2): Enable for E500 double.
	(movtf_softfloat): Use rs6000_nonimmediate_operand.
	(extenddftf2): Change to extenddftf2_fprs.
	(extenddftf2): Call gen_spe_extenddftf2 or gen_extenddftf2_fprs
	depending on TARGET_E500_DOUBLE.
	(extendsftf2): Enable for E500 double.
	(trunctfdf2): Enable for E500 double.
	(trunctfsf2): Change to trunctfsf2_fprs.
	(trunctfsf2): Call gen_spe_trunctfsf2 or gen_trunctfsf2_fprs
	depending on TARGET_E500_DOUBLE.
	(floatsitf2): Enable for E500 double.
	(fix_trunctfsi2): Change to fix_trunctfsi2_fprs.
	(fix_trunctfsi2): Call gen_spe_fix_trunctfsi2 or
	gen_fix_trunctfsi2_fprs depending on TARGET_E500_DOUBLE.
	(negtf2): Change to negtf2_internal.
	(negtf2): New expander.
	(abstf2): Enable for E500 double.  Call gen_spe_abstf2_tst,
	gen_spe_abstf2_cmp or gen_abstf2_internal depending on
	TARGET_E500_DOUBLE and flag_unsafe_math_optimizations.
	(movdi_internal32): Use rs6000_nonimmediate_operand.
	(unnamed splitter): Likewise.
	* config/rs6000/spe.md (CMPTFEQ_GPR, TSTTFEQ_GPR, CMPTFGT_GPR,
	TSTTFGT_GPR, CMPTFLT_GPR, TSTTFLT_GPR): New unspecs.
	(SPE64TF, DITI): New mode macros.
	(frob_df_di): Change to frob_<SPE64:mode>_<DITI:mode>; allow more
	modes.
	(frob_tf_ti): New.
	(frob_<mode>_di_2): New.
	(frob_tf_di_8_2): New.
	(frob_di_df): Change to frob_di_<mode>; allow more modes.
	(frob_ti_tf): New.
	(frob_di_df_2): Change to frob_<DITI:mode>_<SPE64:mode>_2; allow
	more modes.
	(frob_ti_<mode>_8_2): New.
	(frob_ti_tf_2): New.
	(mov_si<mode>_e500_subreg0, mov_si<mode>_e500_subreg0_2,
	mov_si<mode>_e500_subreg4, mov_si<mode>_e500_subreg4_2): Allow
	TFmode.
	(mov_sitf_e500_subreg8, mov_sitf_e500_subreg8_2,
	mov_sitf_e500_subreg12, mov_sitf_e500_subreg12_2): New.
	(spe_trunctfdf2_internal1, spe_trunctfsf2, spe_extenddftf2,
	spe_fix_trunctfsi2, spe_fix_trunctfsi2_internal,
	spe_negtf2_internal, spe_abstf2_cmp, spe_abstf2_tst): New.
	(cmptfeq_gpr, tsttfeq_gpr, cmptfgt_gpr, tsttfgt_gpr, cmptflt_gpr,
	tsttflt_gp): New.

libgcc:
	* config/rs6000/t-ldbl128: Always use -mlong-double-128.

From-SVN: r121085
2007-01-23 19:38:33 +00:00
boehm-gc os_dep.c (defined(MPROTECT_VDB) && defined(DARWIN)): Moved recently added defines to include/private/gc_priv.h 2007-01-19 20:19:35 +01:00
config re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
contrib sourcebuild.texi (libgcj Tests): Don't mention jacks. 2007-01-15 21:49:31 +00:00
fixincludes Set SKIP_TEST flag if we are not to run a test. 2007-01-06 20:02:22 +00:00
gcc rs6000-c.c (rs6000_cpu_cpp_builtins): Define _SOFT_DOUBLE if doubles use software floating-point. 2007-01-23 19:38:33 +00:00
gnattools re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
include * ansidecl.h (ATTRIBUTE_PACKED): Define. 2006-12-06 18:08:51 +00:00
INSTALL
intl
libada re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
libcpp re PR preprocessor/28227 (valid #ifdef rejected) 2007-01-12 19:46:49 +00:00
libdecnumber decRound.c: Move declarations to new file, update comments. 2006-11-29 18:34:56 +00:00
libffi Makefile.am (all-recursive, [...]): Add missing targets. 2007-01-18 07:17:57 +00:00
libgcc rs6000-c.c (rs6000_cpu_cpp_builtins): Define _SOFT_DOUBLE if doubles use software floating-point. 2007-01-23 19:38:33 +00:00
libgfortran * runtime/error.c: Include sys/time.h before sys/resource.h. 2007-01-21 21:04:53 +00:00
libgomp configure: Rebuilt. 2007-01-16 02:57:41 +00:00
libiberty * pex-unix.c (writeerr): Cast write result to void. 2007-01-12 13:21:26 +11:00
libjava * gnu/classpath/jdwp/natVMVirtualMachine.cc 2007-01-23 06:40:49 +00:00
libmudflap tls.m4 (GCC_CHECK_TLS): Do not test TLS with static linking if static linking doesn't even work. 2006-12-04 11:10:38 +00:00
libobjc In gcc/: PR 23067 2006-11-01 05:28:41 +00:00
libssp
libstdc++-v3 stl_algobase.h (__fill_aux(unsigned char*, unsigned char*, const unsigned char&), [...]): Take the character by value. 2007-01-22 15:19:40 +00:00
maintainer-scripts update_web_docs_svn: Build also libgomp documentation. 2007-01-21 00:54:15 +01:00
zlib aclocal.m4: Regenerate to use multi.m4. 2007-01-17 19:48:52 +00:00
ABOUT-NLS
ChangeLog re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess config.guess: Import latest version. 2006-12-11 15:11:34 +11:00
config.rpath
config.sub config.guess: Import latest version. 2006-12-11 15:11:34 +11:00
configure re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
configure.in * configure.in: Re-enable -Werror for gcc builds. 2007-01-19 02:08:33 +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 gty.texi (Options): Document the mark_hook option to GTY. 2007-01-19 17:56:18 +00:00
Makefile.def re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
Makefile.in re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +00:00
Makefile.tpl re PR bootstrap/30541 (Top-level should pass GNATBIND, GNATLINK and GNATMAKE variables down) 2007-01-23 16:37:09 +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.