[PATCH] D82194: [AMDGPU] Enable compare operations to be selected by divergence

Alexander via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 26 08:44:47 PDT 2020


alex-t added a comment.

This small piece was missed from the change.

  diff --git a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  index 5f1afdd7f10..7180e0a8d52 100644
  --- a/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  +++ b/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
  @@ -634,6 +634,9 @@ void SIInstrInfo::copyPhysReg(MachineBasicBlock &MBB,
     }
  
     if (DestReg == AMDGPU::SCC) {
  +    if (AMDGPU::SReg_64RegClass.contains(SrcReg)) {
  +      SrcReg = RI.getSubReg(SrcReg, AMDGPU::sub0);
  +    }
       assert(AMDGPU::SReg_32RegClass.contains(SrcReg));
       BuildMI(MBB, MI, DL, get(AMDGPU::S_CMP_LG_U32))
         .addReg(SrcReg, getKillRegState(KillSrc))

it fixes Vulkan failure.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D82194/new/

https://reviews.llvm.org/D82194





More information about the llvm-commits mailing list