Skip to content

Commit 4a97188

Browse files
jgu222igcbot
authored andcommitted
Minor change to indirect call WA
Make small EU's call target to be in grf in both small and big EU
1 parent 6329a15 commit 4a97188

File tree

1 file changed

+2
-5
lines changed

1 file changed

+2
-5
lines changed

visa/Optimizer.cpp

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12303,7 +12303,7 @@ void Optimizer::doNoMaskWA_postRA()
1230312303
// (W) mov (1 |M0) tmp<1>:ud sr0.0<0;1,0>:ud // I0
1230412304
// (W) and (16|M0) (eq)F null<1>:uw tmp<0;1,0>:uw 0x80:uw // I1
1230512305
// (W&~F) mov (1 |M0) cr0.2<1>:ud Target<0;1,0>:ud // I2
12306-
// (W&F) mov (1 |M0) smallEUTarget:ud cr0.2<0;1,0>:ud // I3
12306+
// (W) mov (1 |M0) smallEUTarget:ud cr0.2<0;1,0>:ud // I3
1230712307
// (W) add (1 |M0) I4_IP:d -ip:d smallEUTarget:d // I4_ip_start
1230812308
// (W) add (1 |M0) I4Target:d I4_IP:d 0x33333333:d // I4_patch_add
1230912309
// (W) add (1 |M0) I5_IP:d -ip:d Target:d // I5_ip_start
@@ -12426,13 +12426,11 @@ void Optimizer::applyFusedCallWA()
1242612426
G4_INST* I2 = builder.createMov(g4::SIMD1, I2_Dst, I2_Src0, InstOpt_WriteEnable, false);
1242712427
I2->setPredicate(pred_m);
1242812428

12429-
// I3: (flag) mov smallEUTarget cr0.2
12429+
// I3: mov smallEUTarget cr0.2
1243012430
G4_Declare* sTargetDecl = builder.createTempVar(1, Type_UD, Any, "smallEUTarget");
1243112431
G4_DstRegRegion* I3_Dst = builder.createDst(sTargetDecl->getRegVar(), 0, 0, 1, Type_UD);
1243212432
G4_SrcRegRegion* I3_Src0 = builder.createSrc(V_cr0, 0, 2, builder.getRegionScalar(), Type_UD);
12433-
G4_Predicate* pred_p = builder.createPredicate(PredState_Plus, F->getRegVar(), 0);
1243412433
G4_INST* I3 = builder.createMov(g4::SIMD1, I3_Dst, I3_Src0, InstOpt_WriteEnable, false);
12435-
I3->setPredicate(pred_p);
1243612434

1243712435
// Insert WA instructions
1243812436
BB->pop_back(); // unlink the call inst from BB
@@ -12459,7 +12457,6 @@ void Optimizer::applyFusedCallWA()
1245912457
// update local dataflow
1246012458
I0->addDefUse(I1, Opnd_src0);
1246112459
I1->addDefUse(I2, Opnd_pred);
12462-
I1->addDefUse(I3, Opnd_pred);
1246312460

1246412461
G4_INST* nCallI;
1246512462
if (builder.supportCallaRegSrc())

0 commit comments

Comments
 (0)