Advertisement
Ember

mul

Nov 26th, 2015
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.01 KB | None | 0 0
  1. Float4 result;
  2. // Simple stuff
  3. result.x = Dot(vector, matrix.x);
  4. result.y = Dot(vector, matrix.y);
  5. result.z = Dot(vector, matrix.z);
  6. result.w = Dot(vector, matrix.w);
  7. return result;
  8.  
  9. // COMPILES INTO //
  10.  
  11. mov         qword ptr [rcx+4],rax  
  12. mov         qword ptr [rcx],rax  
  13. mov         qword ptr [rcx+8],rax  
  14. mov         dword ptr [rcx+4],eax  
  15. mov         rax,rcx
  16. movss       xmm2,dword ptr [r8+4]  
  17. movss       xmm0,dword ptr [rdx]  
  18. movss       xmm1,dword ptr [r8+8]  
  19. mulss       xmm0,dword ptr [r8]  
  20. mulss       xmm2,dword ptr [rdx+4]  
  21. mulss       xmm1,dword ptr [rdx+8]  
  22. addss       xmm2,xmm0  
  23. movss       xmm0,dword ptr [r8+0Ch]  
  24. addss       xmm2,xmm1  
  25. mulss       xmm0,dword ptr [rdx+0Ch]  
  26. addss       xmm2,xmm0  
  27. movss       dword ptr [rcx],xmm2  
  28.  
  29. movss       xmm3,dword ptr [r8+14h]  
  30. movss       xmm0,dword ptr [r8+10h]  
  31. mulss       xmm0,dword ptr [rdx]  
  32. mulss       xmm3,dword ptr [rdx+4]  
  33. movss       xmm1,dword ptr [r8+18h]  
  34. addss       xmm3,xmm0  
  35. movss       xmm0,dword ptr [r8+1Ch]  
  36. mulss       xmm0,dword ptr [rdx+0Ch]  
  37. mulss       xmm1,dword ptr [rdx+8]  
  38.  
  39. addss       xmm3,xmm1  
  40. addss       xmm3,xmm0  
  41. movss       dword ptr [rcx+4],xmm3  
  42.  
  43. movss       xmm0,dword ptr [r8+20h]  
  44. movss       xmm1,dword ptr [r8+28h]  
  45. mulss       xmm0,dword ptr [rdx]  
  46. mulss       xmm1,dword ptr [rdx+8]  
  47. movss       xmm2,dword ptr [r8+24h]  
  48. mulss       xmm2,dword ptr [rdx+4]  
  49. addss       xmm2,xmm0  
  50. movss       xmm0,dword ptr [r8+2Ch]  
  51. mulss       xmm0,dword ptr [rdx+0Ch]  
  52. addss       xmm2,xmm1  
  53. addss       xmm2,xmm0  
  54. movss       dword ptr [rcx+8],xmm2  
  55.  
  56. movss       xmm0,dword ptr [rdx]  
  57. movss       xmm3,dword ptr [r8+34h]  
  58. mulss       xmm3,dword ptr [rdx+4]  
  59. mulss       xmm0,dword ptr [r8+30h]  
  60. movss       xmm1,dword ptr [r8+38h]  
  61. addss       xmm3,xmm0  
  62. movss       xmm0,dword ptr [r8+3Ch]  
  63. mulss       xmm1,dword ptr [rdx+8]  
  64. mulss       xmm0,dword ptr [rdx+0Ch]  
  65. addss       xmm3,xmm1  
  66. addss       xmm3,xmm0  
  67. movss       dword ptr [rcx+0Ch],xmm3
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement