![]() |
![]() |
![]() |
![]() |
![]() |
Make "Slave of the VU" work.
Posted on 2006-03-13 00:00:00 |
Fixed some stuff in the VUF (Vector Unit Float) code generator class. More specifically, I learnt about the difference of SSE and SSE2 today and about how SSE has 128-bits SIMD operations on floating-point values only and SSE2 has both floating-point and integer 128-bits SIMD operations... Quite odd, but I have no choice but to comply to this "standard". So I removed the use of SSE2 instructions to fallback to equivalent (MOVDQA -> MOVAPS, MOVDQU -> MOVUPS) instructions on the SSE in order to keep only one instance of the code.
Implemented VU instructions SUB, SUBbc and IBEQ. There's three instructions that are left to implement. ISW should be a piece of cake, ITOF0 shouldn't be hard either when I figure out a way to convert floating point numbers to integers using the SSE... But FMAND will require some important changes. I'm still not sure about the idea to use though... We'll see tomorrow. |