45 lines
1.2 KiB
Diff
45 lines
1.2 KiB
Diff
|
From ae74fa2fcdef8ec44b925a649f66e8cbefce8315 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= <rverschelde@gmail.com>
|
||
|
Date: Thu, 7 May 2020 12:14:09 +0200
|
||
|
Subject: [PATCH] Fix detection of SSE2 with Visual Studio
|
||
|
|
||
|
The previous code assumed that SSE2 is available when building with
|
||
|
Visual Studio, but that's not accurate on ARM with UWP.
|
||
|
|
||
|
SSE2 could also be enabled on x86 if `_M_IX86_FP == 2`, but it requires
|
||
|
checking first that it's not actually set to 2 for AVX, AVX2 or AVX512
|
||
|
(see https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros?view=vs-2019),
|
||
|
so I left it out for this quick fix.
|
||
|
---
|
||
|
jpgd.cpp | 16 +++++++---------
|
||
|
1 file changed, 7 insertions(+), 9 deletions(-)
|
||
|
|
||
|
diff --git a/jpgd.cpp b/jpgd.cpp
|
||
|
index 91e66ad..db1f3b4 100644
|
||
|
--- a/jpgd.cpp
|
||
|
+++ b/jpgd.cpp
|
||
|
@@ -37,16 +37,14 @@
|
||
|
|
||
|
#ifndef JPGD_USE_SSE2
|
||
|
|
||
|
- #if defined(__GNUC__)
|
||
|
-
|
||
|
- #if (defined(__x86_64__) || defined(_M_X64))
|
||
|
- #if defined(__SSE2__)
|
||
|
- #define JPGD_USE_SSE2 (1)
|
||
|
- #endif
|
||
|
+ #if defined(__GNUC__)
|
||
|
+ #if defined(__SSE2__)
|
||
|
+ #define JPGD_USE_SSE2 (1)
|
||
|
+ #endif
|
||
|
+ #elif defined(_MSC_VER)
|
||
|
+ #if defined(_M_X64)
|
||
|
+ #define JPGD_USE_SSE2 (1)
|
||
|
#endif
|
||
|
-
|
||
|
- #else
|
||
|
- #define JPGD_USE_SSE2 (1)
|
||
|
#endif
|
||
|
|
||
|
#endif
|