]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Limit sse/avx implementations to x86_64 only
authorVsevolod Stakhov <vsevolod@rspamd.com>
Tue, 29 Aug 2023 18:20:25 +0000 (19:20 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Tue, 29 Aug 2023 18:20:25 +0000 (19:20 +0100)
src/libcryptobox/CMakeLists.txt
src/libcryptobox/base64/base64.c

index a7f86650c2e735525b1598f812bc996f420f67fc..d1c8e3d614188a2bcfd9ba8214349d33d16c115f 100644 (file)
@@ -1,39 +1,41 @@
 SET(CHACHASRC ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/chacha.c
-       ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/ref.c)
+        ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/ref.c)
 
 SET(BASE64SRC ${CMAKE_CURRENT_SOURCE_DIR}/base64/ref.c
-               ${CMAKE_CURRENT_SOURCE_DIR}/base64/base64.c)
+        ${CMAKE_CURRENT_SOURCE_DIR}/base64/base64.c)
 
-IF(HAVE_AVX2)
-       IF ("${ARCH}" STREQUAL "x86_64")
-               SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx2.S)
-               MESSAGE(STATUS "Cryptobox: AVX2 support is added (chacha20)")
-       ENDIF()
-       SET(BASE64SRC ${BASE64SRC} ${CMAKE_CURRENT_SOURCE_DIR}/base64/avx2.c)
-       MESSAGE(STATUS "Cryptobox: AVX2 support is added (base64)")
-ENDIF(HAVE_AVX2)
-IF(HAVE_AVX)
-       IF ("${ARCH}" STREQUAL "x86_64")
-               SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx.S)
-               MESSAGE(STATUS "Cryptobox: AVX support is added (chacha20)")
-       ENDIF()
-ENDIF(HAVE_AVX)
-IF(HAVE_SSE2)
-       IF ("${ARCH}" STREQUAL "x86_64")
-               SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/sse2.S)
-               MESSAGE(STATUS "Cryptobox: SSE2 support is added (chacha20)")
-       ENDIF()
-ENDIF(HAVE_SSE2)
-IF(HAVE_SSE42)
-       SET(BASE64SRC ${BASE64SRC} ${CMAKE_CURRENT_SOURCE_DIR}/base64/sse42.c)
-       MESSAGE(STATUS "Cryptobox: SSE42 support is added (base64)")
-ENDIF(HAVE_SSE42)
+IF (HAVE_AVX2)
+    IF ("${ARCH}" STREQUAL "x86_64")
+        SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx2.S)
+        MESSAGE(STATUS "Cryptobox: AVX2 support is added (chacha20)")
+    ENDIF ()
+    SET(BASE64SRC ${BASE64SRC} ${CMAKE_CURRENT_SOURCE_DIR}/base64/avx2.c)
+    MESSAGE(STATUS "Cryptobox: AVX2 support is added (base64)")
+ENDIF (HAVE_AVX2)
+IF (HAVE_AVX)
+    IF ("${ARCH}" STREQUAL "x86_64")
+        SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/avx.S)
+        MESSAGE(STATUS "Cryptobox: AVX support is added (chacha20)")
+    ENDIF ()
+ENDIF (HAVE_AVX)
+IF (HAVE_SSE2)
+    IF ("${ARCH}" STREQUAL "x86_64")
+        SET(CHACHASRC ${CHACHASRC} ${CMAKE_CURRENT_SOURCE_DIR}/chacha20/sse2.S)
+        MESSAGE(STATUS "Cryptobox: SSE2 support is added (chacha20)")
+    ENDIF ()
+ENDIF (HAVE_SSE2)
+IF (HAVE_SSE42)
+    IF ("${ARCH}" STREQUAL "x86_64")
+        SET(BASE64SRC ${BASE64SRC} ${CMAKE_CURRENT_SOURCE_DIR}/base64/sse42.c)
+        MESSAGE(STATUS "Cryptobox: SSE42 support is added (base64)")
+    ENDIF ()
+ENDIF (HAVE_SSE42)
 
 CONFIGURE_FILE(platform_config.h.in platform_config.h)
 INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}")
-SET(LIBCRYPTOBOXSRC    ${CMAKE_CURRENT_SOURCE_DIR}/cryptobox.c
-                                       ${CMAKE_CURRENT_SOURCE_DIR}/keypair.c
-                                       ${CMAKE_CURRENT_SOURCE_DIR}/keypairs_cache.c
-                                       ${CMAKE_CURRENT_SOURCE_DIR}/catena/catena.c)
+SET(LIBCRYPTOBOXSRC ${CMAKE_CURRENT_SOURCE_DIR}/cryptobox.c
+        ${CMAKE_CURRENT_SOURCE_DIR}/keypair.c
+        ${CMAKE_CURRENT_SOURCE_DIR}/keypairs_cache.c
+        ${CMAKE_CURRENT_SOURCE_DIR}/catena/catena.c)
 
 SET(RSPAMD_CRYPTOBOX ${LIBCRYPTOBOXSRC} ${CHACHASRC} ${BASE64SRC} PARENT_SCOPE)
index 0dc93b3d20600e5ff1160c3e565d8c37e884217a..e868924438ef1dfc7dc7c590953813a65ee03c0e 100644 (file)
@@ -1,11 +1,11 @@
-/*-
- * Copyright 2016 Vsevolod Stakhov
+/*
+ * Copyright 2023 Vsevolod Stakhov
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *   http://www.apache.org/licenses/LICENSE-2.0
+ *    http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -306,7 +306,7 @@ BASE64_DECLARE(ref);
 #define BASE64_REF BASE64_IMPL(0, 0, "ref", ref)
 
 #ifdef RSPAMD_HAS_TARGET_ATTR
-#if defined(HAVE_SSE42)
+#if defined(HAVE_SSE42) && defined(__x86_64__)
 int base64_decode_sse42(const char *in, size_t inlen,
                                                unsigned char *out, size_t *outlen) __attribute__((__target__("sse4.2")));
 
@@ -316,7 +316,7 @@ BASE64_DECLARE(sse42);
 #endif
 
 #ifdef RSPAMD_HAS_TARGET_ATTR
-#if defined(HAVE_AVX2)
+#if defined(HAVE_AVX2) && defined(__x86_64__)
 int base64_decode_avx2(const char *in, size_t inlen,
                                           unsigned char *out, size_t *outlen) __attribute__((__target__("avx2")));