I am trying to optimize some arithmetic by using the MMX and SSE instruction sets with inline assembly. However, I have been unable to find good references for the timings and usages of these enhanced instruction sets. Could you please help me find references that contain information about the throughput, latency, operands, and perhaps short descriptions of the instructions?
So far, I have found:
Intel Instruction References Intel 64 and IA-32 Architectures Developer's Manual: Vol. 2A and Intel 64 and IA-32 Architectures Developer's Manual: Vol. 2B
Intel Optimization Guide http://www.intel.com/Assets/PDF/manual/248966.pdf
Timings of Integer Operations http://gmplib.org/~tege/x86-timing.pdf
The Intel Instruction Reference should provide an adequate guide to what these instructions actually do, I would have thought? It has pseudocode for each one, a description of its operation, and in some cases even a little diagram of a representative case.
For timings, there's no official guide that I'm aware of. Agner Fog's page is the standard reference: