gcc/libgcc/config/mips/libgcc-mips16.ver
Richard Sandiford ddaf812593 mips-protos.h (SYMBOL_FORCE_TO_MEM): Delete.
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
2012-01-15 18:22:55 +00:00

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
}