[PATCH] D146287: [AMDGPU][GISel] Add inverse ballot intrinsic
Jessica Del via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Mar 30 04:12:08 PDT 2023
OutOfCache marked 3 inline comments as done.
OutOfCache added inline comments.
================
Comment at: llvm/lib/Target/AMDGPU/SIISelLowering.cpp:4502-4523
+ for (unsigned i = 0; i < NumParts; ++i) {
+ Register DstPart = MRI.createVirtualRegister(&AMDGPU::SReg_32RegClass);
+ // 64-bit masks need to be split into two 32-bit parts.
+ // We need to address the subregs for the readfirstlanes
+ int SubReg = Is32Mask ? 0 : (AMDGPU::sub0 + i * 8);
+ BuildMI(*BB, &MI, DL, TII->get(AMDGPU::V_READFIRSTLANE_B32),
+ Is32Mask ? DstReg : DstPart)
----------------
nhaehnle wrote:
> This entire sequence could probably be replaced by just calling SIInstrInfo::readlaneVGPRToSGPR.
Good call. Would it make sense to also use this method for other pseudos that generate readfirstlanes here? Like `S_ADD_CO_PSEUDO`. In another change, of course.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D146287/new/
https://reviews.llvm.org/D146287
More information about the llvm-commits
mailing list