5

我正在为 SSE Intrinsics 编写几个包装类——主要是为了获得类型安全的几何操作,但也为了添加一些便利功能。我所有的函数和运算符都是内联的。理论上,它们都将直接编译为原始 SSE 程序集(无函数调用),并且我的电子永远不会离开 XMM 寄存器。

如何将我的 SSE 类作为参数传递以确保此结果?

我从不修改我的论点,所以选择主要是在通过值传递或通过 const 引用传递之间。我假设一个好的编译器会在相同的代码中优化两种样式。但我不确定。在该领域有更多经验的人可以阐述最佳实践吗?

提前致谢!

4

1 回答 1

4

对于大多数编译器来说两者都可以,但是如果您希望使用 Visual Studio 编译代码,则使用 const 引用,因为 Visual Studio 编译器有点脑残,并且即使函数是内联的,也会应用不必要的 ABI 限制。

于 2012-08-08T21:39:58.803 回答