The MASM Forum

Miscellaneous => 16 bit DOS Programming => Topic started by: Gunther on November 10, 2014, 06:44:16 AM

Title: Instruction set detection, DOS and AVX
Post by: Gunther on November 10, 2014, 06:44:16 AM
Well, that's not a plain 16-bit application, it's a 32-bit protected mode program. I've re-compiled the sources from this thread (http://masm32.com/board/index.php?topic=1418.msg14444#msg14444) with gcc and jWasm for DOS. That's the output under FreeDOS running inside VMware Player:
Quote
      Supported Features
      ==================

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 ...


Under plain DOS it's not possible to use the AVX instruction set. But the same program running under Windows 7-32 inside a virtual machine (VMware Player) brings that output:

Quote
                Supported Features
                ==================

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 ...


Some test results under other environments would be fine.

Gunther