Tag: intrinsics

x86 SIMD内部函数的头文件

哪些头文件为不同的x86 SIMD指令集扩展(MMX,SSE,AVX,…)提供了内在的function? 在网上find这样的清单似乎是不可能的。 如我错了请纠正我。

上证所,内在因素和调整

我用很多SSE编译器内在函数编写了一个3Dvector类。 一切正常,直到我开始安装具有3Dvector的类作为新成员。 我在发布模式下遇到了一些奇怪的崩溃,但是在debugging模式下却不是这样。 所以我读了一些文章,并认为我需要将拥有3Dvector类的实例的类也alignment到16字节。 所以我刚刚在类的前面添加了_MM_ALIGN16 ( _MM_ALIGN16 ( __declspec(align(16) ),如下所示: _MM_ALIGN16 struct Sphere { // …. Vector3 point; float radius }; 这似乎首先解决了这个问题。 但是在改变一些代码之后,我的程序又开始以奇怪的方式崩溃了。 我search了更多的networking,发现了一篇博客文章。 我尝试了作者恩斯特·霍特(Ernst Hot)为解决这个问题所做的工作。 我添加了新的和删除操作符到我的类,如下所示: _MM_ALIGN16 struct Sphere { // …. void *operator new (unsigned int size) { return _mm_malloc(size, 16); } void operator delete (void *p) { _mm_free(p); } Vector3 point; float […]