SSE指令集系列之一

SSE有8个128位独立寄存器(XMM1~XMM7),指令描述约定:
     MM指64位MMX寄存器
     XMM指128XMM寄存器

     m32 指32位内存变量
     m128指128位内存变量

 

1. 数据传送指令

    movaps XMM,XMM/m128 movaps XMM/m128,XMM

     把源存储器内容值送入目的寄存器,当有m128时, 内存地址必须是16字节对齐的

     movups XMM,XMM/m128  movaps XMM/m128,XMM

    与 movaps 执行的结果相同,但内存地址可以不是16字节对齐的,速度没有 movaps 的快!

 

  movlps XMM, m64

  把源存储器64位内容送入目的寄存器低64位,高64位不变,内存地址不必16字节对齐.

  movhps XMM, m64

  把源存储器64位内容送入目的寄存器高64位,低64位不变,内存地址不必16字节对齐.

  movhlps XMM,XMM

  把源寄存器高64位送入目的寄存器低64位,高64位不变.

  movlhps XMM,XMM

  把源寄存器低64位送入目的寄存器高64位,低64位不变.  

  movss    XMM, XMM/m32

      把源寄存器低32位送入目的寄存器低32位,如果源为32为内存变量,则目的寄存器其它位清零,否则保持不变.  

 

2. 单精度浮点算数运算指令

          SSE 的点算数运算指令,大致上可以分成兩种:packed 和 scalar。Packed 指令是一次对 XMM 寄存器中的四个浮点数均进行相同的运算,而 scalar 则只对 XMM寄存器中的最低  32位浮点数进行运算,高96位保持不变,如下图:

                                                    

                  addps XMM,XMM/m128

                    addss XMM,XMM/m32

                  subps XMM,XMM/m128

                  subss XMM,XMM/m32

                  mulps XMM,XMM/m128

                  mulss XMM,XMM/m32

                  divps XMM,XMM/m128

                  divss XMM,XMM/m32

                  maxps XMM,XMM/m128

                  maxss XMM,XMM/m32

                    minps XMM,XMM/m128

                  minss XMM,XMM/m32

                  rcpps XMM,XMM/m128

                  rcpss XMM,XMM/m32

                  rsqrtps XMM,XMM/m128

                  rsqrtss XMM,XMM/m32

 

       要点: 以PS后缀结尾的指令,如果源操作数为存储器,要求内存地址必须是16字节对齐的。而以SS后缀结尾的指令,没有这个限制。

 

 3. 位运算指令

   andps XMM,XMM/m128

  源存储器128个二进制位'与'目的寄存器128个二进制位,结果送入目的寄存器,内存变量地址必须16字节对齐.

  orps XMM,XMM/m128
  源存储器128个二进制位'或'目的寄存器128个二进制位,结果送入目的寄存器,内存变量地址必须16字节对齐.

  xorps XMM,XMM/m128
  源存储器128个二进制位'异或'目的寄存器128个二进制位,结果送入目的寄存器,内存变量地址必须16字节对齐

 

 

 

 

转载于:https://www.cnblogs.com/celerychen/archive/2013/03/27/2984085.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值