Exemplo n.º 1
0
 inline bool detect(tag::avx_ const&)
 {
   if (x86::get_vendor() == x86::intel || x86::get_vendor() == x86::amd)
   {
     if(x86_detection(28,0x00000001,3) && x86_detection(27,0x00000001,3))
       return true;
     else return false;
   }
   else return false;
 }
Exemplo n.º 2
0
 inline bool detect(tag::fma4_ const&)
 {
   if (x86::get_vendor() == x86::amd)
   {
     if(x86_detection(16,0x80000001,3) && x86_detection(27,0x00000001,3))
       return true;
     else return false;
   }
   else return false;
 }
Exemplo n.º 3
0
 inline bool detect(tag::sse4_2_ const&)
 {
   if (x86::get_vendor() == x86::intel || x86::get_vendor() == x86::amd)
     return x86_detection(20,0x00000001,3);
   else return false;
 }
Exemplo n.º 4
0
 inline bool detect(tag::sse4a_ const&)
 {
   if (x86::get_vendor() == x86::amd)
     return x86_detection(6,0x80000001,3);
   else return false;
 }
Exemplo n.º 5
0
 inline bool detect(tag::xop_ const&)
 {
   if (x86::get_vendor() == x86::amd)
     return x86_detection(11,0x80000001,3) && x86_detection(27,0x00000001,3);
   return false;
 }
Exemplo n.º 6
0
 inline bool detect(tag::sse2_ const&)
 {
   if (x86::get_vendor() == x86::intel || x86::get_vendor() == x86::amd)
     return x86_detection(26,0x00000001,4);
   return false;
 }
Exemplo n.º 7
0
 inline bool detect(tag::avx2_ const&)
 {
   if (x86::get_vendor() == x86::intel || x86::get_vendor() == x86::amd)
     return x86_detection(5,0x00000007,2) && x86_detection(27,0x00000001,3);
   return false;
 }