Skip to content

Commit

Permalink
IGC: Fixed LSC checker in VectorProcess
Browse files Browse the repository at this point in the history
In VectorProcess::reLayoutLoadStore, checks if LSC is used by
"EmitPass::shouldGenerateLSCQuery" instead of "CPlatform::LSCEnabled" to
align with the checker used in EmitPass::emitStoreRawIndexed.

This avoids QW scatter/gather messages being generated on platforms those
supporting LSC but don't support QW scatter/gather messages.
  • Loading branch information
DianaChen authored and igcbot committed Sep 27, 2023
1 parent d0e3e4e commit 64db140
Show file tree
Hide file tree
Showing 2 changed files with 448 additions and 1 deletion.
2 changes: 1 addition & 1 deletion IGC/Compiler/CISACodeGen/VectorProcess.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ bool VectorProcess::reLayoutLoadStore(Instruction* Inst)
useQW = has_QW_BTS_GS && nelts == 1 && (eTyBytes == 8U && align >= 8U);
}

if (cgCtx->platform.LSCEnabled())
if (EmitPass::shouldGenerateLSCQuery(*cgCtx, Inst) == Tristate::True)
{
// With LSC, want to use QW if element size is 8 bytes.
useQW = (eTyBytes == 8);
Expand Down
Loading

0 comments on commit 64db140

Please sign in to comment.