C 内部和寄存器(SSE)
我对SSE有疑问 正如我所理解的,SSE由XMM寄存器组成。而且(正如我所理解的)如果我需要将一些值从SSE的某个部分转移到另一个部分,我必须使用汇编语言。例如C 内部和寄存器(SSE),c,assembly,x86,sse,C,Assembly,X86,Sse,我对SSE有疑问 正如我所理解的,SSE由XMM寄存器组成。而且(正如我所理解的)如果我需要将一些值从SSE的某个部分转移到另一个部分,我必须使用汇编语言。例如movdqa xmm7、xmm6。但它不起作用 我需要将值移动到另一个单元格 我该怎么办?这是一个洗牌,如果您使用的是intrinsic,那么不需要asm。见@Jester,非常感谢。注意@Jester的评论并不局限于shuffle操作;你不需要asm来使用任何SSE,真的。头还定义了与XMM寄存器可以保存的内容相对应的类型(\uuuuu
movdqa xmm7、xmm6
。但它不起作用
我需要将值移动到另一个单元格我该怎么办?这是一个洗牌,如果您使用的是intrinsic,那么不需要asm。见@Jester,非常感谢。注意@Jester的评论并不局限于shuffle操作;你不需要asm来使用任何SSE,真的。
头还定义了与XMM寄存器可以保存的内容相对应的类型(\uuuuum128
、\uuuuum128i
和\uuuuum128d
),以及在这些类型上操作的内部函数,与SSE指令相对应。请注意,有单独的洗牌指令用于洗牌整数值和洗牌浮点值。在某些处理器上,在整数和浮点运算之间切换会有一个小的时间损失。这是一种无序操作,如果您使用的是内部函数,则不需要asm。见@Jester,非常感谢。注意@Jester的评论并不局限于shuffle操作;你不需要asm来使用任何SSE,真的。
头还定义了与XMM寄存器可以保存的内容相对应的类型(\uuuuum128
、\uuuuum128i
和\uuuuum128d
),以及在这些类型上操作的内部函数,与SSE指令相对应。请注意,有单独的洗牌指令用于洗牌整数值和洗牌浮点值。在某些处理器上,在整数和浮点运算之间切换会有很小的时间损失。