Project Description

Note: This project has migrated to

This SIMD class helps developers to detect the types of SIMD instruction available on users' processor. It supports Intel and AMD CPUs. It is written in C++.


Available for use in .Net application through C++/CLI wrapper. Now the library supports querying Intel AVX, AES information.

Note: AMD SSE 4a and SSE 5 detection are not tested! Please kindly help me test if you have the AMD processor with these instructions!

// C++
class SIMD
  // Intel SIMD
      bool HasMMX();
      bool HasSSE();
      bool HasSSE2();
      bool HasSSE3();
      bool HasSSSE3();
      bool HasSSE41();
      bool HasSSE42();
      bool HasAES();
      bool HasAVX();
      bool HasMMXplus();
      bool Has3Dnow();
      bool Has3DnowExt();
      bool HasSSE4a();
      bool HasSSE5();

// C#
public class SIMD_Detector
  // Intel SIMD
      bool MMX { get; }
      bool SSE { get; }
      bool SSE2 { get; }
      bool SSE3 { get; }
      bool SSSE3 { get; }
      bool SSE41 { get; }
      bool SSE42 { get; }
      bool AES { get; }
      bool AVX { get; }
      bool MMXplus { get; }
      bool ThreeDnow { get; }
      bool ThreeDnowExt { get; }
      bool SSE4a { get; }
      bool SSE5 { get; }

Last edited Apr 1 at 11:14 AM by shaovoon, version 24