5

我正在使用 MSVC 来使用一些 SSE 内在函数。为了支持这一点,我将一些数据对齐在 16 字节的边界上。然而,既然我为 x86 而不是 x64 编译,MSVC 坚持认为我将函数参数对齐为 16 字节是非法的。但如果这是真的,那么任何人怎么能将 SSE 数据类型作为函数参数发送呢?

那么如何在函数中发送 16 字节对齐的参数呢?

4

1 回答 1

4

如果这是真的,那么任何人怎么能将 SSE 数据类型作为函数参数发送呢?

你不能。:) 在 Microsoft 的 ABI 下,您必须通过引用或指针来传递它。

一种解决方法可能是使用fastcall调用约定,显然,它在 XMM 寄存器中传递前几个 SSE 参数。

于 2012-05-07T15:08:29.820 回答