4.11: sysctl hw.instruction_sse?

Christian Weisgerber naddy at mips.inka.de
Fri Jan 14 08:27:09 PST 2005


I'm currently dealing with a report of ports/devel/flac dying in
its optimized SSE code on a 4.11/i386 system.  What's the status
of SSE kernel support in 4.x?

freefall and the user's machine report hw.instruction_sse=0, although
they run on CPUs that do support SSE.  Does RELENG_4 generally not
provide SSE support?  However, the SSE-related code in the repository
(sys/i386/i386/{initcpu,machdep}.c) looks like that in RELENG_5.

flac brings its own optimizations for MMX, SSE, etc, checks the CPU
at runtime and uses the best code path.  If we don't provide the
kernel support for SSE on CPUs that have these instructions, then
that's obviously a problem.

freefall, 4.11-RC2:
CPU: Intel Pentium III (801.82-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
hw.instruction_sse: 0

ref5jp, 5.2-CURRENT:
CPU: Pentium III/Pentium III Xeon/Celeron (498.49-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x673  Stepping = 3
  Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
hw.instruction_sse: 1

What's going on here?

-- 
Christian "naddy" Weisgerber                          naddy at mips.inka.de



More information about the freebsd-stable mailing list