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

7 c c++ intrinsics avx

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

Jac*_*oyd 9

英特尔提供AVX仿真头.我没有尝试过,但引用了链接的文章"AVX仿真头文件使用内在函数来实现英特尔SSE4.2之前的英特尔指令集扩展.在开发环境中需要SSE4.2支持以及硬件顺序使用AVX仿真头文件.要使用,只需要包含这个文件:#include "avxintrin_emu.h"坚持通常#include <immintrin.h>" - 这听起来像你正在寻找的.

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