I am implementing texturing in SSE and am coming up against a lack of packed float to int conversion instructions. The only remotely useful one I can find ( _mm_cvtss_si32 ) just converts the lowest float in the vector and writes the result out. However I want to convert all four elements and retain them in the xmm register to continue operating on them. Any suggestions would be appreciated. I am quite new to SSE programming and can't help feeling I am missing something obvious.
The embarrassment of premature posting. I have found the instruction I was after, just wasn't in the section of the intrinsic reference guide I expected it to be in.
So, for future reference, what was the instruction?
cvtps2dq, if my memory serves me right.
Alas, it was cvtps2pi