DoubangoTelecom / compv

Insanely fast Open Source Computer Vision library for ARM and x86 devices (Up to #50 times faster than OpenCV)
https://doubango.org
GNU General Public License v3.0
189 stars 39 forks source link

CompVMathOpSubSubMul_32f32f32f_Asm_X64_AVX requires AVX2 #175

Closed george-hopkins closed 1 year ago

george-hopkins commented 1 year ago

CompVMathOpSubSubMul_32f32f32f_Asm_X64_AVX uses vbroadcastss ymm0, xmm0 which has been introduced in AVX2. In CompVMathOpSubSubMul the aforementioned implementation is chosen even if the CPU only supports AVX. This causes an exception (illegal instruction) at runtime.

DoubangoTelecom commented 1 year ago

Replaced "VBROADCASTSS ymm1, xmm2" (AVX2) with "BROADCASTSS ymm1, m32" (AVX). Source: https://www.felixcloutier.com/x86/vbroadcast. Will take time to reach other projects using the lib (UltimateALPR, FaceLiveness...)