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

Reply via email to