我在visual studio 2015上使用/ arch:AVX2编写C ++程序,并添加了#include <immintrin.h>
大多数AVX方法都可以正常工作,包括_mm256_setr_epi32()
但是当我尝试使用_mm256_setr_epi16()
时,我收到以下错误:
警告C4752:发现英特尔(R)高级矢量扩展;考虑使用/ arch:AVX
所有输入参数都是短整数。我已将错误隔离到第9到第16个参数 - 当它们是常量数时 - 一切正常,但是当我在其中一些地方放置一个短变量时,我得到一个错误。
编辑: 没有找到解决方案,但使用了此解决方法
#pragma warning(disable:4752) {my method here} #pragma warning(default:4752)
解除任何警告但编译并正确运行。