[all-commits] [llvm/llvm-project] 892a80: [NVPTX] Stop using 16-bit CAS instructions from PT...

Akshay Deodhar via All-commits all-commits at lists.llvm.org
Wed Jan 22 19:37:33 PST 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 892a804d93d44ddfd7cd351852fe6aef32d4dcd0
      https://github.com/llvm/llvm-project/commit/892a804d93d44ddfd7cd351852fe6aef32d4dcd0
  Author: Akshay Deodhar <adeodhar at nvidia.com>
  Date:   2025-01-22 (Wed, 22 Jan 2025)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
    M llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics-sm90.ll
    M llvm/test/CodeGen/NVPTX/cmpxchg.ll

  Log Message:
  -----------
  [NVPTX] Stop using 16-bit CAS instructions from PTX (#120220)

Increases minimum CAS size from 16 bit to 32 bit, for better SASS
codegen.

When atomics are emulated using atom.cas.b16, the SASS generated
includes 2 (nested) emulation loops. When emulated using an atom.cas.b32
loop, the SASS too has a single emulation loop. Using 32 bit CAS thus
results in better codegen.



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