[all-commits] [llvm/llvm-project] 4672ba: [AMDGPU] Introduce Strict WQM mode
Piotr Sobczak via All-commits
all-commits at lists.llvm.org
Wed Mar 3 05:48:08 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 4672bac1776e2245abfd671e208fd56d21cca1ad
https://github.com/llvm/llvm-project/commit/4672bac1776e2245abfd671e208fd56d21cca1ad
Author: Piotr Sobczak <Piotr.Sobczak at amd.com>
Date: 2021-03-03 (Wed, 03 Mar 2021)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/SIPreAllocateWWMRegs.cpp
M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
M llvm/test/CodeGen/AMDGPU/wqm.ll
Log Message:
-----------
[AMDGPU] Introduce Strict WQM mode
* Add amdgcn_strict_wqm intrinsic.
* Add a corresponding STRICT_WQM machine instruction.
* The semantic is similar to amdgcn_strict_wwm 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 amdgc_wqm and amdgcn_strict_wqm, is that in the strict mode an inactive lane will always be enabled irrespective of control flow decisions.
Reviewed By: critson
Differential Revision: https://reviews.llvm.org/D96258
More information about the All-commits
mailing list