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中对应的数据元素。 |
指令 |
描述 |
ADDSS |
格式: ADDSS xmm1, xmm2/m32 将xmm2/m32中的标量(即最低位)单精度浮点数加到xmm1中对应的数据元素中,目标寄存器xmm1中的其它数据元素保持不变。 |
SUBSS |
格式:SUBSS xmm1, xmm2/m32 将xmm1中的标量(即最低位)的单精度浮点数减去xmm2/m32中对应的数据元素,目标寄存器xmm1中的其它数据元素保持不变。 |
指令 |
描述 |
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中其他的数据元素保持不变。 |
其他指令的操作示意图都类似,只是执行的操作类型有变化。略。