|
|
|
@ -227,6 +227,9 @@ if(X86 OR X86_64) |
|
|
|
|
# -mavx512f -mavx512pf -mavx512er -mavx512cd -mavx512vl -mavx512bw -mavx512dq -mavx512ifma -mavx512vbmi |
|
|
|
|
ocv_update(CPU_AVX_512F_FLAGS_ON "-mavx512f") |
|
|
|
|
ocv_update(CPU_AVX512_SKX_FLAGS_ON "-mavx512f -mavx512cd -mavx512vl -mavx512bw -mavx512dq") |
|
|
|
|
else() |
|
|
|
|
ocv_update(CPU_AVX_512F_SUPPORTED OFF) |
|
|
|
|
ocv_update(CPU_AVX512_SKX_SUPPORTED OFF) |
|
|
|
|
endif() |
|
|
|
|
elseif(MSVC) |
|
|
|
|
ocv_update(CPU_AVX2_FLAGS_ON "/arch:AVX2") |
|
|
|
@ -247,7 +250,11 @@ if(X86 OR X86_64) |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(NOT DEFINED CPU_DISPATCH) |
|
|
|
|
set(CPU_DISPATCH "SSE4_1;SSE4_2;AVX;FP16;AVX2" CACHE STRING "${HELP_CPU_DISPATCH}") |
|
|
|
|
if(X86_64) |
|
|
|
|
set(CPU_DISPATCH "SSE4_1;SSE4_2;AVX;FP16;AVX2;AVX512_SKX" CACHE STRING "${HELP_CPU_DISPATCH}") |
|
|
|
|
else() |
|
|
|
|
set(CPU_DISPATCH "SSE4_1;SSE4_2;AVX;FP16" CACHE STRING "${HELP_CPU_DISPATCH}") |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
|
|
|
|
|
if(NOT DEFINED CPU_BASELINE) |
|
|
|
@ -354,16 +361,27 @@ endmacro() |
|
|
|
|
|
|
|
|
|
foreach(OPT ${CPU_KNOWN_OPTIMIZATIONS}) |
|
|
|
|
set(CPU_${OPT}_USAGE_COUNT 0 CACHE INTERNAL "") |
|
|
|
|
if(DEFINED CPU_${OPT}_GROUP) |
|
|
|
|
if("${CPU_${OPT}_FLAGS_ON}" STREQUAL "disabled") |
|
|
|
|
set(CPU_${OPT}_SUPPORTED OFF) |
|
|
|
|
elseif(DEFINED CPU_${OPT}_GROUP) |
|
|
|
|
if(NOT DEFINED CPU_${OPT}_IMPLIES) |
|
|
|
|
set(CPU_${OPT}_IMPLIES "${CPU_${OPT}_GROUP}") |
|
|
|
|
endif() |
|
|
|
|
if(NOT DEFINED CPU_${OPT}_FLAGS_ON) |
|
|
|
|
set(__flags "") |
|
|
|
|
foreach(OPT2 ${CPU_${OPT}_GROUP}) |
|
|
|
|
set(__flags "${__flags} ${CPU_${OPT2}_FLAGS_ON}") |
|
|
|
|
endforeach() |
|
|
|
|
set(CPU_${OPT}_FLAGS_ON "${__flags}") |
|
|
|
|
set(__disabled 0) |
|
|
|
|
set(__flags "") |
|
|
|
|
foreach(OPT2 ${CPU_${OPT}_GROUP}) |
|
|
|
|
if("${CPU_${OPT2}_FLAGS_ON}" STREQUAL "disabled" OR (DEFINED CPU_${OPT2}_SUPPORTED AND NOT CPU_${OPT}_SUPPORTED)) |
|
|
|
|
set(__disabled 1) |
|
|
|
|
endif() |
|
|
|
|
set(__flags "${__flags} ${CPU_${OPT2}_FLAGS_ON}") |
|
|
|
|
string(STRIP "${__flags}" __flags) |
|
|
|
|
endforeach() |
|
|
|
|
if(__disabled) |
|
|
|
|
set(CPU_${OPT}_SUPPORTED OFF) |
|
|
|
|
else() |
|
|
|
|
if(NOT DEFINED CPU_${OPT}_FLAGS_ON) |
|
|
|
|
set(CPU_${OPT}_FLAGS_ON "${__flags}") |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
endif() |
|
|
|
|
if(NOT DEFINED CPU_${OPT}_FORCE) |
|
|
|
|