Most Vector/SIMD Multimedia Extension instructions
have three or four 128-bit vector operands – two or three source operands
and one result. Also, most instructions are SIMD in nature.
The instructions have been chosen for their utility in digital signal processing
(DSP) algorithms, including 3D graphics.
The
Vector/SIMD Multimedia Extension instructions
include the following types:
- Vector Integer Instructions – These include vector arithmetic,
compare, logical, rotate, and shift instructions. They operate on byte, halfword,
and word vector elements. The instructions use saturation-clamping.
- Vector Floating-Point Instructions – These include floating-point
arithmetic, multiply/add, rounding and conversion, compare, and estimate instructions.
They operate on single-precision floating-point vector elements.
- Vector Load and Store Instructions – These include only basic integer
and floating-point load and store instructions. No update forms of the load
and store instruction are provided. They operate on 128-bit vectors.
- Vector Permutation and Formatting Instructions – These include
vector pack, unpack, merge, splat, permute, select, and shift instructions.
- Processor Control Instructions – These include instructions that
read and write the vector status and control register (VSCR).
- Memory Control Instructions – These include instructions for managing
caches (user-level and supervisor-level). These instructions are "no-ops".