News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Instruction Set detection for 32 bit Operating Systems

Started by Gunther, February 03, 2013, 08:24:36 AM

Previous topic - Next topic

FORTRANS

Hi,

   P-III, Win 2000.  P-MMX, Win 98.  Celeron, Win XP.


Supported by Processor and installed Operating System:
------------------------------------------------------

     MMX, CMOV and FCOMI, SSE

     featurenumber = 7
Supported by Processor and installed Operating System:
------------------------------------------------------

     MMX

     featurenumber = 5
Supported by Processor and installed Operating System:
------------------------------------------------------

     MMX, CMOV and FCOMI, SSE, SSE2

     featurenumber = 8


Cheers,

Steve

Gunther

You have to know the facts before you can distort them.

Gunther

Hi Fortrans,

thank you for testing. Interesting enough: Windows 98 is XMM aware.

Gunther
You have to know the facts before you can distort them.

Gunther

Hi Dave,

Quote from: dedndave on February 03, 2013, 11:26:27 PM
well - that could be a number of things

but - i hadn't considered os's other than windows, really
at my age, i have more than i can handle learning xp, vista, and win7 - lol

yes, we've not much influence in which environment our well written software is running. Since the advent of the virtual machines - VMware, VirtualBox and the like - the environment can be very exotic. We've to live with that.

Gunther
You have to know the facts before you can distort them.

Magnum

I downloaded Boch's but it was way too involved setting up.

I tried Sanboxie, but whenever I told it to run something outside the box, it kept asking to run it in a box.

I got to do some Super Bowl preparations.

Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

FORTRANS

Hi Gunther,

   Well that laptop was sold with Win 95 (or OS/2 Warp).
So Win 98 being MMX aware is not too surprising.  Or is
it?

Regards,

Steve N.

dedndave

i have a win 98 machine
i think it's somewhat like yours, Steve
it has a Pentium III MMX
MMX happened about the same time as windows 98, maybe a little before

win 95, 98, and ME may have executed whatever your CPU had   :P
the "illegal instruction" was caught by the CPU - not the OS
i don't recall any way to disable instructions or instruction sets on the older cores

Gunther

Hi Fortrans,

Quote from: FORTRANS on February 05, 2013, 12:14:44 AM
   Well that laptop was sold with Win 95 (or OS/2 Warp).
So Win 98 being MMX aware is not too surprising.  Or is
it?

no, it isn't surprising. MMX was introduced 1997.

Dave,

Quote from: dedndave on February 05, 2013, 01:29:00 AM
i don't recall any way to disable instructions or instruction sets on the older cores

I think there isn't a way to disable instruction sets on the older cores. The only way is, to check what's supported and call the right library (if available). Intel calls that technique CPU dispatching.

Gunther
You have to know the facts before you can distort them.

Gunther

#23
Under the first post of this thread is now the archive Iset32U1.zip. It's a major update of the instruction detection procedure. Please, have a look into that thread, too. Both programs have the same logic, because they are interwoven.

The C sources are compiled with gcc, but VS or Pelle's C should also work, but that must be tested. The assembly language source is for jWasm/ml. For a more detailed description of the source files, please have a look into the readme.txt file.

Here is the output under Windows 7 (64 bit):
Quote
   Supported Features by Processor and Operating System
   ====================================================

Vendor String: GenuineIntel
Brand  String: Intel(R)Core(TM)i7-3770CPU@3.40GHz

   Instruction Sets
   ----------------

MMX  SSE  SSE2  SSE3  SSSE3  SSE4.1  SSE4.2  AVX

   Supported Special Instructions
   ------------------------------

Conditional Moves
FXSAVE and FXSTOR
XSAVE and XSTOR for processor extended state management.
POPCNT
RDRAND
AES (Advanced Encryption Standard) Instruction Set
16-bit floating-point Conversion Instructions

Please, press enter to end the application ...


Here with the same machine, but with Windows XP Mode under VirtualPC:
Quote
   Supported Features by Processor and Operating System
   ====================================================

Vendor String: GenuineIntel
Brand  String: Intel(R)Core(TM)i7-3770CPU@3.40GHz

   Instruction Sets
   ----------------

MMX  SSE  SSE2  SSE3  SSSE3  SSE4.1  SSE4.2

   Supported Special Instructions
   ------------------------------

Conditional Moves
FXSAVE and FXSTOR
XSAVE and XSTOR for processor extended state management.
POPCNT
RDRAND
AES (Advanced Encryption Standard) Instruction Set
16-bit floating-point Conversion Instructions

Please, press enter to end the application ...


The little difference comes from the point, that XP doesn't support AVX and subsequent instruction sets. Here's the output from my old AMD box running a native XP with SP3:
Quote
   Supported Features by Processor and Operating System
   ====================================================

Vendor String: AuthenticAMD
Brand  String: AMDAthlon(tm)64X2Dual-CoreProcessorTK-57

   Instruction Sets
   ----------------

MMX  SSE  SSE2  SSE3

   Supported Special Instructions
   ------------------------------

Conditional Moves
FXSAVE and FXSTOR

Please, press enter to end the application ...


Your help and test results are very welcome.

Gunther
You have to know the facts before you can distort them.

Siekmanski

Results with Windows 8.1 64 bit

QuoteSupported Features by Processor and Operating System
        ====================================================

Vendor String: GenuineIntel
Brand  String: Intel(R)Core(TM)i7-4930KCPU@3.40GHz

        Instruction Sets
        ----------------

MMX  SSE  SSE2  SSE3  SSSE3  SSE4.1  SSE4.2  AVX

        Supported Special Instructions
        ------------------------------

Conditional Moves
FXSAVE and FXSTOR
XSAVE and XSTOR for processor extended state management.
POPCNT
RDRAND
AES (Advanced Encryption Standard) Instruction Set
16-bit floating-point Conversion Instructions

Marinus
Creative coders use backward thinking techniques as a strategy.

hutch--

Hi Gunther,


Supported by Processor and installed Operating System:
------------------------------------------------------

     MMX, CMOV and FCOMI, SSE, SSE2, SSE3, SSSE3, SSE4.1

     featurenumber = 11


This is correct on my old Core2 quad.

Magnum

SuperDave,

I am probably as  old as you, and that is a compliment. :-)

You have an older system, but I would recommend Puppy LInux.




Take care,
                   Andy

Ubuntu-mate-18.04-desktop-amd64

http://www.goodnewsnetwork.org

Gunther

Hi Marinus,

thank you for testing the application. I think your CPU is a later Ivy Bridge, isn't it?

Gunther
You have to know the facts before you can distort them.

Gunther

Steve,

Quote from: hutch-- on April 27, 2014, 02:53:31 PM
Hi Gunther,


Supported by Processor and installed Operating System:
------------------------------------------------------

     MMX, CMOV and FCOMI, SSE, SSE2, SSE3, SSSE3, SSE4.1

     featurenumber = 11


This is correct on my old Core2 quad.

okay, but that's the old archive. The update is in Iset32U1.zip.

Gunther
You have to know the facts before you can distort them.

Biterider

Hi

Microsoft Windows [Version 6.3.9600] = Win 8.1 64 bit with an Haswell CPU

Supported by Processor and installed Operating System:
------------------------------------------------------

     MMX, CMOV and FCOMI, SSE, SSE2, SSE3, SSSE3, SSE4.1,
     POPCNT, SSE4.2

     featurenumber = 13

Regards, Biterider