glibc/sysdeps/aarch64/multiarch
Anton Youdkevitch 94e358f6d4 aarch64: thunderx2 memcpy implementation cleanup and streamlining
Here is the updated patch for improving the long unaligned
code path (the one using "ext" instruction).

1. Always taken conditional branch at the beginning is
removed.

2. Epilogue code is placed after the end of the loop to
reduce the number of branches.

3. The redundant "mov" instructions inside the loop are
gone due to the changed order of the registers in the "ext"
instructions inside the loop,  the prologue has additional
"ext" instruction.

4.Updating count in the prologue was hoisted out as
it is the same update for each prologue.

5. Invariant code of the loop epilogue was hoisted out.

6. As the current size of the ext chunk is exactly 16
instructions long "nop" was added at the beginning
of the code sequence so that the loop entry for all the
chunks be aligned.

	* sysdeps/aarch64/multiarch/memcpy_thunderx2.S: Cleanup branching
	and remove redundant code.
2019-04-05 13:59:54 -07:00
..
ifunc-impl-list.c aarch64: Optimized memchr specific to AmpereComputing emag 2019-02-01 08:14:21 -05:00
init-arch.h Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
Makefile aarch64: Optimized memchr specific to AmpereComputing emag 2019-02-01 08:14:21 -05:00
memchr_generic.S aarch64: Optimized memchr specific to AmpereComputing emag 2019-02-01 08:14:21 -05:00
memchr_nosimd.S aarch64: Optimized memchr specific to AmpereComputing emag 2019-02-01 08:14:21 -05:00
memchr.c aarch64: Optimized memchr specific to AmpereComputing emag 2019-02-01 08:14:21 -05:00
memcpy_falkor.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memcpy_generic.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memcpy_thunderx2.S aarch64: thunderx2 memcpy implementation cleanup and streamlining 2019-04-05 13:59:54 -07:00
memcpy_thunderx.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memcpy.c [AArch64] Add ifunc support for Ares 2019-01-09 10:35:34 +00:00
memmove_falkor.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memmove.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memset_base64.S aarch64: Optimized memset specific to AmpereComputing emag 2019-02-01 07:59:18 -05:00
memset_emag.S aarch64: Optimized memset specific to AmpereComputing emag 2019-02-01 07:59:18 -05:00
memset_falkor.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memset_generic.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
memset.c aarch64: Optimized memset specific to AmpereComputing emag 2019-02-01 07:59:18 -05:00
rtld-memset.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
strlen_asimd.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
strlen_generic.S Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00
strlen.c Update copyright dates with scripts/update-copyrights. 2019-01-01 00:11:28 +00:00