[all-commits] [llvm/llvm-project] 13aa10: AArch64: use ldp/stp for 128-bit atomic load/store...

Tim Northover via All-commits all-commits at lists.llvm.org
Mon Sep 20 01:50:23 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 13aa102e07695297fd17f68913c343c95a7c56ad
      https://github.com/llvm/llvm-project/commit/13aa102e07695297fd17f68913c343c95a7c56ad
  Author: Tim Northover <t.p.northover at gmail.com>
  Date:   2021-09-20 (Mon, 20 Sep 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic-128.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/v8.4-atomic-128.ll
    M llvm/test/CodeGen/AArch64/atomic-ops-lse.ll
    A llvm/test/CodeGen/AArch64/v8.4-atomic-128.ll

  Log Message:
  -----------
  AArch64: use ldp/stp for 128-bit atomic load/store in v.84 onwards

v8.4 says that normal loads/stores of 128-bytes are single-copy atomic if
they're properly aligned (which all LLVM atomics are) so we no longer need to
do a full RMW operation to guarantee we got a clean read.




More information about the All-commits mailing list