[PATCH] D96258: [AMDGPU] Introduce Strict WQM mode

Piotr Sobczak via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 8 04:29:11 PST 2021


piotr created this revision.
Herald added subscribers: kerbowa, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, kzhuravl, arsenm.
piotr requested review of this revision.
Herald added subscribers: llvm-commits, wdng.
Herald added a project: LLVM.

- Add llvm.amdgcn.strictwqm intrinsic
- Add a corresponding STRICTWQM machine instruction
- The semantic is similar to llvm.amdgcn.strictwwm with a notable difference that not all threads will be forcibly enabled during the computations of the intrinsic's argument, but only all threads in quads that have at least one thread active.
- The difference between llvm.amdgcn.wqm and llvm.amdgcn.strictwqm, is that in the strict version the lanes are enabled irrespective of the control flow.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D96258

Files:
  llvm/include/llvm/IR/IntrinsicsAMDGPU.td
  llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
  llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
  llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
  llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
  llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  llvm/lib/Target/AMDGPU/SIInstructions.td
  llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
  llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
  llvm/test/CodeGen/AMDGPU/wqm.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96258.322081.patch
Type: text/x-patch
Size: 40295 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210208/8a37e63d/attachment.bin>


More information about the llvm-commits mailing list