#
789335a4 |
| 14-Oct-2003 |
scw <scw@NetBSD.org> |
Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte
Xscale-optimised mem* routines. Contributed by Wasabi Systems. (Note: memcmp/memset improvements also benefit non-Xscale).
memcmp() - Compare 32-bits at a time if possible. Special-case 6-byte comparisons, for the benefit of the network stack.
memset() - More loop unrolling, plus use of 'strd' instruction, bzero() results in > 100% speedup on Xscale.
memcpy() - Big-endian support, unrolled loops, 'strd/pld', plus special- cases for very common length/alignment combinations. Benchmarks show ~50% improvment on Xscale.
memmove() - Big-endian support. Use fast memcpy(), above, if the regions bcopy() don't overlap. Otherwise unchanged
XXX: The Xscale optimisations are not enabled by default, unless /etc/mk.conf XXX: has the right compiler options. The intention is to pull them in via XXX: something like libxscale.so, selected at runtime by ld.so.conf. XXX: (Big-endian support is not affected by this).
show more ...
|
#
5aefcfdc |
| 29-Dec-2000 |
bjh21 <bjh21@NetBSD.org> |
Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the followi
Create shared ARM source for libc, and move arm26 port over to using it. The code is (almost) a direct copy of the current arm26 sources. It's identical to the current arm32 sources, with the following exceptions: - _C_LABEL is used on references to C labels from assembler. - Function returns in assembler have APCS-26 versions in #ifdef __APCS_26__. - It uses SoftFloat 2a rather than SoftFloat 1a.
The first two of these should be inconsequential. I believe that SoftFloat 2a should work on arm32 and be backward-compatible with existing code, but this is not obviously true. For now, arm32 remains using its own bits of libc.
show more ...
|