* configure.ac: Check for MIPS TLS.
commit42bdde4b89a9232370e8091cf85021d476c2c1ec
authordrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 13 Mar 2005 18:03:25 +0000 (13 18:03 +0000)
committerdrow <drow@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 13 Mar 2005 18:03:25 +0000 (13 18:03 +0000)
tree6f57ba94026b1caf579525022e6276fe3adcf97b
parentfe610e8e77c9477496f0b56dcee5b946dfde2822
* configure.ac: Check for MIPS TLS.
* configure: Regenerated.
* config/mips/mips-protos.h (enum mips_symbol_type): Add
SYMBOL_TLS, SYMBOL_TLSGD, SYMBOL_TLSLDM, SYMBOL_DTPREL,
SYMBOL_GOTTPREL, and SYMBOL_TPREL.
* config/mips/mips.c (mips_regno_to_class): Handle V1_REG.
(TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
(mips_classify_symbol, mips_symbolic_constant_p)
(mips_symbolic_address_p, mips_symbol_insns): Handle TLS symbols.
(mips_tls_operand_p, mips_call_tls_get_addr)
(mips_legitimize_tls_address, mips_cannot_force_const_mem)
(mips_tls_symbol_ref_1): New functions.
(mips_legitimize_address, mips_legitimize_const_move): Call
mips_legitimize_tls_address.
(override_options): Handle V1_REG and TLS symbols.  Disable TLS
for MIPS16.
* config/mips/mips.h (enum reg_class, REG_CLASS_NAMES)
(REG_CLASS_CONTENTS, GR_REG_CLASS_P): Include V1_REG.
(mips_char_to_class): Document V1_REG.
(HAVE_AS_TLS): Provide default.
* config/mips/mips.md (UNSPEC_TLS_LDM, UNSPEC_TLS_GET_TP): New
constants.
(load_got<mode>): Renamed from *load_got<mode>.  Allow when
!TARGET_ABICALLS.
(tls_get_tp_<mode>): New instruction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96380 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/config/mips/mips-protos.h
gcc/config/mips/mips.c
gcc/config/mips/mips.h
gcc/config/mips/mips.md
gcc/configure
gcc/configure.ac