gcc/libgcc/config/rl78/vregs.h
Nick Clifton 8410904a77 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

80 lines
1.2 KiB
C

; real
; GAS defines r0..r7 as aliases for real registers; we want the saddr
; forms here.
r_0 = 0xffef8
r_1 = 0xffef9
r_2 = 0xffefa
r_3 = 0xffefb
r_4 = 0xffefc
r_5 = 0xffefd
r_6 = 0xffefe
r_7 = 0xffeff
#ifdef __RL78_G10__
; clobberable
r8 = 0xffec8
r9 = 0xffec9
r10 = 0xffeca
r11 = 0xffecb
r12 = 0xffecc
r13 = 0xffecd
r14 = 0xffece
r15 = 0xffecf
; preserved
r16 = 0xffed0
r17 = 0xffed1
r18 = 0xffed2
r19 = 0xffed3
r20 = 0xffed4
r21 = 0xffed5
r22 = 0xffed6
r23 = 0xffed7
#else
; clobberable
r8 = 0xffef0
r9 = 0xffef1
r10 = 0xffef2
r11 = 0xffef3
r12 = 0xffef4
r13 = 0xffef5
r14 = 0xffef6
r15 = 0xffef7
; preserved
r16 = 0xffee8
r17 = 0xffee9
r18 = 0xffeea
r19 = 0xffeeb
r20 = 0xffeec
r21 = 0xffeed
r22 = 0xffeee
r23 = 0xffeef
#endif
.macro START_ANOTHER_FUNC name
.global \name
.type \name , @function
\name:
.endm
/* Start a function in its own section, so that it
can be subject to linker garbage collection. */
.macro START_FUNC name
.pushsection .text.\name,"ax",@progbits
START_ANOTHER_FUNC \name
.endm
.macro END_ANOTHER_FUNC name
.size \name , . - \name
.endm
/* End the function. Set the size. */
.macro END_FUNC name
END_ANOTHER_FUNC \name
.popsection
.endm