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