Skip to content

Commit 079e9b0

Browse files
committed
Ensure we handle HWIntrinsics being disabled
1 parent 9eeefd7 commit 079e9b0

File tree

1 file changed

+21
-13
lines changed

1 file changed

+21
-13
lines changed

src/coreclr/jit/compiler.h

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8696,25 +8696,33 @@ XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
86968696
uint32_t getMaxVectorByteLength() const
86978697
{
86988698
#if defined(FEATURE_HW_INTRINSICS) && defined(TARGET_XARCH)
8699-
if (compOpportunisticallyDependsOn(InstructionSet_AVX))
8699+
if (compOpportunisticallyDependsOn(InstructionSet_AVX512F))
87008700
{
8701-
if (compOpportunisticallyDependsOn(InstructionSet_AVX512F))
8702-
{
8703-
return ZMM_REGSIZE_BYTES;
8704-
}
8705-
else
8706-
{
8707-
return YMM_REGSIZE_BYTES;
8708-
}
8701+
return ZMM_REGSIZE_BYTES;
87098702
}
8710-
else
8703+
else if (compOpportunisticallyDependsOn(InstructionSet_AVX))
8704+
{
8705+
return YMM_REGSIZE_BYTES;
8706+
}
8707+
else if (compOpportunisticallyDependsOn(InstructionSet_SSE))
87118708
{
8712-
assert(compIsaSupportedDebugOnly(InstructionSet_SSE));
87138709
return XMM_REGSIZE_BYTES;
87148710
}
8711+
else
8712+
{
8713+
assert((JitConfig.EnableHWIntrinsic() == 0) || (JitConfig.EnableSSE() == 0));
8714+
return 0;
8715+
}
87158716
#elif defined(TARGET_ARM64)
8716-
assert(compIsaSupportedDebugOnly(InstructionSet_AdvSimd));
8717-
return FP_REGSIZE_BYTES;
8717+
if (compOpportunisticallyDependsOn(InstructionSet_AdvSimd))
8718+
{
8719+
return FP_REGSIZE_BYTES;
8720+
}
8721+
else
8722+
{
8723+
assert((JitConfig.EnableHWIntrinsic() == 0) || (JitConfig.EnableArm64AdvSimd() == 0));
8724+
return 0;
8725+
}
87188726
#else
87198727
assert(!"getMaxVectorByteLength() unimplemented on target arch");
87208728
unreached();

0 commit comments

Comments
 (0)