[PATCH] D131561: AMDGPU: Add detailed test buffer global and flat atomic fadd

Petar Avramovic via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 10 05:43:12 PDT 2022


Petar.Avramovic created this revision.
Petar.Avramovic added reviewers: arsenm, abinavpp, foad.
Herald added subscribers: kosarev, kerbowa, t-tye, tpr, dstuttard, yaxunl, jvesely, kzhuravl.
Herald added a project: All.
Petar.Avramovic requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

Precommit for D130579 <https://reviews.llvm.org/D130579> that will remove manual selection and use
patterns from td files. Tests are grouped based on target features.

All patterns have rtn and no-rtn versions.

buffer atomics patterns are selected based on the intrinsic used
(raw or struct) and the offset operand (imm or vgpr):
_offset raw with imm offset
_offen raw with vgpr offset (or large imm offset)
_idxen struct with imm offset
_bothen struct with vgpr offset (or large imm offset)

global and flat atomics are selected via intrinsic or the atomicrmw fadd.
atomicrmw tests have amdgpu-unsafe-fp-atomics=true and non-system scope
because gfx90a always expand system scope fp atomics.
Other subtargets don't check for attributes or scope.
atomicrmw fadd does not support vector type, test float and double.

global atomics patterns are selected based on address type via 
intrinsic or atomicrmw fadd with global address(addrspace(1)*).
'no suffix' vgpr addrspace(1)* address
_saddr sgpr addrspace(1)* address

flat atomics patterns are selected via intrinsic or atomicrmw fadd with
flat address (* addrspace(0)).


https://reviews.llvm.org/D131561

Files:
  llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd-f32-no-rtn.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd-f32-rtn.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd-f64.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd-v2f16-no-rtn.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/buffer-atomic-fadd-v2f16-rtn.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd-f32.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd-f64.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/flat-atomic-fadd-v2f16.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd-f32-no-rtn.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd-f32-rtn.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd-f64.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd-v2f16-no-rtn.ll
  llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd-v2f16-rtn.ll
  llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd-f32-no-rtn.ll
  llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd-f32-rtn.ll
  llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd-f64.ll
  llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd-v2f16-no-rtn.ll
  llvm/test/CodeGen/AMDGPU/buffer-atomic-fadd-v2f16-rtn.ll
  llvm/test/CodeGen/AMDGPU/flat-atomic-fadd-f32.ll
  llvm/test/CodeGen/AMDGPU/flat-atomic-fadd-f64.ll
  llvm/test/CodeGen/AMDGPU/flat-atomic-fadd-v2f16.ll
  llvm/test/CodeGen/AMDGPU/global-atomic-fadd-f32-no-rtn.ll
  llvm/test/CodeGen/AMDGPU/global-atomic-fadd-f32-rtn.ll
  llvm/test/CodeGen/AMDGPU/global-atomic-fadd-f64.ll
  llvm/test/CodeGen/AMDGPU/global-atomic-fadd-v2f16-no-rtn.ll
  llvm/test/CodeGen/AMDGPU/global-atomic-fadd-v2f16-rtn.ll
  llvm/test/CodeGen/AMDGPU/llvm.amdgcn.atomic.fadd.rtn_no-rtn.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D131561.451428.patch
Type: text/x-patch
Size: 215123 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220810/b3e236cf/attachment-0001.bin>


More information about the llvm-commits mailing list