PB version of CPUID for Intel hardware.

Started by hutch--, April 30, 2010, 01:48:55 AM

Previous topic - Next topic

hutch--

I converted the MASM libraries I have done recently into PB functions so that the late SSE capacity in PB could be tested on the running processor. As with the MASM versions the code only tests for Intel capacity as I don't have an AMD box to work on.

These are the results on the Intel boxes I have handy.


CPUID is supported
GenuineIntel
Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz
SSE4.2 is supported
SSE4.1 is supported
SSE3 is supported
SSE2 is supported
SSE is supported
MMX is supported
Press any key to exit ....

CPUID is supported
GenuineIntel
Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz
SSE4.2 is not supported
SSE4.1 is supported
SSE3 is supported
SSE2 is supported
SSE is supported
MMX is supported
Press any key to exit ....

CPUID is supported
GenuineIntel
Genuine Intel(R) CPU 3.80GHz
SSE4.2 is not supported
SSE4.1 is not supported
SSE3 is supported
SSE2 is supported
SSE is supported
MMX is supported
Press any key to exit ....
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php

dedndave

prescott - the info is correct
CPUID is supported
GenuineIntel
Intel(R) Pentium(R) 4 CPU 3.00GHz
SSE4.2 is not supported
SSE4.1 is not supported
SSE3 is supported
SSE2 is supported
SSE is supported
MMX is supported

frktons

I think the answer is: IT WORKS FINEĀ  :P

CPUID is supported
GenuineIntel
Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
SSE4.2 is not supported
SSE4.1 is not supported
SSE3 is supported
SSE2 is supported
SSE is supported
MMX is supported
Press any key to exit ....


Frank
Mind is like a parachute. You know what to do in order to use it :-)

clive

So hutch, do any of those Core boxes support POPCNT and/or AES extensions?
It could be a random act of randomness. Those happen a lot as well.

hutch--

#4
Clive,

I have seen it in the reference material but have yet to do any real work on the i7. New box, new OS learning curve etc .... There are newer instructions, crc32, encryption and string handling and I have seen one MOVBE that is supposed to work like BSWAP but on different sized data. The Core2 quad I am currently using goes up to sse4.1 but its main use so far has been multicore/multithread and I have done little in terms of SSE stuff with it.

Slightly Later :

Had a quick play with the return values in ECX to test some of the later capacity, MOVBE, POPCNT AES and a few of the older ones. I get this result on the two different quads.


==========================================================

CPUID reports the following Intel specifications,

Vendor  = GenuineIntel

CPU ID  = Intel(R) Core(TM)2 Quad CPU Q9650 @ 3.00GHz

CPU supports MMX SSE SSE2 SSE3 SSE4.1

Core(s) = 4 (logical)

Functions returned in ECX = SSE3 VMX SMX EST SSSE3 SSE4.1

Press any key to exit ....

==========================================================

CPUID reports the following Intel specifications,

Vendor  = GenuineIntel

CPU ID  = Intel(R) Core(TM) i7 CPU 860 @ 2.80GHz

CPU supports MMX SSE SSE2 SSE3 SSE4.1 SSE4.2

Core(s) = 8 (logical)

Functions returned in ECX = SSE3 VMX SMX EST SSSE3 SSE4.1 SSE4.2 POPCNT

Press any key to exit ....

==========================================================
Download site for MASM32      New MASM Forum
https://masm32.com          https://masm32.com/board/index.php