VS2008中的AVX-512指令库

时间:2018-09-27 15:02:33

标签: c++ visual-studio-2008 x86 linker avx512

我有一个在Visual Studio 2017中内置的C ++库,该库使用AVX-512内部函数。我需要将库链接到VS2008 C ++代码。该库用于从图像中提取线条。所有内部指令都封装在库中。 VS2008代码传入char* dataLineSpec(具有4个浮点数的结构)和char* result中,并用提取的行填充。

由于错误C1083,我无法链接库:无法打开包含文件:immintrin.h。出于相同的原因,我也无法使用VS2008工具集在VS2017中构建库。

目标是使用AVX-512指令提高提取速度,同时使用VS2008编译其余代码。我是内在函数和混合平台的新手。您对在VS2008中使用该库有什么建议吗?

1 个答案:

答案 0 :(得分:2)

你不能

要调用使用ymm寄存器的函数,编译器需要发出指令以根据ABI进行准备。但是AVX-512在2008年不存在,因此VS2008无法了解ABI或AVX-512指令

然后在链接时,您还需要了解指令集以知道要修复的地址,尽管使用目标代码中存储的偏移量可能更容易解决

简而言之,您需要更新编译器,而不是使用拥有十年历史的编译器