52、SIMD 整数指令详解

SIMD 整数指令详解

1. (v)phaddsw 指令

(v)phaddsw 指令有以下几种形式:
- phaddsw xmmdest, xmmsrc/mem128
- vphaddsw xmmdest, xmmsrc1, xmmsrc2/mem128
- vphaddsw ymmdest, ymmsrc1, ymmsrc2/mem256

该指令是水平有符号整数加法(带饱和处理,字),与 (v)phaddw 略有不同。它会对结果进行饱和处理,即正溢出时结果为 7FFFh,负下溢时结果为 8000h。饱和算术在音频和视频处理中表现出色,例如在音频处理中,标准加法可能产生难听的咔嗒声,而饱和处理只会产生削波音频信号,效果更好;在视频处理中,饱和处理产生的是褪色(白色)颜色,而不是模运算产生的怪异颜色。不过,目前没有针对双字操作数的水平饱和加法指令。

2. SIMD 整数减法指令

SIMD 整数减法指令不会影响任何标志位,进位、借位、溢出或下溢信息都会丢失。这些指令从第一个源操作数中减去第二个源操作数,并将结果存储在目标操作数中。具体指令如下表所示:
| 指令 | 操作数 | 描述 |
| — | — | — |
| psubb | xmmdest, xmm/mem128 | 16 通道字节减法 |
| vpsubb | xmmdest, xmmsrc, xmm/mem128 | 16 通道字节减法 |
| vpsubb | ymmdest, ymmsrc, ymm/mem256 | 32 通道字节减法 |
| psubw | xmmdest, xmm/mem128 |

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值