Пример #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;
 }
Пример #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;
 }
Пример #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;
 }
Пример #4
0
 inline bool detect(tag::sse4a_ const&)
 {
   if (x86::get_vendor() == x86::amd)
     return x86_detection(6,0x80000001,3);
   else return false;
 }
Пример #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;
 }
Пример #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;
 }
Пример #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;
 }