帮助进行汇编/SSE 乘法
我一直在试图弄清楚如何在非常关键的几行代码中获得一些改进: float x = a*b; float y = c*d; float z = e*f; float w = g*h; 所有 a、b、c... 都是…
g++上证所内在困境——内在“饱和”带来的价值
我编写了一个简单的程序来实现 SSE 内在函数,用于计算两个大型(100000 个或更多元素)向量的内积。该程序比较了传统方法和使用内在函数计算内积的执…
有 ARM Neon 内在函数的好参考吗?
ARM 参考手册并未对各个指令进行过多详细介绍 ( http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348b/BABIIBBG.html )。有没有更…
逻辑 SSE 内在函数之间有什么区别?
不同类型的逻辑 SSE 内在函数之间有什么区别吗?例如,如果我们进行 OR 运算,则存在三个内在函数:_mm_or_ps、_mm_or_pd 和 _mm_or_si128 所有这些都…
通过引用内联函数传递 __m128i 对象是否会导致这些对象移动到堆栈?
我正在使用 SSE2 内在函数编写 8x16 位向量的转置函数。由于该函数有 8 个参数(8x8x16 位大小的矩阵),因此除了通过引用传递它们之外我无能为力。编…
英特尔 AVX 内在函数:有兼容库吗?
有 Intel AVX 内在函数库吗?我正在寻找类似于“sse2mmx.h”标头的内容,如果 SSE2 整数内在函数在编译时不可用,则该标头会回退到 MMX 内在函数。因…
_mm_mwait 如何工作?
pmmintrin.h 中的 _mm_mwait 如何工作? (我的意思不是它的汇编,而是操作以及如何在 NUMA 系统中执行此操作。store 监控仅在基于总线的 SMP 系统上…
Linux/gcc 中 InterlockedIncrement 的等效项
这将是一个非常简单的问题(可以重复),但我无法找到它。 Win32 API 提供了一组非常方便的原子操作(作为内在函数),例如发出 lock add x86 代码的 …
如何在 VS2008 64 位版本中用 intristic 替换 __asm jno no_oflow?
我有这段代码: __asm jno no_oflow overflow = 1; __asm no_oflow: 它产生了这个很好的警告: 错误 C4235:使用了非标准扩展:此架构不支持“__asm”…
C# 快速 crc32 计算:
我已经用 Ants 分析了我的应用程序,发现 > 10% 用于 CRC32 计算。 (CRC32 计算是用纯 C# 完成的) 我做了一些谷歌搜索并了解了 Visual Studio 2008 …
如何快速找到向量和的最大元素?
我的程序的最内部循环中有以下代码, struct V { float val [200]; // 0 <= val[i] <= 1 }; V a[600]; V b[250]; V c[250]; V d[350]; V e[350]; // .…
使用 movsd 让编译器复制字符
我想在时间关键的函数中复制相对较短的内存序列(小于 1 KB,通常为 2-200 字节)。 CPU 端的最佳代码似乎是 rep movsd。 但是我不知何故无法让我的编…
点积 - SSE2 与 BLAS
计算向量 x 与大量向量 y_i 的点积的最佳选择是什么,其中 x 和 y_i 的长度约为 10k 左右。 将 y 放入矩阵中并使用优化的 s/dgemv 例程? 或者尝试手…