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