dolphin-emu/dolphin — pull request #686 by FioraAeterna (2014-07-27 23:57:20+00:00)
Title: Optimize JitAsmCommon and Paired Singles, add support for some SSE4 opcodes

I replaced my original implementation of the longer opcodes with one borrowed from flacs, because it was a lot prettier and less invasive.

This should support all two-byte opcode instructions (e.g. pshufb, pblend, pmov...) with quite a bit less pain.

I did various optimizations to JitAsmCommon to improve the quantization/dequantization routines and save a few instructions, plus take advantage of the SSE4 instructions I added.

With Paired Singles, I rewrote much of the file to avoid redundant moves based on which of the input(s) had the same register as the output, plus a few general optimizations and implementations of TODOs (e.g. the ps_merge special cases). I've done some superficial testing on Sonic Colors, but I can't 100% guarantee I have no errors.