diff --git a/IGC/Compiler/CISACodeGen/EmitVISAPass.cpp b/IGC/Compiler/CISACodeGen/EmitVISAPass.cpp index 8fc6e2cc738d..96291da395a7 100644 --- a/IGC/Compiler/CISACodeGen/EmitVISAPass.cpp +++ b/IGC/Compiler/CISACodeGen/EmitVISAPass.cpp @@ -5224,7 +5224,8 @@ void EmitPass::emitSimdShuffle(llvm::Instruction* inst) m_encoder->Copy(m_destination, pDstArrElm); m_encoder->Push(); - if (!channelUniform) + // If destination is uniform, don't execute second half. + if (!channelUniform && !m_destination->IsUniform()) { m_encoder->SetSimdSize(SIMDMode::SIMD16);