Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37568047
en ru br
Репозитории ALT

Группа :: Система/Библиотеки
Пакет: libopenimageio

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Патч: openimageio-e2k.patch
Скачать


diff --git a/src/include/OpenImageIO/platform.h b/src/include/OpenImageIO/platform.h
index 7ed0548..39f2380 100644
--- a/src/include/OpenImageIO/platform.h
+++ b/src/include/OpenImageIO/platform.h
@@ -53,6 +53,8 @@
 
 #ifdef _MSC_VER
 #    include <intrin.h>
+#elif defined(__e2k__) && defined(__LCC__)
+#    include <e2kbuiltin.h>
 #endif
 
 #include <OpenImageIO/oiioversion.h>
@@ -389,6 +391,9 @@
 // 'inline'.
 #if defined(__CUDACC__)
 #    define OIIO_FORCEINLINE __inline__
+#elif defined(__EDG__)
+#    pragma diag_suppress 2189
+#    define OIIO_FORCEINLINE inline __attribute__((always_inline))
 #elif defined(__GNUC__) || defined(__clang__) || __has_attribute(always_inline)
 #    define OIIO_FORCEINLINE inline __attribute__((always_inline))
 #elif defined(_MSC_VER) || defined(__INTEL_COMPILER)
@@ -582,6 +587,8 @@ inline void cpuid (int info[4], int infoType, int extra)
         : "=a" (info[0]), "=r" (info[1]), "=c" (info[2]), "=d" (info[3])
         : "0" (infoType), "2" (extra));
 # endif
+#elif defined(__e2k__) && defined(__LCC__)
+    __cpuidex(info, infoType, extra);
 #else
     info[0] = 0; info[1] = 0; info[2] = 0; info[3] = 0;
 #endif
diff --git a/src/include/OpenImageIO/simd.h b/src/include/OpenImageIO/simd.h
index fdada23..83832e8 100644
--- a/src/include/OpenImageIO/simd.h
+++ b/src/include/OpenImageIO/simd.h
@@ -71,7 +71,8 @@
     // Cuda -- don't include any of these headers
 #elif defined(_WIN32)
 #  include <intrin.h>
-#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__)) || defined(__e2k__)
+// e2k backend for Clang doesn't support x86 intrinsics and SIMD
+#elif defined(__GNUC__) && (defined(__x86_64__) || defined(__i386__) || (defined(__e2k__) && defined(__LCC__)))
 #  include <x86intrin.h>
 #elif defined(__GNUC__) && defined(__ARM_NEON__)
 #  include <arm_neon.h>
 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin