2011-11-29 16:36:43 -05:00
|
|
|
# Makefile fragment for building LIBGCC for the Renesas RL78 target.
|
2025-01-02 11:59:57 +01:00
|
|
|
# Copyright (C) 2011-2025 Free Software Foundation, Inc.
|
2011-11-29 16:36:43 -05:00
|
|
|
# Contributed by Red Hat.
|
|
|
|
#
|
|
|
|
# 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/>.
|
|
|
|
|
|
|
|
LIB2ADD = \
|
|
|
|
$(srcdir)/config/rl78/trampoline.S \
|
|
|
|
$(srcdir)/config/rl78/lib2shift.c \
|
|
|
|
$(srcdir)/config/rl78/lshrsi3.S \
|
|
|
|
$(srcdir)/config/rl78/mulsi3.S \
|
2013-09-14 02:13:18 -04:00
|
|
|
$(srcdir)/config/rl78/divmodsi.S \
|
|
|
|
$(srcdir)/config/rl78/divmodhi.S \
|
|
|
|
$(srcdir)/config/rl78/divmodqi.S \
|
|
|
|
$(srcdir)/config/rl78/signbit.S \
|
cmpsi2.S: Use function start and end macros.
* config/rl78/cmpsi2.S: Use function start and end macros.
(__gcc_bcmp): New function.
* config/rl78/lshrsi3.S: Use function start and end macros.
* config/rl78/mulsi3.S: Add support for G10.
(__mulqi3): New function for G10.
* config/rl78/signbit.S: Use function start and end macros.
* config/rl78/t-rl78 (LIB2ADD): Add bit-count.S, fpbit-sf.S and
fpmath-sf.S.
(LIB2FUNCS_EXCLUDE): Define.
(LIB2FUNCS_ST): Define.
* config/rl78/trampoline.S: Use function start and end macros.
* config/rl78/vregs.h (START_FUNC): New macro.
(START_ANOTHER_FUNC): New macro.
(END_FUNC): New macro.
(END_ANOTHER_FUNC): New macro.
* config/rl78/bit-count.S: New file. Contains assembler
implementations of the bit counting functions: ___clzhi2,
__clzsi2, ctzhi2, ctzsi2, ffshi2, ffssi2, __partityhi2,
__paritysi2, __popcounthi2 and __popcountsi2.
* config/rl78/fpbit-sf.S: New file. Contains assembler
implementationas of the math functions: __negsf2, __cmpsf2,
__eqsf2, __nesf2, __lesf2, __ltsf2, __gesf2, gtsf2, __unordsf2,
__fixsfsi, __fixunssfsi, __floatsisf and __floatunssisf.
* config/rl78/fpmath-sf.S: New file. Contains assembler
implementations of the math functions: __subsf3, __addsf3,
__mulsf3 and __divsf3
From-SVN: r220162
2015-01-27 11:36:01 +00:00
|
|
|
$(srcdir)/config/rl78/bit-count.S \
|
|
|
|
$(srcdir)/config/rl78/fpbit-sf.S \
|
|
|
|
$(srcdir)/config/rl78/fpmath-sf.S \
|
2017-10-14 00:33:58 +00:00
|
|
|
$(srcdir)/config/rl78/cmpsi2.S \
|
2017-10-23 17:54:02 +00:00
|
|
|
$(srcdir)/config/rl78/adddi3.S \
|
2018-01-22 15:00:59 +00:00
|
|
|
$(srcdir)/config/rl78/subdi3.S \
|
2018-01-22 18:51:28 +00:00
|
|
|
$(srcdir)/config/rl78/umindi3.S \
|
2018-01-22 17:38:26 +00:00
|
|
|
$(srcdir)/config/rl78/umaxdi3.S \
|
2018-01-22 18:17:09 +00:00
|
|
|
$(srcdir)/config/rl78/smindi3.S \
|
2018-01-22 19:23:15 +00:00
|
|
|
$(srcdir)/config/rl78/smaxdi3.S \
|
|
|
|
$(srcdir)/config/rl78/anddi3.S
|
2014-11-13 08:34:41 +00:00
|
|
|
|
cmpsi2.S: Use function start and end macros.
* config/rl78/cmpsi2.S: Use function start and end macros.
(__gcc_bcmp): New function.
* config/rl78/lshrsi3.S: Use function start and end macros.
* config/rl78/mulsi3.S: Add support for G10.
(__mulqi3): New function for G10.
* config/rl78/signbit.S: Use function start and end macros.
* config/rl78/t-rl78 (LIB2ADD): Add bit-count.S, fpbit-sf.S and
fpmath-sf.S.
(LIB2FUNCS_EXCLUDE): Define.
(LIB2FUNCS_ST): Define.
* config/rl78/trampoline.S: Use function start and end macros.
* config/rl78/vregs.h (START_FUNC): New macro.
(START_ANOTHER_FUNC): New macro.
(END_FUNC): New macro.
(END_ANOTHER_FUNC): New macro.
* config/rl78/bit-count.S: New file. Contains assembler
implementations of the bit counting functions: ___clzhi2,
__clzsi2, ctzhi2, ctzsi2, ffshi2, ffssi2, __partityhi2,
__paritysi2, __popcounthi2 and __popcountsi2.
* config/rl78/fpbit-sf.S: New file. Contains assembler
implementationas of the math functions: __negsf2, __cmpsf2,
__eqsf2, __nesf2, __lesf2, __ltsf2, __gesf2, gtsf2, __unordsf2,
__fixsfsi, __fixunssfsi, __floatsisf and __floatunssisf.
* config/rl78/fpmath-sf.S: New file. Contains assembler
implementations of the math functions: __subsf3, __addsf3,
__mulsf3 and __divsf3
From-SVN: r220162
2015-01-27 11:36:01 +00:00
|
|
|
LIB2FUNCS_EXCLUDE = _clzhi2 _clzsi2 _ctzhi2 _ctzsi2 \
|
|
|
|
_popcounthi2 _popcountsi2 \
|
|
|
|
_parityhi2 _paritysi2 _ffssi2 _ffshi2 \
|
|
|
|
_negate_sf _compare_sf _eq_sf _ne_sf _gt_sf _ge_sf \
|
|
|
|
_lt_sf _le_sf _unord_sf \
|
|
|
|
_si_to_sf _usi_to_sf \
|
|
|
|
_sf_to_si _sf_to_usi \
|
|
|
|
_fixunssfsi _fixsfsi \
|
|
|
|
_addsub_sf _mul_sf _div_sf
|
|
|
|
|
|
|
|
# Remove __gcc_bcmp from LIB2FUNCS_ST
|
|
|
|
LIB2FUNCS_ST = _eprintf
|
|
|
|
|
2014-11-13 08:34:41 +00:00
|
|
|
HOST_LIBGCC2_CFLAGS += -Os -ffunction-sections -fdata-sections
|