[compiler-rt][aarch64][sme] Add SVE/FP variant of __arm_sc_memcpy
#127093
+176
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
When SVE is available use the
-sve
variant of memcpy from AOR for__arm_sc_memcpy
. From: https://github.com/ARM-software/optimized-routines/blob/71e36403858ab3ff743fcde336fb31890e57af7e/string/aarch64/memcpy-sve.SThis implementation uses FPR/ZPR load/store instructions to do the copy, so should not cause memory hazards if called in streaming mode (with the memory later being accessed in the streaming mode with SVE/SME instructions).
The implementation has been slightly modified from AOR to use local labels (matching other compiler-rt functions) but still passes the memcpy and memmove tests from AOR.