@@ -32,7 +32,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
32
32
uint32_t computeFillMsgDesc (unsigned int payloadSize, unsigned int offset);
33
33
uint32_t computeSpillMsgDesc (unsigned int payloadSize, unsigned int offset);
34
34
35
- #define REGISTER_ROW (row ) (row)
36
35
namespace vISA
37
36
{
38
37
G4_SrcRegRegion* CoalesceSpillFills::generateCoalescedSpill (unsigned int scratchOffset, unsigned int payloadSize,
@@ -43,7 +42,7 @@ G4_SrcRegRegion* CoalesceSpillFills::generateCoalescedSpill(unsigned int scratch
43
42
kernel.fg .builder ->getBuiltinR0 ()->getRegVar (), 0 , 0 ,
44
43
kernel.fg .builder ->getRegionStride1 (), Type_UD);
45
44
auto spillSrcPayload = kernel.fg .builder ->createSrcRegRegion (Mod_src_undef, Direct, spillDcl->getRegVar (),
46
- ( short ) REGISTER_ROW ( row) , 0 , kernel.fg .builder ->getRegionStride1 (), Type_UD);
45
+ row, 0 , kernel.fg .builder ->getRegionStride1 (), Type_UD);
47
46
48
47
// Create send instruction with payloadSize starting at scratch offset min
49
48
G4_Declare* fp = nullptr ;
@@ -76,7 +75,7 @@ G4_DstRegRegion* CoalesceSpillFills::generateCoalescedFill(unsigned int scratchO
76
75
const char * dclName = kernel.fg .builder ->getNameString (kernel.fg .mem , 32 ,
77
76
" COAL_FILL_%d" , kernel.Declares .size ());
78
77
auto fillDcl = kernel.fg .builder ->createDeclareNoLookup (dclName, G4_GRF,
79
- NUM_DWORDS_PER_GRF, ( unsigned short ) REGISTER_ROW ( dclSize) , Type_UD, DeclareType::CoalescedFill);
78
+ NUM_DWORDS_PER_GRF, dclSize, Type_UD, DeclareType::CoalescedFill);
80
79
81
80
if (evenAlignDst)
82
81
{
@@ -133,10 +132,10 @@ void CoalesceSpillFills::copyToOldFills(G4_DstRegRegion* coalescedFillDst, std::
133
132
simdSize = 16 ;
134
133
135
134
G4_DstRegRegion* movDst = kernel.fg .builder ->createDstRegRegion (Direct,
136
- oldFill.first ->getBase (), ( short ) REGISTER_ROW ( rowOff) , 0 , 1 , Type_UD);
135
+ oldFill.first ->getBase (), rowOff, 0 , 1 , Type_UD);
137
136
138
137
G4_SrcRegRegion* src = kernel.fg .builder ->createSrcRegRegion (Mod_src_undef, Direct,
139
- coalescedFillDst->getBase (), ( short ) REGISTER_ROW ( offToUse) , 0 , kernel.fg .builder ->getRegionStride1 (), Type_UD);
138
+ coalescedFillDst->getBase (), offToUse, 0 , kernel.fg .builder ->getRegionStride1 (), Type_UD);
140
139
141
140
G4_INST* copy = kernel.fg .builder ->createMov ((unsigned char )simdSize,
142
141
movDst, src, InstOpt_WriteEnable, false );
@@ -159,7 +158,7 @@ G4_Declare* CoalesceSpillFills::createCoalescedSpillDcl(unsigned int payloadSize
159
158
dclName = kernel.fg .builder ->getNameString (kernel.fg .mem , 32 ,
160
159
" COAL_SPILL_%d" , kernel.Declares .size ());
161
160
spillDcl = kernel.fg .builder ->createDeclareNoLookup (dclName, G4_GRF,
162
- NUM_DWORDS_PER_GRF, ( unsigned short ) REGISTER_ROW ( payloadSize) , Type_UD, DeclareType::CoalescedSpill);
161
+ NUM_DWORDS_PER_GRF, payloadSize, Type_UD, DeclareType::CoalescedSpill);
163
162
164
163
spillDcl->setDoNotSpill ();
165
164
@@ -372,7 +371,7 @@ bool CoalesceSpillFills::fillHeuristic(std::list<INST_LIST_ITER>& coalesceableFi
372
371
// Now mark bits corresponding to rows
373
372
unsigned int regOff = (*c)->getDst ()->getRegOff ();
374
373
for (unsigned int r = regOff;
375
- r < (regOff+ REGISTER_ROW ( scratchSize) ); r++)
374
+ r < (regOff+ scratchSize); r++)
376
375
{
377
376
it->second .set (r);
378
377
}
@@ -636,7 +635,7 @@ void CoalesceSpillFills::keepConsecutiveSpills(std::list<INST_LIST_ITER>& instLi
636
635
auto prevSrc1Row = (*candidate)->getSrc (1 )->asSrcRegRegion ()->getRegOff ();
637
636
638
637
unsigned int scratchOffDelta = scratchOffset - candOffset;
639
- if ((prevSrc1Row + REGISTER_ROW ( scratchOffDelta) ) != curSrc1Row)
638
+ if ((prevSrc1Row + scratchOffDelta) != curSrc1Row)
640
639
{
641
640
// Following is disallowed
642
641
// send (8) V10(1,0) ... <-- resLen = 4
@@ -949,7 +948,7 @@ void CoalesceSpillFills::replaceCoalescedOperands(G4_INST* inst)
949
948
{
950
949
auto dstRgn = dst->asDstRegRegion ();
951
950
auto newDstRgn = kernel.fg .builder ->createDstRegRegion (Direct, it->second .first ->getRegVar (),
952
- REGISTER_ROW ( it->second .second ) + dstRgn->getRegOff (), dstRgn->getSubRegOff (), dstRgn->getHorzStride (), dstRgn->getType ());
951
+ it->second .second + dstRgn->getRegOff (), dstRgn->getSubRegOff (), dstRgn->getHorzStride (), dstRgn->getType ());
953
952
954
953
newDstRgn->setAccRegSel (dstRgn->getAccRegSel ());
955
954
inst->setDest (newDstRgn);
@@ -975,7 +974,7 @@ void CoalesceSpillFills::replaceCoalescedOperands(G4_INST* inst)
975
974
auto oldRgnDesc = srcRgn->getRegion ();
976
975
977
976
auto newSrcRgn = kernel.fg .builder ->createSrcRegRegion (srcRgn->getModifier (), Direct,
978
- it->second .first ->getRegVar (), REGISTER_ROW ( it->second .second ) + srcRgn->getRegOff (),
977
+ it->second .first ->getRegVar (), it->second .second + srcRgn->getRegOff (),
979
978
srcRgn->getSubRegOff (), oldRgnDesc,
980
979
opnd->getType ());
981
980
newSrcRgn->setAccRegSel (srcRgn->getAccRegSel ());
@@ -1350,10 +1349,10 @@ void CoalesceSpillFills::fixSendsSrcOverlap()
1350
1349
while (elems > 0 )
1351
1350
{
1352
1351
G4_SrcRegRegion* srcRgn = kernel.fg .builder ->createSrcRegRegion (
1353
- Mod_src_undef, Direct, src1->getTopDcl ()->getRegVar (), REGISTER_ROW ( row) , 0 ,
1352
+ Mod_src_undef, Direct, src1->getTopDcl ()->getRegVar (), row, 0 ,
1354
1353
kernel.fg .builder ->getRegionStride1 (), Type_UD);
1355
1354
G4_DstRegRegion* dstRgn = kernel.fg .builder ->createDstRegRegion (
1356
- Direct, copyDcl->getRegVar (), REGISTER_ROW ( row) , 0 , 1 , Type_UD);
1355
+ Direct, copyDcl->getRegVar (), row, 0 , 1 , Type_UD);
1357
1356
G4_INST* copyInst = kernel.fg .builder ->createMov (8 , dstRgn, srcRgn, InstOpt_WriteEnable, false );
1358
1357
copyInst->setCISAOff (inst->getCISAOff ());
1359
1358
bb->insert (instIt, copyInst);
@@ -1554,7 +1553,7 @@ void CoalesceSpillFills::removeRedundantSplitMovs()
1554
1553
{
1555
1554
// Replace src1 of send with srcDcl
1556
1555
G4_SrcRegRegion* sendSrc1 = kernel.fg .builder ->createSrcRegRegion (Mod_src_undef, Direct, srcDcl->getRegVar (),
1557
- ( short ) REGISTER_ROW ( base) , 0 , kernel.fg .builder ->getRegionStride1 (), inst->getSrc (1 )->getType ());
1556
+ base, 0 , kernel.fg .builder ->getRegionStride1 (), inst->getSrc (1 )->getType ());
1558
1557
inst->setSrc (sendSrc1, 1 );
1559
1558
1560
1559
for (auto c : copies)
@@ -1764,15 +1763,15 @@ void CoalesceSpillFills::spillFillCleanup()
1764
1763
1765
1764
// Insert SIMD8 mov per row
1766
1765
G4_DstRegRegion* nDst = kernel.fg .builder ->createDstRegRegion (Direct,
1767
- inst->getDst ()->getBase (), REGISTER_ROW ( row) + inst->getDst ()->asDstRegRegion ()->getRegOff () - REGISTER_ROW ( rowStart) ,
1766
+ inst->getDst ()->getBase (), row + inst->getDst ()->asDstRegRegion ()->getRegOff () - rowStart,
1768
1767
0 , 1 , Type_UD);
1769
1768
1770
1769
auto write = writesPerOffset.find (row)->second ;
1771
1770
G4_SrcRegRegion* src1Write = write ->getSrc (1 )->asSrcRegRegion ();
1772
1771
unsigned int writeRowStart = write ->asSpillIntrinsic ()->getOffset ();
1773
1772
unsigned int diff = row - writeRowStart;
1774
1773
G4_SrcRegRegion* nSrc = kernel.fg .builder ->createSrcRegRegion (Mod_src_undef, Direct,
1775
- src1Write->getBase (), REGISTER_ROW ( diff) + src1Write->getRegOff (), 0 ,
1774
+ src1Write->getBase (), diff + src1Write->getRegOff (), 0 ,
1776
1775
kernel.fg .builder ->getRegionStride1 (), Type_UD);
1777
1776
1778
1777
G4_INST* mov = kernel.fg .builder ->createMov ((unsigned char )execSize,
0 commit comments