_mm_类型函数的等效C代码

时间:2010-12-29 07:42:50

标签: c windows sse

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

为什么使用这些功能?

2 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分: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