#include #define TRY(x) (printf("%s " #x "\n", (__builtin_cpu_supports(#x)) ? \ "Supports" : "Doesn’t support")) int main(int argc, char **argv) { __builtin_cpu_init(); TRY(cmov); TRY(mmx); TRY(popcnt); TRY(sse); TRY(sse2); TRY(sse3); TRY(ssse3); TRY(sse4.1); TRY(sse4.2); TRY(avx); TRY(avx2); TRY(avx512f); return 0; }