阅读背景:

使用内在函数时如何让GCC使用两个以上的SIMD寄存器?

来源:互联网 

I am writing some code and trying to speed it up using SIMD intrinsics SSE2/3. My code is of such nature that I need to load some data into an XMM register and act on it many times. When I'm looking at the assembler code generated, it seems that GCC keeps flushing the data back to the memory, in order to reload something else in XMM0 and XMM1. I am compiling for x86-64 so I have 15 registers. Why is GCC using only two and what can I do to ask it to use more? Is there any way that I can "pin" some value in a register? I added the "register" keyword to my variable definition, but the generated assembly code is identical.I am writing some code and trying to speed it u




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: