Processors that supports MMX or SSE

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
AlfaOmega08
Member
Member
Posts: 226
Joined: Wed Nov 07, 2007 12:15 pm
Location: Italy

Processors that supports MMX or SSE

Post 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
cyr1x
Member
Member
Posts: 207
Joined: Tue Aug 21, 2007 1:41 am
Location: Germany

Post 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.
User avatar
Combuster
Member
Member
Posts: 9301
Joined: Wed Oct 18, 2006 3:45 am
Libera.chat IRC: [com]buster
Location: On the balcony, where I can actually keep 1½m distance
Contact:

Re: Processors that supports MMX or SSE

Post 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.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: Processors that supports MMX or SSE

Post 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
z180
Member
Member
Posts: 32
Joined: Tue Mar 04, 2008 12:32 pm

Post 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
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Post 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
Post Reply