gcc/ 2007-07-02 Sandra Loosemore <sandra@codesourcery.com> Richard Sandiford <richard@codesourcery.com> Nigel Stephens <nigel@mips.com> * config/mips/mips-protos.h (mips16e_save_restore_info): New struct. (mips16e_output_save_restore): Declare. (mips16e_save_restore_pattern_p): Likewise. * config/mips/mips.h (GENERATE_MIPS16E_SAVE_RESTORE): New macro. * config/mips/mips.c (MIPS_MAX_FIRST_STACK_STEP): Return 0x7f8 for GENERATE_MIPS16E_SAVE_RESTORE. Return 0x400 for TARGET_MIPS16 && !GENERATE_MIPS16E_SAVE_RESTORE && !TARGET_64BIT. (BITSET_P): New global macro, extracted from... (mips_for_each_saved_reg): ...here. (mips16e_save_restore_info): New struct. (mips16e_s2_s8_regs, mips16e_a0_a3_regs): New variables. (mips16e_save_restore_regs): New variable. (mips_split_plus, mips16e_find_first_register): New functions. (mips16e_mask_registers): New function. (compute_frame_size): Expand the commentary before the function. Enforce the MIPS16e save and restore register range restrictions. Pad the general register save area at the low end. (mips16e_save_restore_reg, mips16e_build_save_restore) (mips16e_save_restore_pattern_p, mips16e_add_register_range) (mips16e_output_save_restore, mips16e_collect_propagate_value) (mips16e_collect_argument_save, mips16e_collect_argument_saves): New functions. (mips_expand_prologue, mips_expand_epilogue): Handle GENERATE_MIPS16E_SAVE_RESTORE. * config/mips/mips.md (*mips16e_save_restore): New pattern. gcc/testsuite/ * gcc.target/mips/save-restore-1.c: New test. * gcc.target/mips/save-restore-2.c: Likewise. * gcc.target/mips/save-restore-3.c: Likewise. * gcc.target/mips/save-restore-4.c: Likewise. From-SVN: r126207
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
fixincludes | Loading commit data... | |
gcc | Loading commit data... | |
gnattools | Loading commit data... | |
include | Loading commit data... | |
intl | Loading commit data... | |
libada | Loading commit data... | |
libcpp | Loading commit data... | |
libdecnumber | Loading commit data... | |
libffi | Loading commit data... | |
libgcc | Loading commit data... | |
libgfortran | Loading commit data... | |
libgomp | Loading commit data... | |
libiberty | Loading commit data... | |
libjava | Loading commit data... | |
libmudflap | Loading commit data... | |
libobjc | Loading commit data... | |
libssp | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
maintainer-scripts | Loading commit data... | |
zlib | Loading commit data... | |
ABOUT-NLS | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.tree-ssa | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.def | Loading commit data... | |
Makefile.in | Loading commit data... | |
Makefile.tpl | Loading commit data... | |
README | Loading commit data... | |
README.SCO | Loading commit data... | |
compile | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.rpath | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
depcomp | Loading commit data... | |
install-sh | Loading commit data... | |
libtool-ldflags | Loading commit data... | |
libtool.m4 | Loading commit data... | |
ltgcc.m4 | Loading commit data... | |
ltmain.sh | Loading commit data... | |
ltoptions.m4 | Loading commit data... | |
ltsugar.m4 | Loading commit data... | |
ltversion.m4 | Loading commit data... | |
missing | Loading commit data... | |
mkdep | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |