You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(linux32): correct x87 FP precision and BMI2 guard for i386 builds
On Linux 32-bit, two independent issues caused garbage (!!!!) output:
1. GCC defaults to x87 (80-bit extended precision) for scalar floats
on i386 even with -mavx2. Whisper's softmax/logit values diverge
from every other platform. Fixed by adding -mfpmath=sse -msse2 to
the Linux x86 build flags in premake5.lua.
2. _pdep_u64 is an x86_64-only intrinsic. The #ifdef __BMI2__ guard
in quants.c was insufficient — on i386 with BMI2 the intrinsic is
absent, producing silent garbage. Fixed by guarding with
defined(__BMI2__) && defined(__x86_64__) so 32-bit hits the
correct scalar fallback.
Patch applied to vendor submodule, CI linux32 jobs, and RUN_ONCE
setup scripts.