Skip to content

Commit f2aff34

Browse files
DianaChensys_zuul
authored andcommitted
Reset acc0 to 0 before EOT
Change-Id: Ibceee8066647b1ba80ac6427ad00b96af0fa4bef
1 parent 2219f46 commit f2aff34

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

visa/HWCapsOpen.inc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -546,4 +546,9 @@
546546
{
547547
return getGenxPlatform() >= GENX_TGLLP;
548548
}
549+
550+
bool needResetAcc0beforeEOT() const
551+
{
552+
return getGenxPlatform() == GENX_TGLLP;
553+
}
549554
// end HW capabilities

visa/Optimizer.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6982,6 +6982,14 @@ void Optimizer::evenlySplitInst(INST_LIST_ITER iter, G4_BB* bb)
69826982
bb->insert(ii, movInst);
69836983
}
69846984

6985+
if (inst->isEOT() && builder.needResetAcc0beforeEOT())
6986+
{
6987+
// insert "(W) mov(16) acc0.0:f 0x0:f" before EOT
6988+
G4_INST* movInst = builder.createMov(16,
6989+
builder.createDstRegRegion(Direct, builder.phyregpool.getAcc0Reg(),0, 0, 1, Type_F),
6990+
builder.createImm(0, Type_F), InstOpt_WriteEnable, false);
6991+
bb->insert(ii, movInst);
6992+
}
69856993

69866994
if (VISA_WA_CHECK(builder.getPWaTable(), WaResetN0BeforeGatewayMessage) &&
69876995
inst->isSend() && inst->getMsgDesc()->isBarrierMsg())
@@ -7020,7 +7028,6 @@ void Optimizer::evenlySplitInst(INST_LIST_ITER iter, G4_BB* bb)
70207028
// set A0 to tdr0 before sendc/sendsc. TGL WA
70217029
setA0toTdrForSendc();
70227030
}
7023-
70247031
}
70257032

70267033
class NSDS {

0 commit comments

Comments
 (0)