libjpeg-turbo/libjpeg-turbo-3.0.2-e2k.patch
Alexander Stefanov 2c029484f0 3.0.3
2024-05-18 12:13:00 +00:00

57 lines
2.1 KiB
Diff

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ff9c9c2..fa0364c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -120,6 +120,9 @@ elseif(CMAKE_SYSTEM_PROCESSOR_LC STREQUAL "aarch64" OR
elseif(CMAKE_SYSTEM_PROCESSOR_LC MATCHES "^ppc" OR
CMAKE_SYSTEM_PROCESSOR_LC MATCHES "^powerpc")
set(CPU_TYPE powerpc)
+elseif(CMAKE_SYSTEM_PROCESSOR_LC STREQUAL "e2k" OR
+ CMAKE_SYSTEM_PROCESSOR_LC STREQUAL "elbrus")
+ set(CPU_TYPE e2k)
else()
set(CPU_TYPE ${CMAKE_SYSTEM_PROCESSOR_LC})
endif()
@@ -926,6 +929,8 @@ if(CPU_TYPE STREQUAL "x86_64" OR CPU_TYPE STREQUAL "i386")
elseif(CPU_TYPE STREQUAL "x86_64")
set(DEFAULT_FLOATTEST8 no-fp-contract)
endif()
+elseif(WITH_SIMD AND CPU_TYPE STREQUAL "e2k")
+ set(DEFAULT_FLOATTEST8 sse)
elseif(CPU_TYPE STREQUAL "powerpc" OR CPU_TYPE STREQUAL "arm64")
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
if(CMAKE_C_COMPILER_VERSION VERSION_EQUAL 14.0.0 OR
diff --git a/simd/CMakeLists.txt b/simd/CMakeLists.txt
index 0237955..e61baea 100644
--- a/simd/CMakeLists.txt
+++ b/simd/CMakeLists.txt
@@ -543,6 +543,29 @@ if(CMAKE_POSITION_INDEPENDENT_CODE OR ENABLE_SHARED)
set_target_properties(simd PROPERTIES POSITION_INDEPENDENT_CODE 1)
endif()
+###############################################################################
+# Elbrus (Intrinsics)
+###############################################################################
+
+elseif(CPU_TYPE STREQUAL "e2k")
+
+set(SIMD_SOURCES e2k/jquanti-e2k.c e2k/jquantf-e2k.c
+ e2k/jccolor-e2k.c e2k/jcsample-e2k.c
+ e2k/jdcolor-e2k.c e2k/jdsample-e2k.c
+ e2k/jfdctint-e2k.c e2k/jfdctfst-e2k.c e2k/jfdctflt-e2k.c
+ e2k/jidctint-e2k.c e2k/jidctfst-e2k.c e2k/jidctflt-e2k.c
+ e2k/jchuff-e2k.c e2k/jcphuff-e2k.c)
+
+set_source_files_properties(${SIMD_SOURCES} PROPERTIES
+ COMPILE_FLAGS -msse4.1)
+
+set(SIMD_SOURCES ${SIMD_SOURCES} e2k/jsimd.c)
+
+add_library(simd OBJECT ${SIMD_SOURCES})
+
+if(CMAKE_POSITION_INDEPENDENT_CODE OR ENABLE_SHARED)
+ set_target_properties(simd PROPERTIES POSITION_INDEPENDENT_CODE 1)
+endif()
###############################################################################
# None