AltiVec (original) (raw)
AltiVec is a SIMD instruction set designed and owned by Apple Computer, IBM and Motorola, and implemented on versions of the PowerPC starting with Motorola's G4 and some of IBM's G3 products. AltiVec is a tradename owned solely by Motorola, so the system is also referred to as VelocityEngine by Apple and VMX by IBM.
AltiVec is likely the most powerful SIMD system in a desktop CPU. Like later generation systems from other vendors, AltiVec is based on a set of private 128-bit floating point registers, but includes 32 of them. It also offers more flexibility in using the data in the registers, looking at them as sixteen 8-bit integers or characters, eight 16-bit integers, or four 32-bit integers or single-precision floating point numbers.
To put this in perspective, Intel's latest SIMD instruction set SSE is similar in that it has its own registers. However it has only 8 of them and can view them as 32-bit floats only. The earlier MMX system did not even have its own registers, and was integer-only.
Like all SIMD systems however, AltiVec is not widely used. This is not much of a problem for the Apple Macintosh, where Apple's own libraries widely support it, and is used in applications like QuickTime and iTunes. For other users AltiVec is of limited use, and IBM has consistently left VMX out of many of their own POWER systems. However the most recent PowerPC 970 desktop CPU from IBM includes an improved AltiVec unit.