Jacek Caban : include: Add intrin.h and use it to provide __cpuid implementation.
Alexandre Julliard
julliard at winehq.org
Tue May 5 14:48:51 CDT 2020
Module: wine
Branch: master
Commit: 48fa25d4dea31318d0c8551ee8f52a0f25f65c51
URL: https://source.winehq.org/git/wine.git/?a=commit;h=48fa25d4dea31318d0c8551ee8f52a0f25f65c51
Author: Jacek Caban <jacek at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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 */
More information about the wine-cvs
mailing list