Page 1 of 1

Processors that supports MMX or SSE

Posted: Sat Apr 19, 2008 10:40 am
by AlfaOmega08
There is a processor from what all other processors supports MMX or SSE?
Or have I to check everytime the CPUID flags.

Eg: The CPUID instruction is supported on some 386 processor (IIRC)
The processors since 486 ALL supports CPUID, and you need not to check if CPUID is supported or not anymore if you see your processor is 486+.

Do you know if there is something similar for mmx or sse?

Thanks

Posted: Sat Apr 19, 2008 10:56 am
by cyr1x
MMX since Pentium MMX
SSE since Pentium III

EDIT: However, you should check if they're available. They might not be implemented in future CPU's. Especially MMX, though unlikely, because of compatibility.

Re: Processors that supports MMX or SSE

Posted: Sat Apr 19, 2008 3:23 pm
by Combuster
AlfaOmega08 wrote:The processors since 486 ALL supports CPUID, and you need not to check if CPUID is supported or not anymore if you see your processor is 486+.
Wrong. The Cx486 and Cx586 do not support CPUID out of the box. You must check the ID bit before using CPUID.
You will also need to check for MMX and SSE via CPUID, however SSE is part of the x86-64 architecture so if code is running in long mode the check is no longer necessary.

Re: Processors that supports MMX or SSE

Posted: Mon Apr 21, 2008 3:02 am
by jal
AlfaOmega08 wrote:Eg: The CPUID instruction is supported on some 386 processor (IIRC) The processors since 486 ALL supports CPUID, and you need not to check if CPUID is supported or not anymore if you see your processor is 486+.
No 386 has CPUID support. CPUID was introduced with the first Pentiums, and implemented in the later 486es that were produced after the introduction of the Pentiums (most notably AMDs, not sure about Intels). So you are wrong twice, good score. However, why would you want to bother with the old muck?

As for MMX/SSE, of the latter new version are coming out with every processor generation, so you may want to check anyway.


JAL

Posted: Mon Apr 21, 2008 12:10 pm
by z180
MMX processors can do some code much faster. I have a
Armada 4150T replacement notebook that has an 150MHZ MMX.
I think they used really an 166 MHZ cpu.IT can also some non MMX
instruction do faster as normal pentiums.I think i am wrong but
it should generate a trap if you use an mmx instruction on an non mmx
pentium and that could you catch.Also you could try with the CPUID test

Posted: Mon Apr 21, 2008 1:21 pm
by jal
z180 wrote:I think i am wrong but
it should generate a trap if you use an mmx instruction on an non mmx
pentium and that could you catch
No doubt you'd get an invalid opcode exception. Not only on a Pentium, but also on a 386/486.


JAL