如何将SSE数据传递给我的函数/运算符?

5
我正在编写一些SSE指令的包装类,主要是为了获得类型安全的几何运算,同时添加一些方便函数。所有的函数和运算符都是内联的。理论上,它们都将直接编译为原始的SSE汇编代码(无需函数调用),我的电子元件将永远不会离开XMM寄存器。
如何传递我的SSE类作为参数以确保这个结果?
我从不修改我的参数,所以选择主要在于按值传递还是按const引用传递。我假设一个好的编译器会将两种风格优化为相同的代码。但我不确定。有更多经验的人能否详细说明最佳实践?
提前感谢!
1个回答

4

对于大多数编译器而言,两种方式都可以。但是如果你想让代码在Visual Studio中编译通过,请使用const引用,因为Visual Studio编译器有点傻,即使函数是内联的,也会应用不必要的ABI限制。


1
谢谢 - 目前我只使用GCC,但兼容性很好。那就使用常量引用吧。干杯! - Xavier Holt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接