zoukankan      html  css  js  c++  java
  • SSE指令集系列之三

    6. SSE整数运算指令

      pavgb  MM,MM/m64

          pavgb XMM,XMM/m128

      把源存储器与目的寄存器按字节无符号整数相加,再除以2,结果四舍五入为整数放入目的寄存器。

      源存储器为m128时,内存变量地址必须16字节对齐.

      pavgw MM,MM/m64

      pavgw XMM,XMM/m128

      把源存储器与目的寄存器按字无符号整数相加,再除以2,结果四舍五入为整数放入目的寄存器,

      源存储器为m128时,内存变量必须对齐内存16字节.

      pextrw r32,MM,imm8

          pextrw r32,XMM,imm8

          从源寄存器中选第imm8(0~3 或 0~7)个字送入目的寄存器的低16位,高16位清零.

          imm8范围为 0~255,当源寄存器为'MM'时,有效值= imm8 mod 4,当目的寄存器为'XMM'时,有效值= imm8 mod 8

      目的寄存器是32位通用寄存器

      pinsrw MM,r32/m32,imm8

      pinsrw XMM,r32/m32,imm8

      把源存储器的低16位内容送入目的寄存器第imm8(0~3 或 0~7)个字,其余字不变.

          imm8范围为 0~255,当目的寄存器为'MM'时,有效值= imm8 mod 4,当目的寄存器为'XMM'时,有效值= imm8 mod 8

      源寄存器是32位通用寄存器

         例:

                   7    6   5    4   3   2   1   0
        当 XMM0 = 0x ffff ffff ffff ffff ffff ffff ffff ffff
               eax = 0x 1234 5678,

               执行 pinsrw XMM0,eax,3
        则 XMM0 = 0x ffff ffff ffff ffff 5678 ffff ffff ffff


        执行pinsrw XMM0,eax,9
        则XMM0 = 0x ffff ffff ffff ffff ffff ffff 5678 ffff

         pmaxsw MM,MM/m64

               pmaxsw XMM,XMM/m128

        把源存储器与目的寄存器按字有符号整数比较,大数放入目的寄存器对应字

        源存储器为m128时,内存变量地址必须16字节对齐.

         pmaxub MM,MM/m64

               pmaxub XMM,XMM/m128

        把源存储器与目的寄存器按字节无符号整数比较,大数放入目的寄存器对应字节,

        源存储器为m128时,内存变量地址必须16字节对齐

         pminsw MM,MM/m64

               pminsw XMM,XMM/m128

        把源存储器与目的寄存器按字有符号整数比较,较小数放入目的寄存器对应字,

        源存储器为m128时,内存变量地址必须16字节对齐

         pminub MM,MM/m64

               pminub XMM,XMM/m128

        把源存储器与目的寄存器按字节无符号整数比较,较小数放入目的寄存器对应字节,

        源存储器为m128时,内存变量地址必须16字节对齐

              小结: SSE整数运算指令是对MMX指令集的扩充。

  • 相关阅读:
    (转)Entity Framework 缓存处理与日志监控,(非常重要的技术)
    (转)6步确保 windbg 成功调试 .net
    (转)十天内掌握线性代数:惊人的超速学习实验
    (转)创业需要知道的13句话
    今年阅读书籍计划,C++之STL篇
    不靠广告也盈利:移动应用掘金7大案例剖析(转)
    常用JS操作(复选框、单选框、下拉框)
    Windows系统直接运行jar
    修改打开方式的程序列表中列出程序的名称
    ora12514错误,TNS:监听程序当前无法识别链接描述符中请求的服务
  • 原文地址:https://www.cnblogs.com/celerychen/p/2984643.html
Copyright © 2011-2022 走看看