文档章节

SSE指令集系列之三

abcijkxyz
 abcijkxyz
发布于 2016/11/22 16:46
字数 653
阅读 9
收藏 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/03/27/2984643.html

共有 人打赏支持
abcijkxyz
粉丝 64
博文 6196
码字总数 1876
作品 0
深圳
项目经理
AMD发布Stream SDK v2.0 Beta开发工具

AMD最近发布了ATI Stream SDK v2.0开发工具包的最新Beta版本Stream SDK v2.0 Beta,这个版本将全面兼容OpenCL1.0编程接口界面,更令人欣喜的是,需要的用户可以自由免费地下载该开发工具包,...

红薯
2009/10/14
2.4K
0
Intel 45nm制程处理器上的SSE4指令集简介

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

日久不生情
2017/11/07
0
0
Flat Assembler 1.70 发布,汇编工具

Flat Assembler 是一个快速高效的80x86的汇编工具,支持DOS、Windows、Linux操作系统,支持包括 8086-80486/Pentium instructions with MMX, SSE, SSE2, SSE3, and 3DNow! extensions and x......

红薯
2012/04/19
1K
10
(学习心得):进程,线程,超线程,并发,并行 等概念

前言: 此陋文来自最近对阅读《深入理解计算机系统》与《微型计算机体系结构:Intel Core Duo / i 系列微处理器技术应用》两本书的学习体会, 前者从 程序员的视角来探讨计算机系统中各部件的...

shayi
2012/11/26
5.5K
28
cpu指令集包括哪些?

如题!我知道有mmx,sse等等.可是mmx指令集是在96年才有的, 而之前386,486,586等那些呢,包含哪些指令,相关资料在哪下载? 是不是sse1包含mmx,,,,,,,sse2包含sse1,,,,,,,sse3包含sse2 我知道去英...

音乐&编程
2012/09/14
2.1K
3

没有更多内容

加载失败,请刷新页面

加载更多

初级开发-编程题

` public static void main(String[] args) { System.out.println(changeStrToUpperCase("user_name_abc")); System.out.println(changeStrToLowerCase(changeStrToUpperCase("user_name_abc......

小池仔
今天
5
0
现场看路演了!

HiBlock
昨天
16
0
Rabbit MQ基本概念介绍

RabbitMQ介绍 • RabbitMQ是一个消息中间件,是一个很好用的消息队列框架。 • ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的s...

寰宇01
昨天
9
0
官方精简版Windows10:微软自己都看不过去了

微软宣布,该公司正在寻求解决方案,以减轻企业客户的Windows 10规模。该公司声称,企业客户下载整个Windows 10文件以更新设备既费钱又费时。 微软宣布,该公司正在寻求解决方案,以减轻企业...

linux-tao
昨天
19
0
TypeScript基础入门之JSX(二)

转发 TypeScript基础入门之JSX(二) 属性类型检查 键入检查属性的第一步是确定元素属性类型。 内在元素和基于价值的元素之间略有不同。 对于内部元素,它是JSX.IntrinsicElements上的属性类型...

durban
昨天
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部