blob: f3df6f87de97ed3353fb50480f9434b43da356c4 (
plain) (
tree)
|
|
--- a/contrib/lua-torch/torch7/lib/TH/generic/simd/simd.h
+++ b/contrib/lua-torch/torch7/lib/TH/generic/simd/simd.h
@@ -45,7 +45,7 @@
SIMDExtension_NEON = 0x1,
#elif defined(__PPC64__)
SIMDExtension_VSX = 0x1,
-#else
+#elif defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_AMD64)
SIMDExtension_AVX2 = 0x1,
SIMDExtension_AVX = 0x2,
SIMDExtension_SSE = 0x4,
@@ -53,31 +53,17 @@
SIMDExtension_DEFAULT = 0x0
};
+#if (defined(__arm__) || defined(__aarch64__)) && defined(__NEON__)
-#if defined(__arm__) || defined(__aarch64__) // incl. armel, armhf, arm64
-
- #if defined(__NEON__)
-
static inline uint32_t detectHostSIMDExtensions()
{
return SIMDExtension_NEON;
}
- #else //ARM without NEON
+#elif defined(__PPC64__) && defined(__VSX__)
static inline uint32_t detectHostSIMDExtensions()
{
- return SIMDExtension_DEFAULT;
-}
-
- #endif
-
-#elif defined(__PPC64__)
-
- #if defined(__VSX__)
-
-static inline uint32_t detectHostSIMDExtensions()
-{
uint32_t hostSimdExts = SIMDExtension_DEFAULT;
char *evar;
@@ -87,16 +73,8 @@
return hostSimdExts;
}
- #else //PPC64 without VSX
+#elif defined(__i386) || defined(_M_IX86) || defined(__x86_64__) || defined(_M_AMD64)
-static inline uint32_t detectHostSIMDExtensions()
-{
- return SIMDExtension_DEFAULT;
-}
-
- #endif
-
-#else // x86
static inline void cpuid(uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx)
{
#if defined(_MSC_VER)
@@ -158,6 +136,13 @@
}
return hostSimdExts;
+}
+
+#else
+
+static inline uint32_t detectHostSIMDExtensions()
+{
+ return SIMDExtension_DEFAULT;
}
#endif // end SIMD extension detection code
|