@@ -10310,23 +10310,6 @@ void EmitPass::emitInsert(llvm::Instruction* inst)
10310
10310
}
10311
10311
else
10312
10312
{
10313
- //todo : At this moment, we only fix 32bit data type in simd16or32.
10314
- //will handle other data type later
10315
- bool multiGRFWA = (m_currShader->m_Platform->enableMultiGRFAccessWA() &&
10316
- m_currShader->m_SIMDSize > SIMDMode::SIMD8 &&
10317
- m_currShader->m_Platform->getMinDispatchMode() == SIMDMode::SIMD8 &&
10318
- pElement->getType()->getScalarSizeInBits() == 32
10319
- );
10320
- if (multiGRFWA)
10321
- {
10322
- CVariable* pOffset1_2ndHalf = m_currShader->ImmToVariable(0x20, ISA_TYPE_UW);
10323
- CVariable* pOffset2_2ndHalf = m_currShader->GetNewAlias(pOffset2, ISA_TYPE_UW, 16, 0);
10324
- m_encoder->SetSrcRegion(0, 8, 8, 1);
10325
- m_encoder->SetSimdSize(SIMDMode::SIMD8);
10326
- m_encoder->Add(pOffset2_2ndHalf, pOffset2_2ndHalf, pOffset1_2ndHalf);
10327
- m_encoder->Push();
10328
- }
10329
-
10330
10313
int loopCount = (m_currShader->m_dispatchSize == SIMDMode::SIMD32 && m_currShader->m_numberInstance == 1) ? 2 : 1;
10331
10314
for (int i = 0; i < loopCount; ++i)
10332
10315
{
@@ -10372,17 +10355,7 @@ void EmitPass::emitInsert(llvm::Instruction* inst)
10372
10355
}
10373
10356
m_encoder->SetSrcRegion(0, 0, 1, 0);
10374
10357
m_encoder->SetDstSubReg(lane);
10375
- if (multiGRFWA)
10376
- {
10377
- // Hardcode to simd8 to avoid complain about possible being across 3 GRFs.
10378
- // Changing to simd1 needs more work and might cause extra overhead as well.
10379
- m_encoder->SetMask(lane / numLanes(SIMDMode::SIMD8) ? EMASK_Q2 : EMASK_Q1);
10380
- m_encoder->SetSimdSize(SIMDMode::SIMD8);
10381
- }
10382
- else
10383
- {
10384
- m_encoder->SetSimdSize(simdMode);
10385
- }
10358
+ m_encoder->SetSimdSize(simdMode);
10386
10359
m_encoder->Copy(pDstArrElm, pElemVar);
10387
10360
m_encoder->Push();
10388
10361
}
0 commit comments