@@ -10726,29 +10726,29 @@ void IR_Builder::Copy_SrcRegRegion_To_Payload( G4_Declare* payload, unsigned int
10726
10726
G4_SrcRegRegion* srcRgn = createSrcRegRegion ( *src );
10727
10727
srcRgn->setType ( payload->getElemType () );
10728
10728
createMov (exec_size, payloadDstRgn, srcRgn, emask, true );
10729
- if (G4_Type_Table[ payload->getElemType ()]. byteSize == 2 )
10729
+ if (getTypeSize ( payload->getElemType ()) == 2 )
10730
10730
{
10731
10731
// for half float each source occupies 1 GRF regardless of execution size
10732
10732
regOff++;
10733
10733
}
10734
10734
else
10735
10735
{
10736
- regOff += ( exec_size/ 8 );
10736
+ regOff += exec_size / getNativeExecSize ( );
10737
10737
}
10738
10738
}
10739
10739
10740
10740
unsigned int IR_Builder::getByteOffsetSrcRegion ( G4_SrcRegRegion* srcRegion )
10741
10741
{
10742
- unsigned int offset = ( srcRegion->getRegOff () * G4_GRF_REG_NBYTES ) + ( srcRegion->getSubRegOff () * G4_Type_Table[srcRegion->getType ()].byteSize );
10742
+ unsigned int offset = (srcRegion->getRegOff () * G4_GRF_REG_NBYTES) + (srcRegion->getSubRegOff () * G4_Type_Table[srcRegion->getType ()].byteSize );
10743
10743
10744
- if ( srcRegion->getBase () &&
10745
- srcRegion->getBase ()->isRegVar () )
10744
+ if ( srcRegion->getBase () &&
10745
+ srcRegion->getBase ()->isRegVar ())
10746
10746
{
10747
10747
G4_Declare* dcl = srcRegion->getBase ()->asRegVar ()->getDeclare ();
10748
10748
10749
- if ( dcl != NULL )
10749
+ if ( dcl != NULL )
10750
10750
{
10751
- while ( dcl->getAliasDeclare () != NULL )
10751
+ while ( dcl->getAliasDeclare () != NULL )
10752
10752
{
10753
10753
offset += dcl->getAliasOffset ();
10754
10754
dcl = dcl->getAliasDeclare ();
@@ -10759,39 +10759,21 @@ unsigned int IR_Builder::getByteOffsetSrcRegion( G4_SrcRegRegion* srcRegion )
10759
10759
return offset;
10760
10760
}
10761
10761
10762
- bool IR_Builder::checkIfRegionsAreConsecutive ( G4_SrcRegRegion* first, G4_SrcRegRegion* second, unsigned int exec_size )
10762
+ bool IR_Builder::checkIfRegionsAreConsecutive (G4_SrcRegRegion* first, G4_SrcRegRegion* second, unsigned int exec_size)
10763
10763
{
10764
- bool isConsecutive = false ;
10765
-
10766
- if ( first == NULL || second == NULL )
10764
+ if (first == NULL || second == NULL )
10767
10765
{
10768
- isConsecutive = true ;
10769
- }
10770
- else
10771
- {
10772
- G4_Declare* firstDcl = getDeclare (first);
10773
- G4_Declare* secondDcl = getDeclare (second);
10774
-
10775
- unsigned int firstOff = getByteOffsetSrcRegion ( first );
10776
- unsigned int secondOff = getByteOffsetSrcRegion ( second );
10777
-
10778
- if ( firstDcl == secondDcl )
10779
- {
10780
- if ( ( firstOff + ( exec_size * G4_Type_Table[first->getType ()].byteSize ) ) == secondOff )
10781
- {
10782
- isConsecutive = true ;
10783
- }
10784
- }
10766
+ return true ;
10785
10767
}
10786
10768
10787
- return isConsecutive ;
10769
+ return checkIfRegionsAreConsecutive (first, second, exec_size, first-> getType ()) ;
10788
10770
}
10789
10771
10790
- bool IR_Builder::checkIfRegionsAreConsecutive ( G4_SrcRegRegion* first, G4_SrcRegRegion* second, unsigned int exec_size, G4_Type type )
10772
+ bool IR_Builder::checkIfRegionsAreConsecutive (G4_SrcRegRegion* first, G4_SrcRegRegion* second, unsigned int exec_size, G4_Type type)
10791
10773
{
10792
10774
bool isConsecutive = false ;
10793
10775
10794
- if ( first == NULL || second == NULL )
10776
+ if ( first == NULL || second == NULL )
10795
10777
{
10796
10778
isConsecutive = true ;
10797
10779
}
@@ -10800,12 +10782,12 @@ bool IR_Builder::checkIfRegionsAreConsecutive( G4_SrcRegRegion* first, G4_SrcReg
10800
10782
G4_Declare* firstDcl = getDeclare (first);
10801
10783
G4_Declare* secondDcl = getDeclare (second);
10802
10784
10803
- unsigned int firstOff = getByteOffsetSrcRegion ( first );
10804
- unsigned int secondOff = getByteOffsetSrcRegion ( second );
10785
+ unsigned int firstOff = getByteOffsetSrcRegion (first);
10786
+ unsigned int secondOff = getByteOffsetSrcRegion (second);
10805
10787
10806
- if ( firstDcl == secondDcl )
10788
+ if ( firstDcl == secondDcl)
10807
10789
{
10808
- if ( ( firstOff + ( exec_size * G4_Type_Table[type].byteSize ) ) == secondOff )
10790
+ if (( firstOff + (exec_size * G4_Type_Table[type].byteSize ) ) == secondOff)
10809
10791
{
10810
10792
isConsecutive = true ;
10811
10793
}
0 commit comments