File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
third_party/intel/lib/TritonIntelGPUToLLVM Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change @@ -660,13 +660,20 @@ struct ConvertLayoutOpUsingLinearLayoutsConversion
660660 // - register=2**k -> (2**(k-M), 0)
661661 // ...
662662 // - register=2**N -> (2**(N-M), 0)
663+ // - lane=1 -> (0, 0)
664+ // ...
665+ // - lane=2**j -> (0, 0)
666+ // ...
667+ // lane=2**M -> (0, 0)
663668 // where out dims are: [register (size 2**(N - M)), lane (size 2**(M + 1))]
664669 //
665670 // With N >= M.
666671 int32_t registerInDimSize = conversion->getInDimSize (kRegister );
667672 int32_t laneOutDimSize = conversion->getOutDimSize (kLane );
668- return conversion->getBases ().lookup (kRegister ) ==
669- buildSubGroupShuffleRegisterBases (registerInDimSize, laneOutDimSize);
673+ return conversion->sublayoutIsZero ({kLane }, {kRegister , kLane }) &&
674+ conversion->getBases ().lookup (kRegister ) ==
675+ buildSubGroupShuffleRegisterBases (registerInDimSize,
676+ laneOutDimSize);
670677 }
671678
672679 bool isSupportedSubGroupShuffle (ConvertLayoutOp, OpAdaptor) const {
You can’t perform that action at this time.
0 commit comments