英特尔AVX内在函数:任何兼容性库?

时间:2010-04-25 14:16:10

标签: c++ c intrinsics avx

是否有任何英特尔AVX内在函数库?我正在寻找类似'sse2mmx.h'标题的东西,如果SSE2整数内在函数在编译时不可用,它会回退到MMX内在函数。因此,如果我有类似AVX的库,我可以为新硬件编写优化代码,如果AVX扩展不可用,它将具有几乎最佳速度。谷歌搜索到目前为止没有多大帮助:(

1 个答案:

答案 0 :(得分:8)

英特尔提供AVX emulation header。我没有尝试过,但引用链接的文章“AVX仿真头文件使用内在函数来实现英特尔SSE4.2之前的英特尔指令集扩展。在开发环境中需要SSE4.2支持以及硬件顺序使用AVX仿真头文件。只需使用此文件:#include "avxintrin_emu.h"而不是通常的#include <immintrin.h>“ - 听起来这就是你要找的东西。

英特尔还有一个名为SDE的模拟器,它可能很有用。我还没有用它来测试AVX代码,但它在我的机器上运行良好,可以在旧CPU上使用AES-NI指令集测试代码,我知道它也支持AVX仿真。 SDE对于检查CPUID处理代码特别有用。