Module: wine Branch: master Commit: 48fa25d4dea31318d0c8551ee8f52a0f25f65c51 URL: https://source.winehq.org/git/wine.git/?a=commit;h=48fa25d4dea31318d0c8551ee...
Author: Jacek Caban jacek@codeweavers.com Date: Tue May 5 02:52:26 2020 +0200
include: Add intrin.h and use it to provide __cpuid implementation.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
include/Makefile.in | 1 + include/msvcrt/intrin.h | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+)
diff --git a/include/Makefile.in b/include/Makefile.in index 74db5ee151..8aa61021d2 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -450,6 +450,7 @@ SOURCES = \ msvcrt/fenv.h \ msvcrt/float.h \ msvcrt/fpieee.h \ + msvcrt/intrin.h \ msvcrt/inttypes.h \ msvcrt/io.h \ msvcrt/limits.h \ diff --git a/include/msvcrt/intrin.h b/include/msvcrt/intrin.h new file mode 100644 index 0000000000..5ad2776450 --- /dev/null +++ b/include/msvcrt/intrin.h @@ -0,0 +1,25 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the Wine project. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +#ifndef _INC_INTRIN +#define _INC_INTRIN + +#ifdef __cplusplus +extern "C" { +#endif + +#if defined(__i386__) || defined(__x86_64__) +static inline void __cpuid(int info[4], int ax) +{ + __asm__ ("cpuid" : "=a"(info[0]), "=b" (info[1]), "=c"(info[2]), "=d"(info[3]) : "a"(ax), "c"(0)); +} +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* _INC_INTRIN */