In 1997, Cyrix extended
Intel'sMMX 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.