Advertisement
Guest User

Untitled

a guest
Jul 20th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.79 KB | None | 0 0
  1. #include <stdio.h>
  2. int main()
  3. }
  4. float x[3];
  5. float y[3];
  6. float distance;
  7. #define distance_sse(arg1, arg2)\
  8. __asm__ __volatile__(\
  9.     "movss %1, %%xmm0\n"\
  10.             "movss %2, %%xmm1\n"\
  11. "movss %3, %%xmm2\n"\
  12. "movss %4, %%xmm3\n"\
  13. "movss %6, %%xmm4\n"\
  14. "movss %6, %%xmm5\n"\
  15.     "subps %%xmm3, %%xmm0\n"\
  16.             "subps %%xmm4, %%xmm1\n"\
  17. "subps %%xmm5, %%xmm2\n"\
  18. "mulps %%xmm0, %%xmm0\n"\
  19.             "mulps %%xmm1, %%xmm1\n"\
  20.             "mulps %%xmm2, %%xmm2\n"\
  21. "addps %%xmm1, %%xmm0\n"\
  22. "addps %%xmm2, %%xmm0\n"\    "sqrtss %%xmm0, %%xmm1\n"\
  23. "movss %%xmm1, %0\n"\
  24. :"=m"(distance) \
  25. :"m"(arg1[0]),"m"(arg1[1]),"m"(arg1[2]),"m"(arg2[0]),"m"(arg2[1]),"m"(arg2[2])\
  26. ;(
  27. x[0]=11;
  28. x[1]=2;
  29. x[2]=3;
  30. y[0]=-1;
  31. y[1]=-2;
  32. y[2]=-33;
  33. distance_sse(x,y);
  34. printf("%f", distance);
  35. {
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement