@@ -10726,29 +10726,29 @@ void IR_Builder::Copy_SrcRegRegion_To_Payload( G4_Declare* payload, unsigned int
1072610726 G4_SrcRegRegion* srcRgn = createSrcRegRegion ( *src );
1072710727 srcRgn->setType ( payload->getElemType () );
1072810728 createMov (exec_size, payloadDstRgn, srcRgn, emask, true );
10729- if (G4_Type_Table[ payload->getElemType ()]. byteSize == 2 )
10729+ if (getTypeSize ( payload->getElemType ()) == 2 )
1073010730 {
1073110731 // for half float each source occupies 1 GRF regardless of execution size
1073210732 regOff++;
1073310733 }
1073410734 else
1073510735 {
10736- regOff += ( exec_size/ 8 );
10736+ regOff += exec_size / getNativeExecSize ( );
1073710737 }
1073810738}
1073910739
1074010740unsigned int IR_Builder::getByteOffsetSrcRegion ( G4_SrcRegRegion* srcRegion )
1074110741{
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 );
1074310743
10744- if ( srcRegion->getBase () &&
10745- srcRegion->getBase ()->isRegVar () )
10744+ if ( srcRegion->getBase () &&
10745+ srcRegion->getBase ()->isRegVar ())
1074610746 {
1074710747 G4_Declare* dcl = srcRegion->getBase ()->asRegVar ()->getDeclare ();
1074810748
10749- if ( dcl != NULL )
10749+ if ( dcl != NULL )
1075010750 {
10751- while ( dcl->getAliasDeclare () != NULL )
10751+ while ( dcl->getAliasDeclare () != NULL )
1075210752 {
1075310753 offset += dcl->getAliasOffset ();
1075410754 dcl = dcl->getAliasDeclare ();
@@ -10759,39 +10759,21 @@ unsigned int IR_Builder::getByteOffsetSrcRegion( G4_SrcRegRegion* srcRegion )
1075910759 return offset;
1076010760}
1076110761
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)
1076310763{
10764- bool isConsecutive = false ;
10765-
10766- if ( first == NULL || second == NULL )
10764+ if (first == NULL || second == NULL )
1076710765 {
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 ;
1078510767 }
1078610768
10787- return isConsecutive ;
10769+ return checkIfRegionsAreConsecutive (first, second, exec_size, first-> getType ()) ;
1078810770}
1078910771
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)
1079110773{
1079210774 bool isConsecutive = false ;
1079310775
10794- if ( first == NULL || second == NULL )
10776+ if ( first == NULL || second == NULL )
1079510777 {
1079610778 isConsecutive = true ;
1079710779 }
@@ -10800,12 +10782,12 @@ bool IR_Builder::checkIfRegionsAreConsecutive( G4_SrcRegRegion* first, G4_SrcReg
1080010782 G4_Declare* firstDcl = getDeclare (first);
1080110783 G4_Declare* secondDcl = getDeclare (second);
1080210784
10803- unsigned int firstOff = getByteOffsetSrcRegion ( first );
10804- unsigned int secondOff = getByteOffsetSrcRegion ( second );
10785+ unsigned int firstOff = getByteOffsetSrcRegion (first);
10786+ unsigned int secondOff = getByteOffsetSrcRegion (second);
1080510787
10806- if ( firstDcl == secondDcl )
10788+ if ( firstDcl == secondDcl)
1080710789 {
10808- if ( ( firstOff + ( exec_size * G4_Type_Table[type].byteSize ) ) == secondOff )
10790+ if (( firstOff + (exec_size * G4_Type_Table[type].byteSize ) ) == secondOff)
1080910791 {
1081010792 isConsecutive = true ;
1081110793 }
0 commit comments