0

什么是简单的等效 C 代码来克服 __ 等函数_mm_store_ps_mm_add_ps请通过具有等效 C 代码的示例指定任何函数。

为什么要使用这些功能?

4

2 回答 2

5

根据您之前的类似问题,听起来您正在尝试解决错误的问题。您有一些现有的用于面部检测的 SSE 代码正在崩溃,因为您将未对齐的数据传递给需要 16 字节对齐数据的 SSE 例程。在之前的问题中,人们告诉过您如何解决这种错位问题(在 Windows 上使用 _mm_malloc,在 Linux 上使用 memalign/posix_memalign),但您似乎忽略了这个建议,而是错误地假设您需要重新编写所有 SSE 代码. 花一些时间来了解 SSE 是什么,你的 SSE 代码是如何工作的,为什么它需要 16 字节对齐以及如何实现这一点。只要您解决了数据错位问题,您现有的 SSE 代码应该可以在 Windows 或 Linux 上正常运行,一旦您了解自己在做什么,这应该是一项相对简单的任务。

于 2010-12-29T08:19:54.613 回答
0

MSDN 显示了第一个函数的伪代码,

void _mm_store_ps(float *p, __m128 a );

回报:

p[0] := a0
p[1] := a1
p[2] := a2
p[3] := a3

http://msdn.microsoft.com/en-us/library/s3h4ay6y(v=vs.80).aspx

于 2010-12-29T07:55:17.247 回答