dotnet/runtime · error
CPU doesn't seem to support any vectorized ISA, bye-bye
Error message
CPU doesn't seem to support any vectorized ISA, bye-bye
What it means
Printed by demo_vxsort() in the vxsort simple_bench demo at src/coreclr/gc/vxsort/standalone/simple_bench/demo.cpp:75 when no supported vectorized ISA is detected. Unlike the standalone demo, it calls exit(-2), terminating the whole process immediately (so the introsort comparison never runs).
Source
Thrown at src/coreclr/gc/vxsort/standalone/simple_bench/demo.cpp:75
#if defined(CPU_FEATURES_ARCH_X86)
if (IsSupportedInstructionSet (InstructionSet::AVX2)) {
do_vxsort_avx2(begin, end, range_low, range_high);
}
else if (IsSupportedInstructionSet (InstructionSet::AVX512F))
{
do_vxsort_avx512(begin, end, range_low, range_high);
}
else
#elif defined(CPU_FEATURES_ARCH_AARCH64)
if (IsSupportedInstructionSet (InstructionSet::NEON))
{
do_vxsort_neon(begin, end, range_low, range_high);
}
else
#endif
{
fprintf(stderr, "CPU doesn't seem to support any vectorized ISA, bye-bye\n");
exit(-2);
}
gettimeofday(&t1, 0);
long elapsed = (t1.tv_sec - t0.tv_sec) * 1000000 + t1.tv_usec - t0.tv_usec;
// Ensure sorted
prev = START - (1 << SHIFT);
for (auto & element : vtemp) {
// fprintf(stderr, "%p\n", element);
assert(element == prev + (1 << SHIFT));
prev = element;
}
return elapsed;
}
View on GitHub (pinned to 60108ba66e)
Solutions
- Run on a CPU with AVX2 (x86) or NEON (ARM64).
- Rebuild with TARGET_AMD64/TARGET_ARM64 so InitSupportedInstructionSet initializes the correct bits.
- In a VM, enable CPU feature passthrough.
Defensive patterns
Strategy: validation
Validate before calling
#if defined(CPU_FEATURES_ARCH_X86)
if (!IsSupportedInstructionSet(InstructionSet::AVX2) &&
!IsSupportedInstructionSet(InstructionSet::AVX512F)) {
fprintf(stderr, "AVX2/AVX512 required.\n");
return -2;
}
#elif defined(CPU_FEATURES_ARCH_AARCH64)
if (!IsSupportedInstructionSet(InstructionSet::NEON)) {
fprintf(stderr, "NEON required.\n");
return -2;
}
#endif Prevention
- Check SIMD support at the top of main() before calling demo_vxsort so a clean message replaces the mid-benchmark exit(-2).
- Build with the correct TARGET_* define so InitSupportedInstructionSet initializes feature bits.
When it happens
Trigger: Running simple_bench on an x86 CPU without AVX2/AVX512, or an ARM64 CPU without NEON, or a build where InitSupportedInstructionSet was never invoked.
Common situations: Older hardware, a VM with masked CPU features, or a build missing TARGET_AMD64/TARGET_ARM64 so the SIMD feature bits were never set.
Related errors
- CPU doesn't seem to support any vectorized ISA, bye-bye
- demo array size must be specified
- demo array size must be specified
- {} not present at {}
- {coreclr_args.mode}
AI-assisted analysis of dotnet/runtime@60108ba66e (2026-08-10).
Data as JSON: /api/errors/43c27f9511ee6df4.
Report an issue: GitHub.