Operating System: Windows 10 Pro
IPP Library version: 2020.0.1 (link to static library)
Compiler: Microsoft Visual Studio 2017 (version 15.4.2) (C++17)
CPU: i7-6700
I run these lines of code below and get the following output:
const IppLibraryVersion* lib; lib = ippsGetLibVersion(); //print out all the members (see below)
OUPUT>> CPU: k0, Name: ippSP AVX-512F/CD/BW/DQ/VL (k0), Version: 2020.0.1 (r0x35c5ec66), Build Date: Mar 5 2020, major: 2020, majorBuild: 1, minor: 0, build: 902163558
The problem is, the i7-6700 CPU does not support AVX-512 instructions, so it should not be auto-detected as a k0. When running IPP functions like ippiRGBToYCbCr420_8u_C3P3R it will dispatch to use AVX-512 specific instructions like VMOVDQU32 which cause an "illegal instruction" exception to be thrown.
Is there anything else to try here so that the features of the current CPU are correctly understood by IPP? Or is the only recourse to manually set the Intel 64 architecture to L9 with a call to ippSetCpuFeatures()?