[all-commits] [llvm/llvm-project] 720be6: [AMDGPU] Add encoding/decoding support for non-res...

Stephen Thomas via All-commits all-commits at lists.llvm.org
Wed Oct 11 03:37:41 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 720be6c535ac4a5db1e0d84f6b3921fbfedf8c98
      https://github.com/llvm/llvm-project/commit/720be6c535ac4a5db1e0d84f6b3921fbfedf8c98
  Author: Stephen Thomas <104134586+stepthomas at users.noreply.github.com>
  Date:   2023-10-11 (Wed, 11 Oct 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/FLATInstructions.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.csub.ll
    M llvm/test/MC/AMDGPU/gfx1030_err.s
    M llvm/test/MC/AMDGPU/gfx1030_new.s
    M llvm/test/MC/AMDGPU/gfx11_asm_flat.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf.s
    M llvm/test/MC/AMDGPU/gfx11_asm_mubuf_alias.s
    M llvm/test/MC/Disassembler/AMDGPU/decode-err.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx1030_new.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_flat.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_mubuf.txt

  Log Message:
  -----------
  [AMDGPU] Add encoding/decoding support for non-result-returning ATOMIC_CSUB instructions (#68684)

The BUFFER_ATOMIC_CSUB and GLOBAL_ATOMIC_CSUB instructions have
encodings for
non-value-returning forms, although actually using them isn't supported
by
hardware. However, these encodings aren't supported by the backend,
meaning
that they can't even be assembled or disassembled.

Add support for the non-returning encodings, but gate actually using
them
in instruction selection behind a new feature
FeatureAtomicCSubNoRtnInsts,
which no target uses. This does allow the non-returning instructions to
be
tested manually and llvm.amdgcn.atomic.csub.ll is extended to cover
them.
The feature does not gate assembling or disassembling them, this is now
not an error, and encoding and decoding tests have been adapted
accordingly.




More information about the All-commits mailing list