Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(5) - 算术指令

SSE Arithmetic Instructions

SSE算术指令执行加法,减法,乘法,除法,以及求倒数,平方根,平方根倒数,最大值/最小值操作,操作数可以是组合的或标量的单精度浮点数。

指令

描述

ADDPS

格式: ADDPS xmm1, xmm2/m128

将xmm2/m128中组合的单精度浮点数加到xmm1中对应的数据元素中。

SUBPS

格式:SUBPS xmm1, xmm2/m128

将xmm1中组合的单精度浮点数减去xmm2/m128中对应的数据元素。

 

Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(5) - 算术指令

 

指令

描述

ADDSS

格式: ADDSS xmm1, xmm2/m32

将xmm2/m32中的标量(即最低位)单精度浮点数加到xmm1中对应的数据元素中,目标寄存器xmm1中的其它数据元素保持不变。

SUBSS

格式:SUBSS xmm1, xmm2/m32

将xmm1中的标量(即最低位)的单精度浮点数减去xmm2/m32中对应的数据元素,目标寄存器xmm1中的其它数据元素保持不变。

 

Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(5) - 算术指令

 

指令

描述

MULPS

格式: ADDPS xmm1, xmm2/m128

将xmm1中组合的单精度浮点数与xmm2/m128中对应的浮点数相乘,结果保存在xmm1中。

MULSS

格式:SUBSS xmm1, xmm2/m32

将xmm1中的标量(即最低位)的单精度浮点数乘以xmm2/m32中对应的数据元素,结果保存在xmm1中,且其它数据元素保持不变。

DIVPS

格式:DIVPS xmm1, xmm2/m128

将xmm1中组合的单精度浮点数除以xmm2/m128中对应的浮点数。结果保存在xmm1中。

DIVSS

格式:DIVSS xmm1, xmm2/m32

将xmm1中的标量单精度浮点数除以xmm2/m32中对应的浮点数。

结果保存在xmm1中,且其它的数据元素保持不变。

RCPPS

格式:RCPPS xmm1, xmm2/m128

计算xmm2/m128中组合的单精度浮点数的倒数近似值,结果保存在xmm1中

RCPSS

格式:RCPPS xmm1, xmm2/m32

计算xmm2/m32中的标量单精度浮点数的倒数近似值,结果保存在xmm1中,且xmm1中其他的数据元素保持不变。

SQRTPS

格式:SQRTPS xmm1, xmm2/m128

计算xmm2/m128中组合的单精度浮点数的平方根,结果保存在xmm1。

SQRTSS

格式:SQRTSS xmm1, xmm2/m32

计算xmm2/m32中的标量单精度浮点数的平方根,结果保存在xmm1中,且xmm1中其他的数据元素保持不变。

RSQRTPS

格式:RSQRTPS xmm1, xmm2/m128

计算xmm2/m128中组合的单精度浮点数的平方根倒数近似值,结果保存在xmm1中

RSQRTSS

格式:RSQRTSS xmm1, xmm2/m32

计算xmm2/m32中的标量单精度浮点数的平方根倒数近似值,结果保存在xmm1中,且xmm1中其他的数据元素保持不变。

MAXPS

格式:MAXPS xmm1, xmm2/m128

找到xmm1与xmm2/m128中组合的单精度浮点数中较大的值,结果保存在xmm1中

MAXSS

格式:MAXSS xmm1, xmm2/m32

找到xmm1与xmm2/m32中标量单精度浮点数中较大的值,结果保存在xmm1中,且xmm1中其他的数据元素保持不变。

MINPS

格式:MINPS xmm1, xmm2/m128

找到xmm1与xmm2/m128中组合的单精度浮点数中较小的值,结果保存在xmm1中

MINSS

格式:MINSS xmm1, xmm2/m32

找到xmm1与xmm2/m32中标量单精度浮点数中较小的值,结果保存在xmm1中,且xmm1中其他的数据元素保持不变。

Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(5) - 算术指令

Intel 64/x86_64/IA-32/x86处理器 - SIMD指令集 - SSE扩展(5) - 算术指令

其他指令的操作示意图都类似,只是执行的操作类型有变化。略。