Please do careful review. I don't feel confident about asm details. --- mingw-w64-headers/include/psdk_inc/intrin-impl.h | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/mingw-w64-headers/include/psdk_inc/intrin-impl.h b/mingw-w64-headers/include/psdk_inc/intrin-impl.h index 6100290..a3c1442 100644 --- a/mingw-w64-headers/include/psdk_inc/intrin-impl.h +++ b/mingw-w64-headers/include/psdk_inc/intrin-impl.h @@ -1336,6 +1336,18 @@ void __cpuid(int CPUInfo[4], int InfoType) { #define __INTRINSIC_DEFINED___cpuid #endif /* __INTRINSIC_PROLOG */ +#if __INTRINSIC_PROLOG(__cpuidex) +void __cpuidex(int CPUInfo[4], int, int); +__INTRINSICS_USEINLINE +void __cpuidex(int CPUInfo[4], int function_id, int subfunction_id) { + __asm__ __volatile__ ( + "cpuid" + : "=a" (CPUInfo [0]), "=b" (CPUInfo [1]), "=c" (CPUInfo [2]), "=d" (CPUInfo [3]) + : "a" (function_id), "c" (subfunction_id)); +} +#define __INTRINSIC_DEFINED___cpuidex +#endif /* __INTRINSIC_PROLOG */ + #if __INTRINSIC_PROLOG(__readmsr) __MINGW_EXTENSION unsigned __int64 __readmsr(unsigned __LONG32); __INTRINSICS_USEINLINE
------------------------------------------------------------------------------
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public