Skip to content

Commit c194738

Browse files
esukhovpszymich
authored andcommitted
XE2_SIMD16 compilation
Additional rule when we can't drop tom SIMD16, that wasn't implemented before. (cherry picked from commit 6bd9806)
1 parent 2975351 commit c194738

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

IGC/Compiler/CISACodeGen/OpenCLKernelCodeGen.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3472,7 +3472,6 @@ namespace IGC
34723472
bool abortOnSpills = ctx->platform.isCoreXE2() && (ctx->getModuleMetaData()->csInfo.forcedSIMDSize != 32);
34733473
AddCodeGenPasses(*ctx, shaders, Passes, SIMDMode::SIMD32, abortOnSpills);
34743474
AddCodeGenPasses(*ctx, shaders, Passes, SIMDMode::SIMD16, false);
3475-
34763475
ctx->SetSIMDInfo(SIMD_SKIP_HW, SIMDMode::SIMD8, ShaderDispatchMode::NOT_APPLICABLE);
34773476
}
34783477
else
@@ -3795,6 +3794,11 @@ namespace IGC
37953794
MetaDataUtils* pMdUtils = EP.getAnalysis<MetaDataUtilsWrapper>().getMetaDataUtils();
37963795
FunctionInfoMetaDataHandle funcInfoMD = pMdUtils->getFunctionsInfoItem(&F);
37973796
uint32_t simd_size = getReqdSubGroupSize(F, pMdUtils);
3797+
3798+
// there is a requirement for specific compilation size, we can't abort on simd32
3799+
if (simd_size != 0)
3800+
EP.m_canAbortOnSpill = false;
3801+
37983802
bool hasSubGroupForce = hasSubGroupIntrinsicPVC(F);
37993803
uint32_t maxPressure = getMaxPressure(F, pMdUtils);
38003804

0 commit comments

Comments
 (0)