Guest User

ASM float matricies multiplication core loop

a guest
Nov 23rd, 2015
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Line 78
  2.     vmovss  xmm3, DWORD PTR [eax+4]
  3.     vmovss  xmm2, DWORD PTR [ecx-4]
  4.     vmovss  xmm4, DWORD PTR [eax]
  5.     vcvtss2sd xmm0, xmm0, xmm0
  6.     add eax, 40                 ; 00000028H
  7.     vcvtss2sd xmm3, xmm3, xmm3
  8.     vcvtss2sd xmm2, xmm2, xmm2
  9.     vmulsd  xmm2, xmm2, xmm3
  10.     vmovss  xmm3, DWORD PTR [ecx-8]
  11.     vcvtss2sd xmm4, xmm4, xmm4
  12.     vcvtss2sd xmm3, xmm3, xmm3
  13.     vmulsd  xmm3, xmm3, xmm4
  14.     vaddsd  xmm0, xmm3, xmm0
  15.     vmovss  xmm3, DWORD PTR [ecx]
  16.     vcvtsd2ss xmm0, xmm0, xmm0
  17.     vcvtss2sd xmm3, xmm3, xmm3
  18.     vcvtss2sd xmm0, xmm0, xmm0
  19.     vaddsd  xmm0, xmm2, xmm0
  20.     vmovss  xmm2, DWORD PTR [eax-32]
  21.     vcvtsd2ss xmm0, xmm0, xmm0
  22.     vcvtss2sd xmm2, xmm2, xmm2
  23.     vmulsd  xmm2, xmm2, xmm3
  24.     vmovss  xmm3, DWORD PTR [eax-28]
  25.     vcvtss2sd xmm0, xmm0, xmm0
  26.     vaddsd  xmm0, xmm0, xmm2
  27.     vmovss  xmm2, DWORD PTR [ecx+4]
  28.     vcvtss2sd xmm3, xmm3, xmm3
  29.     vcvtsd2ss xmm0, xmm0, xmm0
  30.     vcvtss2sd xmm2, xmm2, xmm2
  31.     vmulsd  xmm2, xmm2, xmm3
  32.     vmovss  xmm3, DWORD PTR [eax-24]
  33.     vcvtss2sd xmm0, xmm0, xmm0
  34.     vaddsd  xmm0, xmm0, xmm2
  35.     vmovss  xmm2, DWORD PTR [ecx+8]
  36.     vcvtss2sd xmm3, xmm3, xmm3
  37.     vcvtsd2ss xmm0, xmm0, xmm0
  38.     vcvtss2sd xmm2, xmm2, xmm2
  39.     vmulsd  xmm2, xmm2, xmm3
  40.     vmovss  xmm3, DWORD PTR [eax-20]
  41.     vcvtss2sd xmm0, xmm0, xmm0
  42.     vaddsd  xmm0, xmm0, xmm2
  43.     vmovss  xmm2, DWORD PTR [ecx+12]
  44.     vcvtss2sd xmm3, xmm3, xmm3
  45.     vcvtsd2ss xmm0, xmm0, xmm0
  46.     vcvtss2sd xmm2, xmm2, xmm2
  47.     vmulsd  xmm2, xmm2, xmm3
  48.     vmovss  xmm3, DWORD PTR [eax-16]
  49.     vcvtss2sd xmm0, xmm0, xmm0
  50.     vaddsd  xmm0, xmm0, xmm2
  51.     vmovss  xmm2, DWORD PTR [ecx+16]
  52.     vcvtss2sd xmm3, xmm3, xmm3
  53.     vcvtsd2ss xmm0, xmm0, xmm0
  54.     vcvtss2sd xmm2, xmm2, xmm2
  55.     vmulsd  xmm2, xmm2, xmm3
  56.     vmovss  xmm3, DWORD PTR [eax-12]
  57.     vcvtss2sd xmm0, xmm0, xmm0
  58.     vaddsd  xmm0, xmm0, xmm2
  59.     vmovss  xmm2, DWORD PTR [ecx+20]
  60.     vcvtss2sd xmm3, xmm3, xmm3
  61.     vcvtsd2ss xmm0, xmm0, xmm0
  62.     vcvtss2sd xmm2, xmm2, xmm2
  63.     vmulsd  xmm2, xmm2, xmm3
  64.     vmovss  xmm3, DWORD PTR [eax-8]
  65.     vcvtss2sd xmm0, xmm0, xmm0
  66.     vaddsd  xmm0, xmm0, xmm2
  67.     vmovss  xmm2, DWORD PTR [ecx+24]
  68.     vcvtss2sd xmm3, xmm3, xmm3
  69.     vcvtsd2ss xmm0, xmm0, xmm0
  70.     vcvtss2sd xmm2, xmm2, xmm2
  71.     vmulsd  xmm2, xmm2, xmm3
  72.     vmovss  xmm3, DWORD PTR [eax-4]
  73.     vcvtss2sd xmm0, xmm0, xmm0
  74.     vaddsd  xmm0, xmm0, xmm2
  75.     vmovss  xmm2, DWORD PTR [ecx+28]
  76.     vcvtss2sd xmm3, xmm3, xmm3
  77.     vcvtsd2ss xmm0, xmm0, xmm0
  78.     vcvtss2sd xmm2, xmm2, xmm2
  79.     vmulsd  xmm2, xmm2, xmm3
  80.     vcvtss2sd xmm0, xmm0, xmm0
  81.     vaddsd  xmm0, xmm0, xmm2
  82.     vcvtsd2ss xmm0, xmm0, xmm0
  83.     add ecx, 40                 ; 00000028H
  84.     dec edx
  85.     jne $LL38@main
Advertisement
Add Comment
Please, Sign In to add comment