[all-commits] [llvm/llvm-project] 75c3ff: [compiler-rt][AArch64] Provide basic implementatio...

Victor Campos via All-commits all-commits at lists.llvm.org
Tue Jun 3 02:59:48 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 75c3ff8c0b29f374d31ba99e51852f7f6851a6c8
      https://github.com/llvm/llvm-project/commit/75c3ff8c0b29f374d31ba99e51852f7f6851a6c8
  Author: Victor Campos <victor.campos at arm.com>
  Date:   2025-06-03 (Tue, 03 Jun 2025)

  Changed paths:
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/CMakeLists.txt
    R compiler-rt/lib/builtins/aarch64/sme-libc-mem-routines.S
    A compiler-rt/lib/builtins/aarch64/sme-libc-memcpy-memmove.c
    A compiler-rt/lib/builtins/aarch64/sme-libc-memset-memchr.c
    A compiler-rt/lib/builtins/aarch64/sme-libc-opt-memcpy-memmove.S
    A compiler-rt/lib/builtins/aarch64/sme-libc-opt-memset-memchr.S
    R compiler-rt/lib/builtins/aarch64/sme-libc-routines.c

  Log Message:
  -----------
  [compiler-rt][AArch64] Provide basic implementations of SME memcpy/memmove in case of strictly aligned memory access (#138250)

The existing implementations, written in assembly, make use of unaligned
accesses for performance reasons. They are not compatible with strict
aligned configurations, i.e. with `-mno-unaligned-access`.

If the functions are used in this scenario, an exception is raised due
to unaligned memory accesses.

This patch reintroduces vanilla implementations for these functions to
be used in strictly aligned configurations. The actual code is largely
based on the code from https://github.com/llvm/llvm-project/pull/77496



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list