文档章节

SSE指令集系列之三----整数运算指令

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:46
字数 659
阅读 188
收藏 0

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指令集的扩充。

 

本文转载自:http://www.cnblogs.com/celerychen/archive/2013/04/23/3588228.html

上一篇: 人脸美化
下一篇: SSSE3指令集
abcijkxyz
粉丝 64
博文 6421
码字总数 1876
作品 0
深圳
项目经理
私信 提问
Intel 45nm制程处理器上的SSE4指令集简介

Intel 45nm制程处理器上的SSE4指令集简介 Intel的SSE(Streaming SIMD Extensions, 流式单指令多数据扩展)技术有效增强了CPU的向量运算能力。支持该指令集的处理器有8个128位xmm寄存器,每一...

日久不生情
2017/11/07
0
0
实现高性能纠删码引擎 | 纠删码技术详解(下)

作者介绍: 徐祥曦,七牛云工程师,独立开发了多套高性能纠删码/再生码编码引擎。 柳青,华中科技大学博士,研究方向为基于纠删码的分布式存储系统。 前言: 在上篇《如何选择纠删码编码引擎...

七仙女很忙
2017/05/24
0
0
如何选择纠删码编码引擎 | 纠删码技术详解(上)

作者介绍: 徐祥曦,七牛云工程师,独立开发了多套高性能纠删码/再生码编码引擎。 柳青,华中科技大学博士,研究方向为基于纠删码的分布式存储系统。 前言: 随着数据的存储呈现出集中化(以...

七仙女很忙
2017/04/13
0
0
Pyhton连接wwwhj8828com199O8836661SQL Server数据库解决方案

S32K14x系列使用之硬件FPU特性介绍和使用详解 Cortex M4F CPU内核的FPU特性介绍 1.1. Cortex M4F CPU内核FPU的寄存器组以及控制状态寄存器功能介绍 1.2 Cortex M4F CPU内核FPU的汇编指令集介...

1325440472159712
2018/12/30
0
0
armeabi和armeabi-v7a 以及x86

原文:http://blog.csdn.net/dxpqxb/article/details/7721156 armeabi和armeabi-v7a 在我们android APK的根目录有一个 libs文件夹,此文件夹下包含了armeabi 和armeabi-v7a两个文件夹,我们的...

QGlaunch
2015/12/23
125
0

没有更多内容

加载失败,请刷新页面

加载更多

zk中选举Leader时的网络IO QuorumCnxManager解析

每台服务启动过程中,会启动一个QuorumCnxManager,负责各台服务器之间底层Leader选举过程中的网络通信 当集群中有服务器服务中断时,zk会重新选举leader 内部类 Message定义消息结构 包含了...

writeademo
26分钟前
2
0
使用mdBook 替代 gitbook。

为什么要替代gitbook gitbook 有个模板问题:如果md文件中有连续的大括号(比如:&{{父亲 40}}),gitbook会把{{ 父亲 40 }}中的父亲 40当做一个模板变量。如果这个变量不存在,会报错 Temp...

王坤charlie
28分钟前
3
0
TL-A7HSAD采集卡硬件的处理器、NOR FLASH、DDR3

TL-A7HSAD是一款由广州创龙基于Xilinx Artix-7系列FPGA自主研发的高速数据采集卡,可配套广州创龙TMS320C6655、TMS320C6657、TMS320C6678开发板使用。该采集卡包含1个双通道250MSPS*12Bit的高...

Tronlong创龙
41分钟前
3
0
项目启动报fastjson版本可能过低

进行项目启动的过程中,之前都正常,这次启动突然就失败了: 查看日志说的是版本过低,后来查看官方网站版本,替换了最新版本: 选择了最新版本的1.2.60,1.2.62尝试后都不行,后来查看网上搜...

aiChuang
41分钟前
3
0
McDonald’s is using Alexa and Google to accepting job applications

McDonald’s today announced a new initiative the fast food chain is calling the “Apply Thru,” in which owners of Amazon Alexa or Google Assistant devices can begin job applic......

wowloop
45分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部