Guest User

Untitled

a guest
Jul 17th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.62 KB | None | 0 0
  1. bool checkComp(__m128 l, __m128 p)
  2. {
  3.     float vdiff[4];
  4.     __m128 * diff = (__m128*)vdiff;
  5.  
  6.     *diff = _mm_sub_ps(l, p);
  7.  
  8.     if (vdiff[1] > HMIN && vdiff[1] < HMAX)
  9.     {
  10.  
  11.         float norm = sqrt(vdiff[0] * vdiff[0] + vdiff[1] * vdiff[1] + vdiff[2] * vdiff[2]);
  12.  
  13.         float cosAlpha = vdiff[1] / norm;
  14.  
  15.         if (cosAlpha > COSALPHA)
  16.             return 1;
  17.     }
  18.     return 0;
  19. }
  20.  
  21. 0807b0b0 <_Z9checkCompDv4_fS_>:
  22.  807b0b0:   55                      push   %ebp
  23.  807b0b1:   c5 f8 5c c1             vsubps %xmm1,%xmm0,%xmm0
  24.  807b0b5:   89 e5                   mov    %esp,%ebp
  25.  807b0b7:   83 e4 e0                and    $0xffffffe0,%esp
  26.  807b0ba:   83 ec 70                sub    $0x70,%esp
  27.  807b0bd:   c5 f8 29 44 24 50       vmovaps %xmm0,0x50(%esp)
  28.  807b0c3:   c5 fa 10 44 24 54       vmovss 0x54(%esp),%xmm0
  29.  807b0c9:   c5 f8 2e 05 34 03 08    vucomiss 0x8080334,%xmm0
  30.  807b0d0:   08
  31.  807b0d1:   76 0e                   jbe    807b0e1 <_Z9checkCompDv4_fS_+0x31>
  32.  807b0d3:   c5 fa 10 0d 38 03 08    vmovss 0x8080338,%xmm1
  33.  807b0da:   08
  34.  807b0db:   c5 f8 2e c8             vucomiss %xmm0,%xmm1
  35.  807b0df:   77 07                   ja     807b0e8 <_Z9checkCompDv4_fS_+0x38>
  36.  807b0e1:   c9                      leave  
  37.  807b0e2:   31 c0                   xor    %eax,%eax
  38.  807b0e4:   c3                      ret    
  39.  807b0e5:   8d 76 00                lea    0x0(%esi),%esi
  40.  807b0e8:   c5 fa 10 54 24 50       vmovss 0x50(%esp),%xmm2
  41.  807b0ee:   c5 fa 59 d8             vmulss %xmm0,%xmm0,%xmm3
  42.  807b0f2:   c5 fa 10 4c 24 58       vmovss 0x58(%esp),%xmm1
  43.  807b0f8:   c5 ea 59 d2             vmulss %xmm2,%xmm2,%xmm2
  44.  807b0fc:   c5 f2 59 c9             vmulss %xmm1,%xmm1,%xmm1
  45.  807b100:   c5 ea 58 d3             vaddss %xmm3,%xmm2,%xmm2
  46.  807b104:   c5 ea 58 d1             vaddss %xmm1,%xmm2,%xmm2
  47.  807b108:   c5 f2 51 ca             vsqrtss %xmm2,%xmm1,%xmm1
  48.  807b10c:   c5 f8 2e c9             vucomiss %xmm1,%xmm1
  49.  807b110:   7a 11                   jp     807b123 <_Z9checkCompDv4_fS_+0x73>
  50.  807b112:   c5 fa 5e c1             vdivss %xmm1,%xmm0,%xmm0
  51.  807b116:   c5 f8 2e 05 3c 03 08    vucomiss 0x808033c,%xmm0
  52.  807b11d:   08
  53.  807b11e:   c9                      leave  
  54.  807b11f:   0f 97 c0                seta   %al
  55.  807b122:   c3                      ret    
  56.  807b123:   c5 fa 11 14 24          vmovss %xmm2,(%esp)
  57.  807b128:   c5 fa 11 44 24 30       vmovss %xmm0,0x30(%esp)
  58.  807b12e:   e8 cd 5f fe ff          call   8061100 <sqrtf@plt>
  59.  807b133:   c5 fa 10 44 24 30       vmovss 0x30(%esp),%xmm0
  60.  807b139:   d9 5c 24 2c             fstps  0x2c(%esp)
  61.  807b13d:   c5 fa 10 4c 24 2c       vmovss 0x2c(%esp),%xmm1
  62.  807b143:   eb cd                   jmp    807b112 <_Z9checkCompDv4_fS_+0x62>
  63.  807b145:   8d 74 26 00             lea    0x0(%esi,%eiz,1),%esi
  64.  807b149:   8d bc 27 00 00 00 00    lea    0x0(%edi,%eiz,1),%edi
Add Comment
Please, Sign In to add comment