Implementing a quat transform in a vertex program

Looking at the code necissary for a quat transform it looks a whole lot like a DP4, however the last component is negated. Is there an easy way to avoid turning this into a DP3 + MAD? It’d be cool if we could do component independent negation, but AFAIK that is not supported.

Hrm, I can improve performance by doing all 3 component as 3 DP3’s, then have 1 MAD at the end that adds the 4th term for each component. That’ll increase the instruction count from 3 (with the mythical component independent negation) to 4.

[This message has been edited by rgreene (edited 03-11-2003).]