An extremely important aspect of 3D GPU workloads is that the source
and destination subvector lengths may be *different*. A vector of
-contiguous array of vec3 may only 2 elements swizzle-copied to a contiguous
-array of vec2. Swizzle Moves support independent subvector lengths.
+contiguous array of vec3 may only have 2 elements swizzle-copied to
+a contiguous array of vec2. A contiguous array of vec2 sources
+may have multiple of each vec2 elements copied to a contiguous
+vec4 array. For this reason
+Swizzle Moves support independent subvector lengths for both
+source and destination.
Although conceptually similar to `vpermd` of Packed SIMD VSX,
Swizzle Moves come in immediate-only form with only up to four
3D Shader programs commonly use the letters "XYZW"
when referring to the four swizzle indices, and also often
use the letters "RGBA"
-if referring to pixel data.
+if referring to pixel data. These designations are also
+part of both the OpenGL(TM) and Vulkan(TM) specifications.
# Format