SSE on PIII - gcc or gas bug?
Tue Jan 18 01:16:00 GMT 2000
On Tue, 18 Jan 2000, Ilan Finci wrote:
> I'm trying to use the new Pentium III extension (SSE - what came after
> MMX) using inline assembly.
> I managed to get the program to compile just fine (no warning or
> errors), but when trying to run the program, I get an error "Illegal
> instruction (core dumped)". I've tried it on more then one PIII.
> I've checked that SSE is enabled (using CPUID, with ax=1 and checking
> the 25th bit of dx) - it is enabled.
To run SIMD instructions you need to check that
a) CPUID.XMM(EDX bit 25) = 1
(processor supports Streaming SIMD Extensions)
b) CR0.EM(bit 2) = 0
c) CR4.OSFXSR(bit 9) = 1
(OS supports saving SIMD floating-point state during context switches)
Maybe you're missing b) or c)? I also recommend a newer binutils
More information about the Gcc-bugs