|
@@ -1,53 +0,0 @@
|
|
|
-From 7734f55bc535c6d3d0fbb27c55e38f52ba6b7764 Mon Sep 17 00:00:00 2001
|
|
|
-From: Andreas Schlick <schlick@lavabit.com>
|
|
|
-Date: Thu, 13 Sep 2012 19:44:50 +0200
|
|
|
-Subject: [PATCH] Fix compilation on non-Windows x86-32 w/ -msse.
|
|
|
-
|
|
|
-cpusupport.h used __cpuid() from the Windows specific header file intrin.h
|
|
|
-which is not available under gcc. But we can use __get_cpuid() from cpuid.h
|
|
|
-instead.
|
|
|
-
|
|
|
-Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
|
|
-
|
|
|
----
|
|
|
- src/cpusupport.h | 18 +++++++++++++++++-
|
|
|
- 1 files changed, 17 insertions(+), 1 deletions(-)
|
|
|
-
|
|
|
-diff --git a/src/cpusupport.h b/src/cpusupport.h
|
|
|
-index 1986d31..5e42337 100644
|
|
|
---- a/src/cpusupport.h
|
|
|
-+++ b/src/cpusupport.h
|
|
|
-@@ -32,7 +32,9 @@
|
|
|
- # if !defined(__SSE__) || defined(_M_X64) || defined(__amd64__)
|
|
|
- # define query_cpu_support() 0
|
|
|
- #else
|
|
|
--# include <intrin.h>
|
|
|
-+
|
|
|
-+#if defined WIN32 || defined _WIN32
|
|
|
-+#include <intrin.h>
|
|
|
- static inline int query_cpu_support(void)
|
|
|
- {
|
|
|
- int buffer[4];
|
|
|
-@@ -43,5 +45,19 @@ static inline int query_cpu_support(void)
|
|
|
- # endif
|
|
|
- ;
|
|
|
- }
|
|
|
-+#else
|
|
|
-+#include <cpuid.h>
|
|
|
-+static inline int query_cpu_support(void)
|
|
|
-+{
|
|
|
-+ unsigned int eax, ebx, ecx, edx=0;
|
|
|
-+ __get_cpuid(1, &eax, &ebx, &ecx, &edx);
|
|
|
-+ return ((edx & 1<<25) == 0) /*SSE*/
|
|
|
-+#ifdef __SSE2__
|
|
|
-+ + ((edx & 1<<26) == 0) /*SSE2*/
|
|
|
-+#endif
|
|
|
-+ ;
|
|
|
-+}
|
|
|
-+#endif
|
|
|
-+
|
|
|
- # endif
|
|
|
- #endif
|
|
|
---
|
|
|
-1.7.2.5
|
|
|
-
|