@@ -1099,28 +1099,59 @@ class IR_Builder {
10991099 return inst;
11001100 }
11011101
1102- G4_INST* createSpill (G4_SrcRegRegion* payload, uint16_t numRows, uint32_t offset, G4_Declare* fp, G4_InstOption option,
1103- unsigned int lineno = 0 , int CISAoff = -1 , const char * srcFilename = nullptr )
1102+ G4_INST* createSpill (G4_DstRegRegion* dst, G4_SrcRegRegion* header, G4_SrcRegRegion* payload, unsigned int execSize,
1103+ uint16_t numRows, uint32_t offset, G4_Declare* fp, G4_InstOption option, unsigned int lineno = 0 , int CISAoff = -1 ,
1104+ const char * srcFilename = nullptr )
1105+ {
1106+ G4_INST* spill = createIntrinsicInst (nullptr , Intrinsic::Spill, execSize, dst,
1107+ header, payload, nullptr , option, lineno);
1108+ spill->asSpillIntrinsic ()->setSrcFilename (srcFilename);
1109+ spill->asSpillIntrinsic ()->setCISAOff (CISAoff);
1110+ spill->asSpillIntrinsic ()->setFP (fp);
1111+ spill->asSpillIntrinsic ()->setOffset (offset);
1112+ spill->asSpillIntrinsic ()->setNumRows (numRows);
1113+ return spill;
1114+ }
1115+
1116+ G4_INST* createSpill (G4_DstRegRegion* dst, G4_SrcRegRegion* payload, unsigned int execSize, uint16_t numRows, uint32_t offset,
1117+ G4_Declare* fp, G4_InstOption option, unsigned int lineno = 0 , int CISAoff = -1 , const char * srcFilename = nullptr )
11041118 {
11051119 auto builtInR0 = getBuiltinR0 ();
11061120 auto rd = getRegionStride1 ();
11071121 auto srcRgnr0 = createSrcRegRegion (Mod_src_undef, Direct, builtInR0->getRegVar (), 0 , 0 , rd, Type_UD);
1108- G4_INST* spill = createInternalIntrinsicInst (nullptr , Intrinsic::Spill, 1 , createNullDst (G4_Type::Type_UD),
1109- srcRgnr0, payload, nullptr , option, lineno, CISAoff, srcFilename);
1122+ G4_INST* spill = createIntrinsicInst (nullptr , Intrinsic::Spill, execSize, dst,
1123+ srcRgnr0, payload, nullptr , option, lineno);
1124+ spill->asSpillIntrinsic ()->setSrcFilename (srcFilename);
1125+ spill->asSpillIntrinsic ()->setCISAOff (CISAoff);
11101126 spill->asSpillIntrinsic ()->setFP (fp);
11111127 spill->asSpillIntrinsic ()->setOffset (offset);
11121128 spill->asSpillIntrinsic ()->setNumRows (numRows);
11131129 return spill;
11141130 }
11151131
1116- G4_INST* createFill (G4_DstRegRegion* dstData, uint16_t numRows, uint32_t offset, G4_Declare* fp , G4_InstOption option,
1132+ G4_INST* createFill (G4_SrcRegRegion* header, G4_DstRegRegion* dstData, unsigned int execSize, uint16_t numRows, uint32_t offset,
1133+ G4_Declare* fp, G4_InstOption option, unsigned int lineno = 0 , int CISAoff = -1 , const char * srcFilename = nullptr )
1134+ {
1135+ G4_INST* fill = createIntrinsicInst (nullptr , Intrinsic::Fill, execSize, dstData,
1136+ header, nullptr , nullptr , option, lineno);
1137+ fill->asFillIntrinsic ()->setSrcFilename (srcFilename);
1138+ fill->asFillIntrinsic ()->setCISAOff (CISAoff);
1139+ fill->asFillIntrinsic ()->setFP (fp);
1140+ fill->asFillIntrinsic ()->setOffset (offset);
1141+ fill->asFillIntrinsic ()->setNumRows (numRows);
1142+ return fill;
1143+ }
1144+
1145+ G4_INST* createFill (G4_DstRegRegion* dstData, unsigned int execSize, uint16_t numRows, uint32_t offset, G4_Declare* fp , G4_InstOption option,
11171146 unsigned int lineno = 0 , int CISAoff = -1 , const char * srcFilename = nullptr )
11181147 {
11191148 auto builtInR0 = getBuiltinR0 ();
11201149 auto rd = getRegionStride1 ();
11211150 auto srcRgnr0 = createSrcRegRegion (Mod_src_undef, Direct, builtInR0->getRegVar (), 0 , 0 , rd, Type_UD);
1122- G4_INST* fill = createInternalIntrinsicInst (nullptr , Intrinsic::Fill, 1 , dstData,
1123- srcRgnr0, nullptr , nullptr , option, lineno, CISAoff, srcFilename);
1151+ G4_INST* fill = createIntrinsicInst (nullptr , Intrinsic::Fill, execSize, dstData,
1152+ srcRgnr0, nullptr , nullptr , option, lineno);
1153+ fill->asFillIntrinsic ()->setSrcFilename (srcFilename);
1154+ fill->asFillIntrinsic ()->setCISAOff (CISAoff);
11241155 fill->asFillIntrinsic ()->setFP (fp);
11251156 fill->asFillIntrinsic ()->setOffset (offset);
11261157 fill->asFillIntrinsic ()->setNumRows (numRows);
0 commit comments