Hi DJ,

  The attached patch provides some enhancements to libgcc for the RL78.
  It includes faster and smaller versions of the bit counting and simple
  floating point functions, and a version of the integer multiply
  support function designed to work on the G10.

  Tested on an rl78-elf toolchain with no regressions.

  OK to apply ?

Cheers
  Nick
  
2015-01-26  Nick Clifton  <ni...@redhat.com>

        * 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

Attachment: rl78.libgcc.patch.xz
Description: application/xz

Reply via email to