]> git.ipfire.org Git - thirdparty/vectorscan.git/commitdiff
Replace USE_ARM_SVE with HAVE_SVE.
authorGeorge Wort <george.wort@arm.com>
Fri, 16 Jul 2021 12:21:14 +0000 (13:21 +0100)
committerKonstantinos Margaritis <konstantinos@vectorcamp.gr>
Tue, 12 Oct 2021 08:51:34 +0000 (11:51 +0300)
Change-Id: I469efaac197cba93201f2ca6eca78ca61be3054d

CMakeLists.txt
cmake/arch.cmake
src/util/intrinsics.h

index f246932c852578e9c2506d7681a4b21077dc3a9b..5b4576260c41d7008c9d30f62c46a81f49881ec1 100644 (file)
@@ -312,6 +312,9 @@ elseif (ARCH_ARM32 OR ARCH_AARCH64)
   CHECK_INCLUDE_FILE_CXX(arm_neon.h HAVE_C_ARM_NEON_H)
   if (BUILD_SVE OR BUILD_SVE2 OR BUILD_SVE2_BITPERM)
     CHECK_INCLUDE_FILE_CXX(arm_sve.h HAVE_C_ARM_SVE_H)
+    if (NOT HAVE_C_ARM_SVE_H)
+        message(FATAL_ERROR "arm_sve.h is required to build for SVE.")
+    endif()
   endif()
   set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flax-vector-conversions")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flax-vector-conversions")
index 15ec067e94d7f81cde5b27c1fc681737184d68bb..073f26c52640b4a880ddb3102e51ea624624881a 100644 (file)
@@ -41,10 +41,10 @@ if (ARCH_AARCH64)
             svuint8_t a = svbsl(svdup_u8(1), svdup_u8(2), svdup_u8(3));
             (void)a;
         }" HAVE_SVE2)
-        if (HAVE_SVE2)
-            add_definitions(-DHAVE_SVE2)
-        endif ()
     endif()
+    if (HAVE_SVE2 OR HAVE_SVE2_BITPERM)
+        add_definitions(-DHAVE_SVE2)
+    endif ()
     if (BUILD_SVE)
         set(CMAKE_C_FLAGS "-march=${GNUCC_ARCH} ${CMAKE_C_FLAGS}")
         CHECK_C_SOURCE_COMPILES("#include <arm_sve.h>
@@ -52,9 +52,9 @@ if (ARCH_AARCH64)
             svuint8_t a = svdup_u8(1);
             (void)a;
         }" HAVE_SVE)
-        if (HAVE_SVE)
-            add_definitions(-DHAVE_SVE)
-        endif ()
+    endif ()
+    if (HAVE_SVE OR HAVE_SVE2 OR HAVE_SVE2_BITPERM)
+        add_definitions(-DHAVE_SVE)
     endif ()
     set(CMAKE_C_FLAGS "${PREV_FLAGS}")
 endif()
index 33beb49755623e06b29232bb3e8e12643a3b499f..099c8f91f0116298610812cf90e4d60f67716d6b 100644 (file)
 
 #if defined(HAVE_C_ARM_NEON_H)
 #  define USE_ARM_NEON_H
-#  if defined(HAVE_C_ARM_SVE_H)
-#    define USE_ARM_SVE
-#    if defined(BUILD_SVE2)
-#      define USE_ARM_SVE2
-#      if defined(BUILD_SVE2_BITPERM)
-#        define USE_ARM_SVE2_BITPERM
-#      endif
-#    endif
-#  endif
 #endif
 
 #ifdef __cplusplus
@@ -74,7 +65,7 @@
 #include <intrin.h>
 #elif defined(USE_ARM_NEON_H)
 #include <arm_neon.h>
-#  if defined(USE_ARM_SVE)
+#  if defined(HAVE_SVE)
 #    include <arm_sve.h>
 #  endif
 #else