Visual Studio 2010 and SSE 4.2
Visual Studio 2010 and SSE 4.2
我想知道,在Visual Studio 2010中设置什么是必要的,以启用SSE 4.2 ?我想使用它,因为优化的POPCNT…
如果所有设置都正常,我该如何测试?
感谢好吧,我试图使用你的解决方案,然而<nmmintric.h>
不包括在vstudio2010和标准__popcnt
需要int
而不是std::bitset<>
:(
任何想法?
谢谢你的提示与正确的标题。然而,似乎是:error C3861: '_mm_popcnt_u64': identifier not found
,我发现只有_mm_popcnt_u32
,但我不知道,如何使用它与bitset
,或者我应该使用bitset<>.count
?如果没有编译器的新设置,它就不能工作,可以吗?
没人知道?
您必须在代码中写入_mm_popcnt_u64。此外,最好检查您运行的cpu是否支持该指令。
#include <stdio.h>
#include <nmmintrin.h>
int main ()
{
unsigned __int64 a = 0x123456789ABCDEF0;
int res = _mm_popcnt_u64(a);
printf_s("Result res should be 32: %dn", res);
return 0;
}
MSDN示例for __popcnt
:
没有什么特别的要求。
你可以使用intrinsic mm*并包含适当的头文件,如果你的系统支持给定的特性,它将编译。
编译器不会检查或接触内联汇编,所以无论你在里面放什么都将通过构建,尽管如果你的系统不支持指令,你的应用程序会崩溃。
除此之外,VS2010优化器只针对SSE2。
相关文章:
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 为什么C++逐位AND运算符在不同大小的操作数中表现为这样
- 为什么 Clang 不允许"and"作为函数名称?
- 位阵列上的快速AND运算
- 是否可以在 C++03 中定义'move-and-swap idiom'等效项
- BoostPython and CMake
- OpenSSL BIO and SSL_read
- Gurobi GRBModel and GRBmodel in C++
- C++ SSE 内部函数:将结果存储在变量中
- std::visit and std::variant usage
- SHBrowseForFolder with BIF_BROWSEFORCOMPUTER and SHGetPathFr
- Directx12 and keystrokes
- different between int **arr =new int [ n]; and int a[i][j]?
- C++ getenv and setenv
- Inference pytorch C++ with alexnet and cv::imread image
- Visual Studio 2019 C++ and std::filesystem
- Constexpr and SSE intrinsics
- g++ (MinGW), C++11 and SSE
- SSE 内部函数:屏蔽浮点数并使用按位 and
- Visual Studio 2010 and SSE 4.2