2006-01-22 Paul Brook <paul@codesourcery.com> Peter Barada <peter@the-baradas.com> * config/m68k/m68k.md: Add Coldfire FPU support. Define FP mode macro and associated attributes. Use it for float mode patterns. * config/m68k/linux.h (FUNCTION_VALUE): Use m68k_function_value. (LIBCALL_VALUE): Use m68k_libcall_value. * config/m68k/m68k-protos.h (m68k_libcall_value): Add prototype. (m68k_function_value): Ditto. (emit_move_sequence): Ditto. * config/m68k/m68kemb.h (LIBCALL_VALUE): Use m68k_libcall_value. * config/m68k/m68k-none.h (ASM_SPEC): Add mcfv4e. * config/m68k/t-m68kelf (MULTILIB_OPTIONS): Add mcfv4e. (MULTILIB_EXCEPTIONS): Ditto. * config/m68k/m68k.opt: Add mcfv4e. * config/m68k/m68k.c (m68k_handle_option): Handle OPT_mcfv4e. (m68k_compute_frame_layout): Include space for ColdFire FPU regs. (m68k_output_function_prologue): Save ColdFire FPU registers. (m68k_output_function_epilogue): Restore ColdFire FPU registers. (force_mode, fp_reg_operand, emit_move_sequence): New functions. (m68k_regno_mode_ok): Don't allow types larget than 8 bytes in ColdFire FPU registers. (m68k_libcall_value, m68k_function_value): New functions. * config/m68k/netbsd-elf.h (FUNCTION_VALUE): Use m68k_function_value. (LIBCALL_VALUE): Use m68k_libcall_value. * config/m68k/m68k.h (TARGET_CPU_CPP_BUILTINS): Define __mcfv4e__. (MASK_COLDFIRE): Add MASK_CFV4E. (TARGET_COLDFIRE_FPU, TARGET_HARD_FLOAT, TARGET_FP_REG_SIZE): New. (MODES_TIEABLE_P): Use TARGET_HARD_FLOAT. (REG_CLASS_FROM_LETTER, PREFERRED_RELOAD_CLASS): Ditto. (GO_IF_COLDFIRE_FPU_LEGITIMATE_ADDRESS): Define. (GO_IF_LEGITIMATE_ADDRESS): Use it. (LEGITIMIZE_ADDRESS): Handle ColdFire FPU addresses. * doc/invoke.tex: Document -mcfv4e on m68k. Co-Authored-By: Peter Barada <peter@the-baradas.com> From-SVN: r110091
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
include | Loading commit data... | |
bugreport.texi | Loading commit data... | |
c-tree.texi | Loading commit data... | |
cfg.texi | Loading commit data... | |
collect2.texi | Loading commit data... | |
compat.texi | Loading commit data... | |
configfiles.texi | Loading commit data... | |
configterms.texi | Loading commit data... | |
contrib.texi | Loading commit data... | |
contribute.texi | Loading commit data... | |
cpp.texi | Loading commit data... | |
cppenv.texi | Loading commit data... | |
cppinternals.texi | Loading commit data... | |
cppopts.texi | Loading commit data... | |
extend.texi | Loading commit data... | |
fragments.texi | Loading commit data... | |
frontends.texi | Loading commit data... | |
gcc.texi | Loading commit data... | |
gccint.texi | Loading commit data... | |
gcov.texi | Loading commit data... | |
gnu.texi | Loading commit data... | |
gty.texi | Loading commit data... | |
headerdirs.texi | Loading commit data... | |
hostconfig.texi | Loading commit data... | |
implement-c.texi | Loading commit data... | |
install-old.texi | Loading commit data... | |
install.texi | Loading commit data... | |
install.texi2html | Loading commit data... | |
interface.texi | Loading commit data... | |
invoke.texi | Loading commit data... | |
languages.texi | Loading commit data... | |
libgcc.texi | Loading commit data... | |
makefile.texi | Loading commit data... | |
md.texi | Loading commit data... | |
objc.texi | Loading commit data... | |
options.texi | Loading commit data... | |
passes.texi | Loading commit data... | |
portability.texi | Loading commit data... | |
rtl.texi | Loading commit data... | |
service.texi | Loading commit data... | |
sourcebuild.texi | Loading commit data... | |
standards.texi | Loading commit data... | |
tm.texi | Loading commit data... | |
tree-ssa.texi | Loading commit data... | |
trouble.texi | Loading commit data... |