-#define cpuid_has_mmx() cpuid_has_feature(CF_MMX, 0)
-#define cpuid_has_sse() cpuid_has_feature(CF_SSE, 0)
-#define cpuid_has_sse2() cpuid_has_feature(CF_SSE2, 0)
-#define cpuid_has_sse3() cpuid_has_feature(CF_SSE3, 0)
-#define cpuid_has_ssse3() cpuid_has_feature(CF_SSSE3, 0)
-#define cpuid_has_avx() cpuid_has_feature(CF_AVX, 0)
-#define cpuid_has_fma() cpuid_has_feature(CF_FMA, 0)
-#define cpuid_has_x64() cpuid_has_feature(CEF_x64, 1)
-#define cpuid_has_sse4a() cpuid_has_feature(CEF_SSE4a, 1)
-#define cpuid_has_fma4() cpuid_has_feature(CEF_FMA4, 1)
-#define cpuid_has_xop() cpuid_has_feature(CEF_XOP, 1)
-int cpuid_has_feature(int feature, int extended);
+#define cpuid_has_mmx() cpuid_has_feature(CF_MMX, false)
+#define cpuid_has_sse() cpuid_has_feature(CF_SSE, false)
+#define cpuid_has_sse2() cpuid_has_feature(CF_SSE2, false)
+#define cpuid_has_sse3() cpuid_has_feature(CF_SSE3, false)
+#define cpuid_has_ssse3() cpuid_has_feature(CF_SSSE3, false)
+#define cpuid_has_avx() cpuid_has_feature(CF_AVX, false)
+#define cpuid_has_fma() cpuid_has_feature(CF_FMA, false)
+#define cpuid_has_x64() cpuid_has_feature(CEF_x64, true)
+#define cpuid_has_sse4a() cpuid_has_feature(CEF_SSE4a, true)
+#define cpuid_has_fma4() cpuid_has_feature(CEF_FMA4, true)
+#define cpuid_has_xop() cpuid_has_feature(CEF_XOP, true)
+bool cpuid_has_feature(int feature, bool extended);
+
+#else
+
+#define cpuid_get_cpu_type() BUILD_ASSERT_OR_ZERO(0)
+#define cpuid_get_cpu_type_string() BUILD_ASSERT_OR_ZERO(0)