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 20:38:33 +01:00
|
|
|
2007-01-23 Joseph Myers <joseph@codesourcery.com>
|
|
|
|
|
|
|
|
* config/rs6000/t-ldbl128: Always use -mlong-double-128.
|
|
|
|
|
2007-01-22 01:43:56 +01:00
|
|
|
2007-01-21 Andrew Pinski <pinskia@gmail.com>
|
|
|
|
|
|
|
|
PR target/30519
|
|
|
|
* config.host (alpha*-*-linux*): Set extra_parts.
|
|
|
|
|
2007-01-09 11:50:23 +01:00
|
|
|
2007-01-09 Kaz Kojima <kkojima@gcc.gnu.org>
|
|
|
|
|
|
|
|
* config/sh/t-linux: New.
|
|
|
|
* config.host (sh*-*-linux*): Set tmake_file.
|
|
|
|
|
2007-01-05 19:51:05 +01:00
|
|
|
2007-01-05 Daniel Jacobowitz <dan@codesourcery.com>
|
|
|
|
|
|
|
|
* Makefile.in (install): Handle multilibs.
|
|
|
|
|
2007-01-05 00:43:11 +01:00
|
|
|
2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
|
|
|
|
|
|
|
|
* Makefile.in: Added .PHONY entry for documentation targets.
|
|
|
|
|
2007-01-05 00:27:33 +01:00
|
|
|
2007-01-04 Brooks Moses <brooks.moses@codesourcery.com>
|
|
|
|
|
|
|
|
* Makefile.in: Add empty info, html, dvi, pdf targets.
|
|
|
|
|
2007-01-04 22:54:45 +01:00
|
|
|
2007-01-04 Mike Stump <mrs@apple.com>
|
|
|
|
|
|
|
|
* Makefile.in (MAKEINFO): Remove.
|
|
|
|
(PERL): Likewise.
|
|
|
|
|
2007-01-04 19:12:08 +01:00
|
|
|
2007-01-04 Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
|
|
|
|
* configure.ac: Add GCC_TOPLEV_SUBDIRS.
|
|
|
|
* configure: Regenerate.
|
|
|
|
* Makefile.in (host_subdir): Substitute it.
|
|
|
|
(gcc_objdir): Use it.
|
|
|
|
|
2007-01-04 17:52:02 +01:00
|
|
|
2007-01-04 Daniel Jacobowitz <dan@codesourcery.com>
|
|
|
|
|
|
|
|
* config.host (ia64*-*-linux*): Set tmake_file.
|
|
|
|
|
2007-01-04 15:20:15 +01:00
|
|
|
2007-01-04 Daniel Jacobowitz <dan@codesourcery.com>
|
|
|
|
|
|
|
|
* Makefile.in (version): Define.
|
|
|
|
|
Makefile.def (target_modules): Add libgcc.
./ * Makefile.def (target_modules): Add libgcc.
(lang_env_dependencies): Remove default items. Use no_c and no_gcc.
* Makefile.tpl (clean-target-libgcc): Delete.
(configure-target-[+module+]): Emit --disable-bootstrap dependencies
on gcc even for bootstrapped modules. Rewrite handling of
lang_env_dependencies to loop over target_modules.
* configure.in (target_libraries): Add target-libgcc.
* Makefile.in, configure: Regenerated.
gcc/
* config.gcc: Mention libgcc/config.host.
* Makefile.in: Update comments mentioning libgcc.
(LIBGCC, INSTALL_LIBGCC, GCC_PARTS, mklibgcc): Delete.
(all.cross, start.encap, rest.encap, rest.cross): Update
dependencies for libgcc move.
(libgcc.mk, LIBGCC_DEPS, libgcov.a, libgcc.a, stmp-multilib)
(clean-target, clean-target-libgcc): Delete.
(srcdirify, GCC_EXTRA_PARTS): New macros.
(libgcc-support, libgcc.mvars): New rules.
(distclean): Remove mention of mklibgcc.
(install): Don't reference INSTALL_LIBGCC.
(install-common): Don't reference EXTRA_PARTS.
(install-libgcc, install-multilib): Delete rules.
* mklibgcc.in: Delete file.
* doc/configfiles.texi: Don't mention mklibgcc.
* config/i386/t-darwin (SHLIB_VERPFX): Delete (moved to libgcc).
* config/i386/t-darwin64 (SHLIB_VERPFX): Likewise.
* config/rs6000/t-darwin (SHLIB_VERPFX): Likewise.
* config/rs6000/t-ppccomm (TARGET_LIBGCC2_CFLAGS, SHLIB_MAPFILES)
(mklibgcc, ldblspecs): Likewise.
* config/i386/t-nwld (libgcc.def, libc.def, libpcre.def)
(posixpre.def): Use $(T).
(SHLIB_EXT, SHLIB_NAME, SHLIB_SLIBDIR_QUAL, SHLIB_DEF, SHLIB_MAP)
(SHLIB_SRC, SHLIB_INSTALL): Delete.
(SHLIB_LINK): Make dummy.
* config/t-slibgcc-darwin: Delete contents except for dummy SHLIB_LINK.
* config/frv/t-linux (EXTRA_MULTILIB_PARTS): Clear.
* config/alpha/t-crtfm: Use $(T) in rules for EXTRA_PARTS.
* config/alpha/t-vms, config/alpha/t-vms64, config/fr30/t-fr30,
config/i386/t-rtems-i386, config/ia64/t-ia64, config/rs6000/t-beos,
config/rs6000/t-newas, config/sparc/t-elf: Likewise.
* configure.ac (all_outputs): Remove mklibgcc.
* configure: Regenerated.
libgcc/
* Makefile.in, config/i386/t-darwin, config/i386/t-darwin64,
config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128,
config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64,
config/sparc/t-crtfm, config/t-slibgcc-darwin,
config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
shared-object.mk, siditi-object.mk, static-object.mk: New files.
* configure: Generated.
Co-Authored-By: Paolo Bonzini <bonzini@gnu.org>
From-SVN: r120429
2007-01-04 05:22:37 +01:00
|
|
|
2007-01-03 Daniel Jacobowitz <dan@codesourcery.com>
|
|
|
|
Paolo Bonzini <bonzini@gnu.org>
|
|
|
|
|
|
|
|
* Makefile.in, config/i386/t-darwin, config/i386/t-darwin64,
|
|
|
|
config/i386/t-nwld, config/rs6000/t-darwin, config/rs6000/t-ldbl128,
|
|
|
|
config/i386/t-crtfm, config/alpha/t-crtfm, config/ia64/t-ia64,
|
|
|
|
config/sparc/t-crtfm, config/t-slibgcc-darwin,
|
|
|
|
config/rs6000/t-ppccomm, config.host, configure.ac, empty.mk,
|
|
|
|
shared-object.mk, siditi-object.mk, static-object.mk: New files.
|
|
|
|
* configure: Generated.
|