@@ -158,48 +158,45 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
158158 if (GGML_CPU_ARM_ARCH)
159159 list (APPEND ARCH_FLAGS -march=${GGML_CPU_ARM_ARCH} )
160160 elseif (GGML_CPU_ALL_VARIANTS)
161- if (CMAKE_SYSTEM_NAME MATCHES "Linux" )
162- # Begin with the lowest baseline
163- set (ARM_MCPU "armv8-a" )
164- set (ARCH_TAGS "" )
165- set (ARCH_DEFINITIONS "" )
166-
167- # When a feature is selected, bump the MCPU to the first
168- # version that supported it
169- if (GGML_INTERNAL_DOTPROD)
170- set (ARM_MCPU "armv8.2-a" )
171- set (ARCH_TAGS "${ARCH_TAGS} +dotprod" )
172- list (APPEND ARCH_DEFINITIONS GGML_USE_DOTPROD)
173- endif ()
174- if (GGML_INTERNAL_FP16_VECTOR_ARITHMETIC)
175- set (ARM_MCPU "armv8.2-a" )
176- set (ARCH_TAGS "${ARCH_TAGS} +fp16" )
177- list (APPEND ARCH_DEFINITIONS GGML_USE_FP16_VECTOR_ARITHMETIC)
178- endif ()
179- if (GGML_INTERNAL_SVE)
180- set (ARM_MCPU "armv8.2-a" )
181- set (ARCH_TAGS "${ARCH_TAGS} +sve" )
182- list (APPEND ARCH_DEFINITIONS GGML_USE_SVE)
183- endif ()
184- if (GGML_INTERNAL_MATMUL_INT8)
185- set (ARM_MCPU "armv8.6-a" )
186- set (ARCH_TAGS "${ARCH_TAGS} +i8mm" )
187- list (APPEND ARCH_DEFINITIONS GGML_USE_MATMUL_INT8)
188- endif ()
189- if (GGML_INTERNAL_SVE2)
190- set (ARM_MCPU "armv8.6-a" )
191- set (ARCH_TAGS "${ARCH_TAGS} +sve2" )
192- list (APPEND ARCH_DEFINITIONS GGML_USE_SVE2)
193- endif ()
194- if (GGML_INTERNAL_SME)
195- set (ARM_MCPU "armv9.2-a" )
196- set (ARCH_TAGS "${ARCH_TAGS} +sme" )
197- list (APPEND ARCH_DEFINITIONS GGML_USE_SME)
198- endif ()
199-
200- list (APPEND ARCH_FLAGS "-march=${ARM_MCPU}${ARCH_TAGS} " )
201- ggml_add_cpu_backend_features(${GGML_CPU_NAME} arm ${ARCH_DEFINITIONS} )
161+ # Begin with the lowest baseline
162+ set (ARM_MCPU "armv8-a" )
163+ set (ARCH_TAGS "" )
164+ set (ARCH_DEFINITIONS "" )
165+
166+ # When a feature is selected, bump the MCPU to the first
167+ # version that supported it
168+ if (GGML_INTERNAL_DOTPROD)
169+ set (ARM_MCPU "armv8.2-a" )
170+ set (ARCH_TAGS "${ARCH_TAGS} +dotprod" )
171+ list (APPEND ARCH_DEFINITIONS GGML_USE_DOTPROD)
172+ endif ()
173+ if (GGML_INTERNAL_FP16_VECTOR_ARITHMETIC)
174+ set (ARM_MCPU "armv8.2-a" )
175+ set (ARCH_TAGS "${ARCH_TAGS} +fp16" )
176+ list (APPEND ARCH_DEFINITIONS GGML_USE_FP16_VECTOR_ARITHMETIC)
177+ endif ()
178+ if (GGML_INTERNAL_SVE)
179+ set (ARM_MCPU "armv8.2-a" )
180+ set (ARCH_TAGS "${ARCH_TAGS} +sve" )
181+ list (APPEND ARCH_DEFINITIONS GGML_USE_SVE)
182+ endif ()
183+ if (GGML_INTERNAL_MATMUL_INT8)
184+ set (ARM_MCPU "armv8.6-a" )
185+ set (ARCH_TAGS "${ARCH_TAGS} +i8mm" )
186+ list (APPEND ARCH_DEFINITIONS GGML_USE_MATMUL_INT8)
187+ endif ()
188+ if (GGML_INTERNAL_SVE2)
189+ set (ARM_MCPU "armv8.6-a" )
190+ set (ARCH_TAGS "${ARCH_TAGS} +sve2" )
191+ list (APPEND ARCH_DEFINITIONS GGML_USE_SVE2)
192+ endif ()
193+ if (GGML_INTERNAL_SME)
194+ set (ARM_MCPU "armv9.2-a" )
195+ set (ARCH_TAGS "${ARCH_TAGS} +sme" )
196+ list (APPEND ARCH_DEFINITIONS GGML_USE_SME)
202197 endif ()
198+ list (APPEND ARCH_FLAGS "-march=${ARM_MCPU}${ARCH_TAGS} " )
199+ ggml_add_cpu_backend_features(${GGML_CPU_NAME} arm ${ARCH_DEFINITIONS} )
203200 endif ()
204201 endif ()
205202
0 commit comments