Advertisement
Guest User

double_test.s

a guest
Jun 7th, 2019
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. # %xmm0 - a
  2. # %xmm1 - b
  3.  
  4.         .data
  5.  
  6. a:
  7.         .double 0.0
  8. b:
  9.         .double 0.0
  10.  
  11.         .text
  12.  
  13.         .type f_add, @function
  14.         .global f_add
  15. f_add:
  16.         movq %xmm0, a
  17.         movq %xmm1, b
  18.         fldl b
  19.         fldl a
  20.         fadd %ST(1), %ST(0)
  21.         fstpl a
  22.         movq a, %xmm0
  23.         ret
  24.  
  25. # ---------------------------------
  26.         .type f_sub, @function
  27.         .global f_sub
  28. f_sub:
  29.         movq %xmm0, a
  30.         movq %xmm1, b
  31.         fldl b
  32.         fldl a
  33.         fsub %ST(1), %ST(0)
  34.         fstpl a
  35.         movq a, %xmm0
  36.         ret
  37.  
  38. # --------------------------------
  39.         .type f_div, @function
  40.         .global f_div
  41. f_div:
  42.         movq %xmm0, a
  43.         movq %xmm1, b
  44.         fldl b
  45.         fldl a
  46.         fdiv %ST(1), %ST(0)
  47.         fstpl a
  48.         movq a, %xmm0
  49.         ret
  50.  
  51. # --------------------------------
  52.         .type f_mul, @function
  53.         .global f_mul
  54. f_mul:
  55.         movq %xmm0, a
  56.         movq %xmm1, b
  57.         fldl b
  58.         fldl a
  59.         fmul %ST(1), %ST(0)
  60.         fstpl a
  61.         movq a, %xmm0
  62.         ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement