gcc/ 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete. (SYMBOL_32_HIGH): Likewise. (mips_output_tls_reloc_directive): Declare. * config/mips/mips.h (PIC_FUNCTION_ADDR_REGNUM): Move to mips.md. (mips_use_pcrel_pool_p, mips_lo_relocs, mips_hi_relocs): Declare. * config/mips/mips.c (mips_use_pcrel_pool_p): New variable. (mips_lo_relocs, mips_hi_relocs): Make extern. (mips16_stub_function): Move up file. (mips_classify_symbol): Remove SYMBOL_FORCE_TO_MEM handling. (mips_symbolic_constant_p): Likewise. Remove SYMBOL_32_HIGH too. (mips_symbol_insns_1): Likewise. Check mips_use_pcrel_pool_p. (mips_cannot_force_const_mem): Use mips_use_pcrel_pool_p instead of SYMBOL_FORCE_TO_MEM. Only check mips_tls_symbol_ref_1 if it's false. (mips_get_tp): Add MIPS16 support. (mips_legitimize_tls_address): Remove MIPS16 sorry(). Generalize DTPREL and TPREL handling. (mips_init_relocs): Initialize mips_use_pcrel_pool_p. Add MIPS16 TLS support. (mips_output_tls_reloc_directive): New function. (mips16_rewrite_pool_refs): Ignore UNSPEC_TLS_GET_TPs. * config/mips/predicates.md (symbolic_operand_with_high) (tls_reloc_operand): New predicates. (force_to_mem_operand): Use mips_use_pcrel_pool_p. * config/mips/mips.md (UNSPEC_UNSHIFTED_HIGH): New unspec. (PIC_FUNCTION_ADDR_REGNUM): Moved from mips.h. (*unshifted_high): New instruction. Use it for MIPS16 high splitter. (consttable_tls_reloc, tls_get_tp_mips16_<mode>): New patterns. (*tls_get_tp_mips16_call_<mode>): Likewise. gcc/testsuite/ * gcc.target/mips/code-readable-2.c: Allow the jump table address to be loaded from the constant pool, rather than via %hi and %lo. libgcc/ 2012-01-08 Chung-Lin Tang <cltang@codesourcery.com> Richard Sandiford <rdsandiford@googlemail.com> * config/mips/libgcc-mips16.ver (__mips16_rdhwr): Add. * config/mips/mips16.S (__mips16_rdhwr): New function. * config/mips/t-mips16 (LIB1ASMFUNCS): Add _m16rdhwr. From-SVN: r183195
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
config | Loading commit data... | |
soft-fp | Loading commit data... | |
ChangeLog | Loading commit data... | |
Makefile.in | Loading commit data... | |
config.host | Loading commit data... | |
configure | Loading commit data... | |
configure.ac | Loading commit data... | |
crtstuff.c | Loading commit data... | |
dfp-bit.c | Loading commit data... | |
dfp-bit.h | Loading commit data... | |
divmod.c | Loading commit data... | |
empty.mk | Loading commit data... | |
emutls.c | Loading commit data... | |
enable-execute-stack-empty.c | Loading commit data... | |
enable-execute-stack-mprotect.c | Loading commit data... | |
fixed-bit.c | Loading commit data... | |
fixed-bit.h | Loading commit data... | |
fixed-obj.mk | Loading commit data... | |
floatunsidf.c | Loading commit data... | |
floatunsisf.c | Loading commit data... | |
floatunsitf.c | Loading commit data... | |
floatunsixf.c | Loading commit data... | |
fp-bit.c | Loading commit data... | |
fp-bit.h | Loading commit data... | |
gbl-ctors.h | Loading commit data... | |
gen-fixed.sh | Loading commit data... | |
generic-morestack-thread.c | Loading commit data... | |
generic-morestack.c | Loading commit data... | |
generic-morestack.h | Loading commit data... | |
gstdint.h | Loading commit data... | |
gthr-posix.h | Loading commit data... | |
gthr-single.h | Loading commit data... | |
gthr.h | Loading commit data... | |
libgcc-std.ver.in | Loading commit data... | |
libgcc2.c | Loading commit data... | |
libgcc2.h | Loading commit data... | |
libgcov.c | Loading commit data... | |
longlong.h | Loading commit data... | |
memcmp.c | Loading commit data... | |
memcpy.c | Loading commit data... | |
memmove.c | Loading commit data... | |
memset.c | Loading commit data... | |
mkheader.sh | Loading commit data... | |
mkmap-flat.awk | Loading commit data... | |
mkmap-symver.awk | Loading commit data... | |
shared-object.mk | Loading commit data... | |
siditi-object.mk | Loading commit data... | |
static-object.mk | Loading commit data... | |
sync.c | Loading commit data... | |
udivmod.c | Loading commit data... | |
udivmodsi4.c | Loading commit data... | |
unwind-arm-common.inc | Loading commit data... | |
unwind-c.c | Loading commit data... | |
unwind-compat.c | Loading commit data... | |
unwind-compat.h | Loading commit data... | |
unwind-dw2-fde-compat.c | Loading commit data... | |
unwind-dw2-fde-dip.c | Loading commit data... | |
unwind-dw2-fde.c | Loading commit data... | |
unwind-dw2-fde.h | Loading commit data... | |
unwind-dw2.c | Loading commit data... | |
unwind-dw2.h | Loading commit data... | |
unwind-generic.h | Loading commit data... | |
unwind-pe.h | Loading commit data... | |
unwind-sjlj.c | Loading commit data... | |
unwind.inc | Loading commit data... |