@@ -246,7 +246,7 @@ bool HWConformity::checkSrcCrossGRF( INST_LIST_ITER& iter, G4_BB* bb )
246246 }
247247
248248 auto doSplit = [&](bool canCrossGRF) -> void {
249- if (inst->usesFlag () || (bb->isInSimdFlow () && !inst->isWriteEnableInst ()))
249+ if (inst->usesFlag () || (! bb->isAllLaneActive () && !inst->isWriteEnableInst ()))
250250 {
251251 // splitting may be unsafe, insert a move then split the move
252252 G4_Operand* newSrc = insertMovBefore (iter, i, inst->getSrc (i)->getType (), bb);
@@ -384,7 +384,7 @@ bool HWConformity::reduceExecSize( INST_LIST_ITER iter, G4_BB* bb )
384384 bool compOpt = false ,
385385 forceEvenSplit = ( execSize == 32 && inst->opcode () == G4_sel && inst->getCondMod () ) || packedByteDst;
386386 uint8_t numInFirstMov = 0 ;
387- bool useFlag = inst->getPredicate () || inst->getCondMod () || ( bb->isInSimdFlow () && !inst->isWriteEnableInst () );
387+ bool useFlag = inst->getPredicate () || inst->getCondMod () || ( ! bb->isAllLaneActive () && !inst->isWriteEnableInst () );
388388 bool evenSplitDst = false ;
389389
390390 // separate the checks for BDW to make it more maintainable
@@ -667,7 +667,7 @@ bool HWConformity::reduceExecSize( INST_LIST_ITER iter, G4_BB* bb )
667667 // You will need to do this ONLY when destination spans 2 registers, src1 is a word or byte and you expect channels to be turned off !!
668668 // currrently for instruction with pred or emask on pre-BDW
669669 bool specialCondForShootDown = ( dst && goodTwoGRFDst &&
670- ( inst->getPredicate () || ( bb->isInSimdFlow () && !inst->isWriteEnableInst () ) ) &&
670+ ( inst->getPredicate () || ( ! bb->isAllLaneActive () && !inst->isWriteEnableInst () ) ) &&
671671 oneGRFSrc[1 ] && ( IS_BTYPE ( srcs[1 ]->getType () ) || IS_WTYPE ( srcs[1 ]->getType () ) ) );
672672 if ( specialCondForShootDown )
673673 {
@@ -764,7 +764,7 @@ bool HWConformity::reduceExecSize( INST_LIST_ITER iter, G4_BB* bb )
764764
765765 // can't split if inst is in SIMD flow and is not NoMask, or the inst has predicate
766766 // Have to introduce a temp that supports splitting instead
767- if ((bb->isInSimdFlow () && !inst->isWriteEnableInst ()) || inst->getPredicate ())
767+ if ((! bb->isAllLaneActive () && !inst->isWriteEnableInst ()) || inst->getPredicate ())
768768 {
769769 saveDst ( iter, scale, bb );
770770 INST_LIST_ITER tmpIter = iter;
@@ -993,7 +993,7 @@ void HWConformity::splitInstruction(INST_LIST_ITER iter, G4_BB* bb, bool compOpt
993993 // mov (16) r2.0<1>:uw 0:uw {Align1, NoMask} // 0:uw
994994 // mov (16) r2.0<1>:uw 0x1:uw {Align1} // 1:uw
995995 // this part is currently not used since we do not split inst with predicate or emask
996- bool isSIMDCFInst = bb->isInSimdFlow () && !inst->isWriteEnableInst ();
996+ bool isSIMDCFInst = ! bb->isAllLaneActive () && !inst->isWriteEnableInst ();
997997 G4_Declare *maskDcl = NULL ;
998998 if (instPred || isSIMDCFInst)
999999 {
@@ -1388,7 +1388,7 @@ bool HWConformity::evenlySplitInst( INST_LIST_ITER iter, G4_BB* bb, bool checkOv
13881388 }
13891389
13901390 // set mask
1391- bool needsMaskOffset = useARF || (bb->isInSimdFlow () && !inst->isWriteEnableInst ());
1391+ bool needsMaskOffset = useARF || (! bb->isAllLaneActive () && !inst->isWriteEnableInst ());
13921392 if (needsMaskOffset)
13931393 {
13941394 int newMaskOffset = origMaskOffset + (i == 0 ? 0 : currExSize);
@@ -1398,7 +1398,7 @@ bool HWConformity::evenlySplitInst( INST_LIST_ITER iter, G4_BB* bb, bool checkOv
13981398 if (newMask == InstOpt_NoOpt)
13991399 {
14001400 bool useMask = inst->getPredicate () || inst->getCondModBase () ||
1401- (bb->isInSimdFlow () && !inst->isWriteEnableInst ());
1401+ (! bb->isAllLaneActive () && !inst->isWriteEnableInst ());
14021402 MUST_BE_TRUE (!useMask, " no legal emask found for the split instruction" );
14031403 }
14041404 else
@@ -1517,7 +1517,7 @@ void HWConformity::moveSrcToGRF( INST_LIST_ITER it, uint32_t srcNum, uint16_t nu
15171517 ( def_inst->getExecSize () == execSize ) &&
15181518 def_inst->getDst ()->coverGRF ( numGRF, execSize ) &&
15191519 def_inst->getDst ()->checkGRFAlign () &&
1520- ( ! bb->isInSimdFlow () || def_inst->isWriteEnableInst () ) )
1520+ ( bb->isAllLaneActive () || def_inst->isWriteEnableInst () ) )
15211521 {
15221522
15231523 // inst->removeDefUse( Gen4_Operand_Number(srcNum + 1) );
@@ -1544,7 +1544,7 @@ void HWConformity::moveSrcToGRF( INST_LIST_ITER it, uint32_t srcNum, uint16_t nu
15441544 hs,
15451545 dcl->getElemType ());
15461546 G4_INST* newInst = builder.createMov (
1547- execSize, dstRegion, src, (bb->isInSimdFlow () ? InstOpt_WriteEnable : InstOpt_NoOpt), false );
1547+ execSize, dstRegion, src, (! bb->isAllLaneActive () ? InstOpt_WriteEnable : InstOpt_NoOpt), false );
15481548
15491549 // insert instruction and maintain def-use chain
15501550 bb->insert ( it, newInst );
0 commit comments