使用流 SIMD 扩展的浮点内部

[本文档仅供预览,并可能在以后的版本中更改。 Blank topics are included as placeholders.]

Microsoft 专用

每个内部项存在与其非正式的伪代码,并遵循与大写字母的一个对应的命令名;例如, ADDSS 是本节列出的第一命令的名称,对应于以下的内部:

__m128 _mm_add_ss(__m128 a , __m128 b );
ADDSS

可变 r 为内部的一般使用的返回值。 数字追加到一个变量名称指示要打包的对象的元素。 例如, r0 是 r的最低的单词。 ,因为它们需要多个命令实现它们,某些内部为 “复合”。

,在编写程序内部时,您应当熟悉的流 SIMD 扩展 (SSE)提供的硬件功能。 下面是四个关键问题记住:

某些内部,例如 _mm_loadr_ps_mm_cmpgt_ss,不受设置命令直接支持。 当这些内部方便程序帮助时,这些做法可能包括多台机器语言指令。

  • 加载存储的浮点数据, __m128 对象通常需要对齐的 16 字节。

  • 某些内部要求,也就是说,它们的参数是 immediates 常量整数 (文本),因为命令,其中是的性质。

  • 操作不是两个数字 (NAN)参数的算术运算的结果是未定义的。 因此,使用 NAN 参数的浮点运算不匹配对应的汇编指令的预期行为。

下面的浮点运算讨论:

请参见

参考

流式 SIMD 扩展 (SSE)