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
After InitSupportedInstructionSet, the vxsort demo (demo.cpp:74-77) checks for AVX2, then AVX512F on x86 (NEON on AArch64). If none of the supported vectorized ISAs are present, it falls into the else block, prints this, and returns -2. The CPU cannot run the vectorized sort kernels.
Source
Thrown at src/coreclr/gc/vxsort/standalone/demo/demo.cpp:76
}
else if (IsSupportedInstructionSet (InstructionSet::AVX512F))
{
fprintf(stderr, "Sorting with AVX512...");
do_vxsort_avx512(begin, end, range_low, range_high);
fprintf(stderr, "...done!\n");
}
else
#elif defined(CPU_FEATURES_ARCH_AARCH64)
if (IsSupportedInstructionSet (InstructionSet::NEON))
{
fprintf(stderr, "Sorting with NEON...");
do_vxsort_neon(begin, end, range_low, range_high);
fprintf(stderr, "...done!\n");
}
else
#endif
{
fprintf(stderr, "CPU doesn't seem to support any vectorized ISA, bye-bye\n");
return -2;
}
auto prev = START - (1 << SHIFT);
for (auto & element : v) {
fprintf(stderr, "%p\n", element);
assert(element == prev + (1 << SHIFT));
prev = element;
}
return 0;
}
View on GitHub (pinned to 290d5ab72c)
Solutions
- Run on a host whose CPU supports AVX2 (most Intel Haswell+/AMD Ryzen and later) or NEON.
- Expose AVX to the VM (check hypervisor CPU flag passthrough).
- If only testing, use a different sort path / do not rely on this demo.
Example fix
// before (VM hides AVX) ./demo 1000000 # CPU doesn't seem to support any vectorized ISA, bye-bye // after (enable AVX2 passthrough in hypervisor) ./demo 1000000
Defensive patterns
Strategy: validation
Validate before calling
// Detect AVX2/AVX512 (x86) or NEON (ARM) before running the demo.
#include <cpuid.h>
unsigned int eax, ebx, ecx, edx;
__cpuid(7, 0, eax, ebx, ecx, edx);
bool hasAvx2 = (ebx & (1 << 5)) != 0;
bool hasAvx512 = (ebx & (1 << 16)) != 0;
if (!(hasAvx2 || hasAvx512)) { fprintf(stderr, "no vectorized ISA; aborting\n"); return EXIT_FAILURE; } Prevention
- Run vectorized benchmarks only on AVX2+/NEON hardware.
- Expose AVX to VMs via CPU-flag passthrough.
- Skip the demo in CI on CPUs lacking the required ISA.
When it happens
Trigger: Running the x86 demo on a CPU without AVX2 and AVX512F; running on a VM that hides AVX support; an older Intel/AMD CPU; an AArch64 core without NEON (rare).
Common situations: Benchmarking on a legacy/Atom CPU; a cloud VM with a restricted CPU feature set; running under an emulator lacking AVX.
Related errors
AI-assisted analysis of dotnet/runtime@290d5ab72c (2026-08-06).
Data as JSON: /api/errors/bfccd32059b77a55.
Report an issue: GitHub.