Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src
Module Name: src
Committed By: rin
Date: Sun May 31 11:43:38 UTC 2020
Modified Files:
src/lib/libc/arch/m68k/gen: Makefile.inc
src/sys/lib/libkern/arch/m68k: Makefile.inc
Added Files:
src/common/lib/libc/arch/m68k/gen: muldi3.S
Log Message:
Add m68k assembler version of __muldi3().
This is intended for 68060:
- GCC does not emit __muldi3() for 68020-40, that have 32 * 32 --> 64 mulul
- mulsl (and moveml), used in this code, are not implemented for 68010
In comparison with that from compiler_rt, this version saves:
- 12% of processing time
- 12 bytes of stack
- 50 bytes of code size
Also, slightly faster, memory saving, and smaller than libgcc version.
By examining with evcnt(9), __muldi3() is invoked more than 1000 times per
sec by kernel, which should justify to introduce assembler version of this
function.
To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/common/lib/libc/arch/m68k/gen/muldi3.S
cvs rdiff -u -r1.37 -r1.38 src/lib/libc/arch/m68k/gen/Makefile.inc
cvs rdiff -u -r1.37 -r1.38 src/sys/lib/libkern/arch/m68k/Makefile.inc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index