Sign in to follow this  
  • entries
    17
  • comments
    21
  • views
    17259

More on SSE

Sign in to follow this  

241 views

Well, even though I said I was not going to convert my CVector3 class to hold a float[3] array instead of separate x,y,z variables, I did. It wasnt so much of an issue in the end, but unlike what I though, you DO need to use float[4] even if you're not using the whole 4 variables, plus, you should use movups instead of movaps when moving data from memory to a MMX register, yes, even if you declared the data as ALIGN16.

For some reason using movaps randomly threw segfault exceptions on me, even though the adress%16=0;

You learn something new every day [smile]

also, although it is valid to use the memory as one of the parameters for the parallel instructions, you're better off movups'ing the values to a MMX register instead of using the memory location directly because of the same reason to favor movups over movaps.

DONT SAY I DIDNT WARNED YOU!
Sign in to follow this  


0 Comments


Recommended Comments

There are no comments to display.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now