Cyrix EMMX Instructions

 

Cyrix EMMX Instructions — Overview

In 1997, Cyrix extended Intel's MMX Instruction set with their own variation, called EMMX. This extension introduced Implied Destination registers, allowing some instructions to store results in a register that was not one of the source registers. This saves you a reload when you'll be performing a number of different operations on the same inputs, because by default all MMX instructions destroy the contents of one of their registers by overwriting it with the output.

EMMX Added 12 new instructions. Some of the functionality of these instructions later made its way into later SIMD instruction sets, but none of them carried on Implied Destinations.

EMMX — Implied Registers

EMMX Instructions make use of Implied Destination Registers. These destinations are based on the source registers. Here's a list of the registers, and their implied destinations.

mm0 - mm1
mm1
- mm0
mm2
- mm3
mm3
- mm2
mm4
- mm5
mm5
- mm4
mm6
- mm7
mm7
- mm6

If both a register and its implied destination are used, one of them will be overwritten just like a normal MMX instruction.

EMMX Instructions — OpCode List

(descriptions are skimpy, need to flesh out).
paddsiw - Packed Add with Saturation.
psubsiw - Packed Subtract with Saturation.
paveb - Packed Average.
pdistib - Packed Distance and Accumulate.
pmachriw - Packed Multiply and Accumulate with Rounding.
pmagw - Packed Magnitude.
pmulhrw - Packed Multiply High with Rounding.
pmulhriw - Packed Multiply High with Rounding using implied destination.
pmvzb - Packed Conditional Move (zero).
pmvnzb - Packed Conditional Move (not zero).
pmvlzb - Packed Conditional Move (less than zero).
pmvgezb - Packed Conditional Move (greater than or equal to zero).
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值