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

    4. 数据重排指令集

      unpckhps XMM,XMM/m128

      源存储器与目的寄存器高64位按双字交错排列,结果送入目的寄存器,内存变量必须对齐内存16字节.
                高64位 | 低64位
        目的寄存器:    a0 | a1 | a2 | a3
        源存储器:     b0 | b1 | b2 | b3
        目的寄存器结果:  b0 | a0 | b1 | a1
        例:
        当  XMM0 = 0x 0c517e000  44290000 46b6d000 3c4985f0
             XMM1 = 0x 045e51000 4240cccd  4a59e540  3a77b9e0,

                当执行 unpckhps XMM0,XMM1
                   则 XMM0 = 0x 045e51000 c517e000 4240cccd 44290000

      unpcklps XMM,XMM/m128

      源存储器与目的寄存器低64位按双字交错排列,结果送入目的寄存器,内存变量必须对齐内存16字节.
              高64位 | 低64位
      目的寄存器:    a0 | a1  | a2 | a3
      源存储器:       b0 | b1 | b2 | b3
      目的寄存器结果:  b2 | a2 | b3 | a3
      例:
      当XMM0 = 0x 0c517e000 44290000 46b6d000 3c4985f0
         XMM1 = 0x 045e51000 4240cccd  4a59e540 3a77b9e0,

           执行 unpcklps XMM0,XMM1
       则 XMM0 = 0x 04a59e540 46b6d000 3a77b9e0 3c4985f0

     5. 单精度浮点数与整数相互转换指令

        cvtpi2ps XMM,MM/m64

        源存储器64位两个32位有符号(补码)整数转为两个单精度浮点数,放入目的寄存器低64中,高64位不变.

        源寄存器是'MM',不是'XMM'

     

        cvtsi2ss XMM,r32/m32

        源存储器1个32位有符号(补码)整数转为1个单精度浮点数,放入目的寄存器低32中,高96位不变.

     

      cvtps2pi MM,XMM/m64

        把源存储器低64位两个32位单精度浮点数转为两个32位有符号整数,放入目的寄存器.

        cvtss2si r32,XMM/m32

        把源存储器低32位1个单精度浮点数转为1个32位有符号整数,放入目的寄存器.

  • 相关阅读:
    office2010卸载出现安装程序包的语言不支持
    Red Hat 7.5 Yum Replacement
    0801作业
    0730会员注册
    0730作业2:随机生成6位的字符串验证码,要求包含数字、大小写字母
    0730作业一练习:输出学习阶段目标
    0727作业1 根据学员英文名找到学员对象
    注册
    随机数
    Map
  • 原文地址:https://www.cnblogs.com/celerychen/p/2984600.html
Copyright © 2011-2022 走看看