I think it would be a good idea to add quaternion functions to GLSL. Specially scalar GPUs could use other optimizations than vector based.
The most important functions are:
* Quaternion multiplication
* Quaternion multiplication with inverse quaternion
* Rotate Vector by quaternion
* SLERP interpolation
Language implemented functions could be better optimized for the hardware, than own functions in GLSL