- check_c_compiler_flag("-march=armv8-a+crc+crypto -mtune=qdf24xx" compiler_flag_march_core_qdf24xx)
- if(compiler_flag_march_core_qdf24xx)
- list(APPEND MARCH_VARIANTS "qdf24xx\;-march=armv8-a+crc+crypto -DCLIB_N_PREFETCHES=8")
- endif()
- check_c_compiler_flag("-march=armv8.2-a+crc+crypto+lse" compiler_flag_march_core_octeontx2)
- if(compiler_flag_march_core_octeontx2)
- list(APPEND MARCH_VARIANTS "octeontx2\;-march=armv8.2-a+crc+crypto+lse -DCLIB_N_PREFETCHES=8")
- endif()
- check_c_compiler_flag("-march=armv8.1-a+crc+crypto -mtune=thunderx2t99" compiler_flag_march_thunderx2t99)
- if(compiler_flag_march_thunderx2t99)
- if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND (NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 8.3))
- list(APPEND MARCH_VARIANTS "thunderx2t99\;-march=armv8.1-a+crc+crypto -mtune=thunderx2t99 -DCLIB_N_PREFETCHES=8")
- else()
- list(APPEND MARCH_VARIANTS "thunderx2t99\;-march=armv8.1-a+crc+crypto -DCLIB_N_PREFETCHES=8")
- endif()
- endif()
- check_c_compiler_flag("-march=armv8-a+crc+crypto -mtune=cortex-a72" compiler_flag_march_cortexa72)
- if(compiler_flag_march_cortexa72)
- list(APPEND MARCH_VARIANTS "cortexa72\;-march=armv8-a+crc+crypto -mtune=cortex-a72 -DCLIB_N_PREFETCHES=6")
- endif()
- check_c_compiler_flag("-march=armv8.2-a+crc+crypto -mtune=neoverse-n1" compiler_flag_march_neoversen1)
- if(compiler_flag_march_neoversen1)
- list(APPEND MARCH_VARIANTS "neoversen1\;-march=armv8.2-a+crc+crypto -mtune=neoverse-n1 -DCLIB_N_PREFETCHES=6")
- endif()
+
+ add_vpp_march_variant(qdf24xx
+ FLAGS -march=armv8-a+crc+crypto -mtune=qdf24xx
+ N_PREFETCHES 8
+ OFF
+ )
+
+ add_vpp_march_variant(octeontx2
+ FLAGS -march=armv8.2-a+crc+crypto+lse
+ N_PREFETCHES 8
+ )
+
+ add_vpp_march_variant(thunderx2t99
+ FLAGS -march=armv8.1-a+crc+crypto -mtune=thunderx2t99
+ N_PREFETCHES 8
+ )
+
+ add_vpp_march_variant(cortexa72
+ FLAGS -march=armv8-a+crc+crypto -mtune=cortex-a72
+ N_PREFETCHES 6
+ )
+
+ add_vpp_march_variant(neoversen1
+ FLAGS -march=armv8.2-a+crc+crypto -mtune=neoverse-n1
+ N_PREFETCHES 6
+ )