rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All constants of size no larger than a pointer should go in the TOC. * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): All constants of size no larger than a pointer should go in the TOC. Add 'MODE' parameter. (LEGITIMIZE_RELOAD_ADDRESS): Add MODE parameter to ASM_OUTPUT_SPECIAL_POOL_ENTRY_P. (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Likewise. * config/rs6000/aix.h (SELECT_RTX_SECTION): Likewise. * config/rs6000/netware.h (SELECT_RTX_SECTION): Likewise. * config/rs6000/rs6000.c (constant_pool_expr_1): Likewise. (rs6000_legitimize_address): Likewise. (rs6000_emit_move): Likewise. (rs6000_select_rtx_section): Likewise. (output_toc): Deal properly with outputting small constants like HImode, and SFmode in 32-bit mode, and DFmode in 64-bit mode. * config/rs6000/sysv4.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Add MODE parameter. Put small constants in the TOC. * config/rs6000/rs6000.c (easy_fp_constant_p): All constants are easy in SImode. (rs6000_emit_move): When reload calls us with an illegitimate address, exit early. Move the change_address calls to one place at the end of the routine. Merge the SImode and DImode expanders. When called by reload to put an integer into a FP register, force it to memory. * config/rs6000/rs6000.c (struct toc_hash_struct): Add 'key_mode' field. (rs6000_hash_constant): Hash mode too. (toc_hash_function): Allow for key_mode. (toc_hash_eq): Structures are different if key_mode differs. (output_toc): Add 'mode' parameter. Save key_mode. * config/rs6000/rs6000.h (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Pass 'mode' parameter. * config/rs6000/rs6000-protos.h (output_toc): Add 'mode' param. From-SVN: r35164
Name |
Last commit
|
Last update |
---|---|---|
INSTALL | Loading commit data... | |
boehm-gc | Loading commit data... | |
config | Loading commit data... | |
contrib | Loading commit data... | |
etc | Loading commit data... | |
gcc | Loading commit data... | |
include | Loading commit data... | |
libchill | Loading commit data... | |
libf2c | Loading commit data... | |
libffi | Loading commit data... | |
libiberty | Loading commit data... | |
libio | Loading commit data... | |
libjava | Loading commit data... | |
libobjc | Loading commit data... | |
libstdc++ | Loading commit data... | |
libstdc++-v3 | Loading commit data... | |
texinfo | Loading commit data... | |
zlib | Loading commit data... | |
.cvsignore | Loading commit data... | |
COPYING | Loading commit data... | |
COPYING.LIB | Loading commit data... | |
ChangeLog | Loading commit data... | |
MAINTAINERS | Loading commit data... | |
Makefile.in | Loading commit data... | |
README | Loading commit data... | |
config-ml.in | Loading commit data... | |
config.guess | Loading commit data... | |
config.if | Loading commit data... | |
config.sub | Loading commit data... | |
configure | Loading commit data... | |
configure.in | Loading commit data... | |
install-sh | Loading commit data... | |
ltconfig | Loading commit data... | |
ltmain.sh | Loading commit data... | |
missing | Loading commit data... | |
mkinstalldirs | Loading commit data... | |
move-if-change | Loading commit data... | |
symlink-tree | Loading commit data... | |
ylwrap | Loading commit data... |