x86inc: Improve FMA instruction handling
authorHenrik Gramner <henrik@gramner.com>
Sun, 17 Jan 2016 23:21:46 +0000 (00:21 +0100)
committerAnton Khirnov <anton@khirnov.net>
Sat, 23 Jan 2016 19:30:30 +0000 (20:30 +0100)
commit715eb7ca24c9fda8aed88a3276f5d11567c355bc
treec92edb10b14d91010fb36817e65cb80571cc0740
parentf60f06d9894b06d5371729c84f8fd7219909e2bf
x86inc: Improve FMA instruction handling

 * Correctly handle FMA instructions with memory operands.
 * Print a warning if FMA instructions are used without the correct cpuflag.
 * Simplify the instantiation code.
 * Clarify documentation.

Only the last operand in FMA3 instructions can be a memory operand. When
converting FMA4 instructions to FMA3 instructions we can utilize the fact
that multiply is a commutative operation and reorder operands if necessary
to ensure that a memory operand is used only as the last operand.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavutil/x86/x86inc.asm