4 ms·
x87 is different from modern floating-point, including the modern floating-point operations on x86 CPUs (SSE and later instructions) and ARM64. x87 calculates
by jlokier 3y ago
x87 is different from modern floating-point, including the modern floating-point operations on x86 CPUs (SSE and later instructions) and ARM64.
x87 calculates with 80-bit floats ("long double" in C), but the host CPU's FPU typically supports only 64-bit floats ("double").
So accurate x87 emulation can't translate all operations directly to host FPU operations. It must use software floating-point on the host instead, which is much slower.