ddaf812593
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
91 lines
2.2 KiB
Plaintext
91 lines
2.2 KiB
Plaintext
# Copyright (C) 2008 Free Software Foundation, Inc.
|
|
#
|
|
# This file is part of GCC.
|
|
#
|
|
# GCC is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3, or (at your option)
|
|
# any later version.
|
|
#
|
|
# GCC is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with GCC; see the file COPYING3. If not see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
GCC_4.4.0 {
|
|
__mips16_addsf3
|
|
__mips16_subsf3
|
|
__mips16_mulsf3
|
|
__mips16_divsf3
|
|
__mips16_eqsf2
|
|
__mips16_nesf2
|
|
__mips16_gtsf2
|
|
__mips16_gesf2
|
|
__mips16_lesf2
|
|
__mips16_ltsf2
|
|
__mips16_floatsisf
|
|
__mips16_floatunsisf
|
|
__mips16_fix_truncsfsi
|
|
__mips16_adddf3
|
|
__mips16_subdf3
|
|
__mips16_muldf3
|
|
__mips16_divdf3
|
|
__mips16_extendsfdf2
|
|
__mips16_truncdfsf2
|
|
__mips16_eqdf2
|
|
__mips16_nedf2
|
|
__mips16_gtdf2
|
|
__mips16_gedf2
|
|
__mips16_ledf2
|
|
__mips16_ltdf2
|
|
__mips16_floatsidf
|
|
__mips16_floatunsidf
|
|
__mips16_fix_truncdfsi
|
|
__mips16_ret_sf
|
|
__mips16_ret_sc
|
|
__mips16_ret_df
|
|
__mips16_ret_dc
|
|
__mips16_call_stub_1
|
|
__mips16_call_stub_5
|
|
__mips16_call_stub_2
|
|
__mips16_call_stub_6
|
|
__mips16_call_stub_9
|
|
__mips16_call_stub_10
|
|
__mips16_call_stub_sf_0
|
|
__mips16_call_stub_sf_1
|
|
__mips16_call_stub_sf_5
|
|
__mips16_call_stub_sf_2
|
|
__mips16_call_stub_sf_6
|
|
__mips16_call_stub_sf_9
|
|
__mips16_call_stub_sf_10
|
|
__mips16_call_stub_sc_0
|
|
__mips16_call_stub_sc_1
|
|
__mips16_call_stub_sc_5
|
|
__mips16_call_stub_sc_2
|
|
__mips16_call_stub_sc_6
|
|
__mips16_call_stub_sc_9
|
|
__mips16_call_stub_sc_10
|
|
__mips16_call_stub_df_0
|
|
__mips16_call_stub_df_1
|
|
__mips16_call_stub_df_5
|
|
__mips16_call_stub_df_2
|
|
__mips16_call_stub_df_6
|
|
__mips16_call_stub_df_9
|
|
__mips16_call_stub_df_10
|
|
__mips16_call_stub_dc_0
|
|
__mips16_call_stub_dc_1
|
|
__mips16_call_stub_dc_5
|
|
__mips16_call_stub_dc_2
|
|
__mips16_call_stub_dc_6
|
|
__mips16_call_stub_dc_9
|
|
__mips16_call_stub_dc_10
|
|
}
|
|
|
|
GCC_4.7.0 {
|
|
__mips16_rdhwr
|
|
}
|