We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 8c2d1db commit 152b64cCopy full SHA for 152b64c
visa/G4_IR.cpp
@@ -2901,6 +2901,15 @@ bool G4_INST::canHoistTo(const G4_INST *defInst, bool simdBB) const
2901
return false;
2902
}
2903
2904
+ // Don't hoist if the composed dst stride is illegal
2905
+ G4_DstRegRegion *defDstRegion = def_dst->asDstRegRegion();
2906
+ uint16_t defDstHS = defDstRegion->getHorzStride();
2907
+ G4_CmpRelation rel = srcs[0]->compareOperand(defDstRegion, builder);
2908
+ if (rel == Rel_gt && dstHS * defDstHS > 4)
2909
+ {
2910
+ return false;
2911
+ }
2912
+
2913
// Don't hoist stack calls related variables (Arg, Retval, SP, FP)
2914
if (defInst->getDst() && defInst->getDst()->getTopDcl())
2915
{
0 commit comments