Skip to content

Commit 18ae7d4

Browse files
jgu222igcbot
authored andcommitted
Fix prefetch with address payload
Fix a bug when generating prefetch. Prefetch is treated as a read.
1 parent ff3b563 commit 18ae7d4

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

IGC/Compiler/CISACodeGen/EmitVISAPass.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22898,8 +22898,11 @@ void EmitPass::emitLSC2DBlockSetAddrPayloadField(GenIntrinsicInst* GII)
2289822898

2289922899
void EmitPass::emitLSC2DBlockReadWriteWithAddrPayload(GenIntrinsicInst* GII)
2290022900
{
22901-
const bool isRead =
22902-
(GII->getIntrinsicID() == GenISAIntrinsic::GenISA_LSC2DBlockReadAddrPayload);
22901+
const bool isPrefetch =
22902+
(GII->getIntrinsicID() == GenISAIntrinsic::GenISA_LSC2DBlockPrefetchAddrPayload);
22903+
const bool isRead = (isPrefetch ||
22904+
(GII->getIntrinsicID() == GenISAIntrinsic::GenISA_LSC2DBlockReadAddrPayload));
22905+
2290322906

2290422907
CVariable* AP = GetSymbol(GII->getOperand(0));
2290522908
CVariable* AddrPayload = AP;

0 commit comments

Comments
 (0)