More issues with this patch.
It seems that it is not passing Self in RDI in *nix64 anymore.
I can no longer see register allocation or parameter allocation in the .s assembler file which is hampering trying to work out what is going on.
It seems to be a little more broken than first thought
ok it would seem that the RDI bug which did not show itself first time is down to Self getting out of alignment.
I changed movaps [RDI], xmm0 to movups [RDI], xmm0 and tests all worked again. I will dig some more as to why this might be happening though still hampered by lack of info in .s file
A suggested test for the above
MyXMM.Create(V1,V2)
begin
Self := V1 + V2;
end;
Or something along those lines depending how you want to declare things.