我正在为 SSE Intrinsics 编写几个包装类 - 主要是为了获得类型安全的几何操作,但也添加了一些方便的功能。我所有的函数和运算符都是内联的。理论上,它们都将直接编译为原始 SSE 程序集(无函数调用),并且我的电子永远不会离开 XMM 寄存器。
如何将我的 SSE 类作为参数传递以确保此结果?
我从不修改我的参数,所以选择主要是在按值传递或按常量引用传递之间进行选择。我假设一个好的编译器会优化同一代码的两种样式。但我不确定。在该领域有更多经验的人可以阐述最佳做法吗?
提前致谢!
最佳答案
对于大多数编译器来说,两者都可以,但如果您希望代码使用 Visual Studio 进行编译,则使用 const 引用,因为 Visual Studio 编译器有点脑残,即使函数是内联的,也会应用不必要的 ABI 限制。
关于c++ - 我应该如何将 SSE 数据传递给我的函数/运算符(operator)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11873172/