SSE4 Instruction Set
SSE4 — An Overview
SSE4 is the fourth revision of the
SSE
Instruction Set for x86 compatable processors. It has kind of been aoounced in June of 2006,
and might be available as soon as August of 2006. Who knows. On paper, SSE4 offers 16 new
instructions.
Another sighting
There's an article that talks about Intel's SSE4 extensions over at
Ars
Technica. Looks like there are a bunch of 3D acceleration instructions, and stuff aimed at
video encoding and decoding. At the end of the day, it looks like SSE4 introduces 47 new
instructions.
SSE4 — The Instructions
(These are inferred from bochs' source code (sse.cc) -- now this is really outdated. I'll
update it soon!)
psignd - Gives 32bit integer magnitudes the sign of the 2nd operand.
psignw - Gives 16bit integer magnitudes the sign of the 2nd operand.
psignb - Gives 8bit integer magnitudes the sign of the 2nd operand.
phaddd - Horizontal addition of unsigned 32bit integers.
phaddw - Horizontal addition of unsigned 16bit integers.
phaddsw - Horizontal saturated addition of 16bit integers.
phsubd - Horizontal subtraction of unsigned 32bit integers.
phsubw - Horizontal subtraction of unsigned 16bit integers.
phsubsw - Horizontal saturated subtraction of 16bit words.
pmaddubsw - Multiply-accumulate instruction (finally).
pabsd - abs() for 32bit integers.
pabsw - abs() for 16bit integers.
pabsb - abs() for 8bit integers.
pmulhrsw - 16bit integer multiplication, stores top 16bits of result.
pshufb - Another complex shuffle instruction.
palignr - Looks like some kind of fancy rotate instruction.