| Issue |
182749
|
| Summary |
[AArch64] Consider using MOPS instructions in `aarch64/inline_memcpy.h` for better performance
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
lovelxc
|
Currently, LLVM's AArch64 inline memcpy implementation (in aarch64/inline_memcpy.h) checks for SVE support and uses SVE instructions for certain sizes, but it does not yet detect or emit [MOPS instructions](https://developer.arm.com/documentation/ddi0602/2025-12/Base-Instructions/CPYP--CPYM--CPYE--Memory-copy-) (CPYP/CPYM/CPYE).
MOPS is available with the +mops feature, offering smaller code size and potentially higher performance (especially for unaligned copies).
We may evaluate enabling MOPS for inline_memcpy when +mops is supported, perhaps with a size threshold (e.g., > 128 bytes) determined by benchmarking.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs