999ms

n/m = 200200

Nov 5th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         lea     eax, [r11+2]
  2.         lea     r14d, [r11+1]
  3.         mov     DWORD PTR [rsp-4], eax
  4.         lea     eax, [r11+5]
  5.         lea     r8d, [r11+3]
  6.         mov     DWORD PTR [rsp-28], eax
  7.         lea     eax, [r11+6]
  8.         lea     r15d, [r11+4]
  9.         movsx   r11, r11d
  10.         mov     DWORD PTR [rsp-44], eax
  11.         movsx   rax, r14d
  12.         mov     DWORD PTR [rsp-8], r8d
  13.         movsx   r8, r8d
  14.         mov     QWORD PTR [rsp-16], rax
  15.         movsx   rax, DWORD PTR [rsp-4]
  16.         mov     QWORD PTR [rsp-40], r8
  17.         movsx   r8, r15d
  18.         mov     QWORD PTR [rsp-24], rax
  19.         movsx   rax, DWORD PTR [rsp-44]
  20.         mov     QWORD PTR [rsp-56], r8
  21.         movsx   r8, DWORD PTR [rsp-28]
  22.         mov     DWORD PTR [rsp-32], r15d
  23.         mov     QWORD PTR [rsp-64], r8
  24.         mov     QWORD PTR [rsp-72], rax
  25. .L7:
  26.         cmp     edi, esi
  27.         jge     .L8
  28.         mov     r8d, DWORD PTR b[0+rdx*4]
  29.         cmp     r12d, 6
  30.         jbe     .L9
  31.         mov     r15, r9
  32.         vmovd   xmm3, r8d
  33.         vpxor   xmm1, xmm1, xmm1
  34.         mov     rax, r10
  35.         sub     r15, r10
  36.         vpbroadcastd    ymm3, xmm3
  37.         sub     r15, 32
  38.         shr     r15, 5
  39.         add     r15, 1
  40.         and     r15d, 7
  41.         je      .L5
  42.         cmp     r15, 1
  43.         je      .L33
  44.         cmp     r15, 2
  45.         je      .L34
  46.         cmp     r15, 3
  47.         je      .L35
  48.         cmp     r15, 4
  49.         je      .L36
  50.         cmp     r15, 5
  51.         je      .L37
  52.         cmp     r15, 6
  53.         je      .L38
  54.         vmovdqu xmm0, XMMWORD PTR [r10]
  55.         vinserti128     ymm0, ymm0, XMMWORD PTR [r10+16], 0x1
  56.         lea     rax, [r10+32]
  57.         vpminsd ymm2, ymm3, ymm0
  58.         vpcmpeqd        ymm0, ymm0, ymm2
  59.         vpsubd  ymm1, ymm1, ymm0
  60. .L38:
  61.         vmovdqu xmm0, XMMWORD PTR [rax]
  62.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax+16], 0x1
  63.         add     rax, 32
  64.         vpminsd ymm2, ymm3, ymm0
  65.         vpcmpeqd        ymm0, ymm0, ymm2
  66.         vpsubd  ymm1, ymm1, ymm0
  67. .L37:
  68.         vmovdqu xmm0, XMMWORD PTR [rax]
  69.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax+16], 0x1
  70.         add     rax, 32
  71.         vpminsd ymm2, ymm3, ymm0
  72.         vpcmpeqd        ymm0, ymm0, ymm2
  73.         vpsubd  ymm1, ymm1, ymm0
  74. .L36:
  75.         vmovdqu xmm0, XMMWORD PTR [rax]
  76.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax+16], 0x1
  77.         add     rax, 32
  78.         vpminsd ymm2, ymm3, ymm0
  79.         vpcmpeqd        ymm0, ymm0, ymm2
  80.         vpsubd  ymm1, ymm1, ymm0
  81. .L35:
  82.         vmovdqu xmm0, XMMWORD PTR [rax]
  83.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax+16], 0x1
  84.         add     rax, 32
  85.         vpminsd ymm2, ymm3, ymm0
  86.         vpcmpeqd        ymm0, ymm0, ymm2
  87.         vpsubd  ymm1, ymm1, ymm0
  88. .L34:
  89.         vmovdqu xmm0, XMMWORD PTR [rax]
  90.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax+16], 0x1
  91.         add     rax, 32
  92.         vpminsd ymm2, ymm3, ymm0
  93.         vpcmpeqd        ymm0, ymm0, ymm2
  94.         vpsubd  ymm1, ymm1, ymm0
  95. .L33:
  96.         vmovdqu xmm0, XMMWORD PTR [rax]
  97.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax+16], 0x1
  98.         add     rax, 32
  99.         vpminsd ymm2, ymm3, ymm0
  100.         vpcmpeqd        ymm0, ymm0, ymm2
  101.         vpsubd  ymm1, ymm1, ymm0
  102.         cmp     rax, r9
  103.         je      .L47
  104. .L5:
  105.         vmovdqu xmm0, XMMWORD PTR [rax]
  106.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax+16], 0x1
  107.         add     rax, 256
  108.         vpminsd ymm2, ymm3, ymm0
  109.         vpcmpeqd        ymm0, ymm0, ymm2
  110.         vpsubd  ymm1, ymm1, ymm0
  111.         vmovdqu xmm0, XMMWORD PTR [rax-224]
  112.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax-208], 0x1
  113.         vpminsd ymm2, ymm3, ymm0
  114.         vpcmpeqd        ymm0, ymm0, ymm2
  115.         vpsubd  ymm1, ymm1, ymm0
  116.         vmovdqu xmm0, XMMWORD PTR [rax-192]
  117.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax-176], 0x1
  118.         vpminsd ymm2, ymm3, ymm0
  119.         vpcmpeqd        ymm0, ymm0, ymm2
  120.         vpsubd  ymm1, ymm1, ymm0
  121.         vmovdqu xmm0, XMMWORD PTR [rax-160]
  122.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax-144], 0x1
  123.         vpminsd ymm2, ymm3, ymm0
  124.         vpcmpeqd        ymm0, ymm0, ymm2
  125.         vpsubd  ymm1, ymm1, ymm0
  126.         vmovdqu xmm0, XMMWORD PTR [rax-128]
  127.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax-112], 0x1
  128.         vpminsd ymm2, ymm3, ymm0
  129.         vpcmpeqd        ymm0, ymm0, ymm2
  130.         vpsubd  ymm1, ymm1, ymm0
  131.         vmovdqu xmm0, XMMWORD PTR [rax-96]
  132.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax-80], 0x1
  133.         vpminsd ymm2, ymm3, ymm0
  134.         vpcmpeqd        ymm0, ymm0, ymm2
  135.         vpsubd  ymm1, ymm1, ymm0
  136.         vmovdqu xmm0, XMMWORD PTR [rax-64]
  137.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax-48], 0x1
  138.         vpminsd ymm2, ymm3, ymm0
  139.         vpcmpeqd        ymm0, ymm0, ymm2
  140.         vpsubd  ymm1, ymm1, ymm0
  141.         vmovdqu xmm0, XMMWORD PTR [rax-32]
  142.         vinserti128     ymm0, ymm0, XMMWORD PTR [rax-16], 0x1
  143.         vpminsd ymm2, ymm3, ymm0
  144.         vpcmpeqd        ymm0, ymm0, ymm2
  145.         vpsubd  ymm1, ymm1, ymm0
  146.         cmp     rax, r9
  147.         jne     .L5
  148. .L47:
  149.         vmovdqa xmm0, xmm1
  150.         vextracti128    xmm1, ymm1, 0x1
  151.         vpaddd  xmm1, xmm0, xmm1
  152.         vpsrldq xmm0, xmm1, 8
  153.         vpaddd  xmm1, xmm1, xmm0
  154.         vpsrldq xmm0, xmm1, 4
  155.         vpaddd  xmm1, xmm1, xmm0
  156.         vmovd   eax, xmm1
  157.         cmp     ebx, r13d
  158.         je      .L3
  159. .L4:
  160.         xor     r15d, r15d
  161.         cmp     DWORD PTR a[0+r11*4], r8d
  162.         setle   r15b
  163.         add     eax, r15d
  164.         cmp     esi, r14d
  165.         jle     .L3
  166.         mov     r15, QWORD PTR [rsp-16]
  167.         cmp     r8d, DWORD PTR a[0+r15*4]
  168.         setge   r15b
  169.         movzx   r15d, r15b
  170.         add     eax, r15d
  171.         cmp     esi, DWORD PTR [rsp-4]
  172.         jle     .L3
  173.         mov     r15, QWORD PTR [rsp-24]
  174.         cmp     r8d, DWORD PTR a[0+r15*4]
  175.         setge   r15b
  176.         movzx   r15d, r15b
  177.         add     eax, r15d
  178.         cmp     esi, DWORD PTR [rsp-8]
  179.         jle     .L3
  180.         mov     r15, QWORD PTR [rsp-40]
  181.         cmp     r8d, DWORD PTR a[0+r15*4]
  182.         setge   r15b
  183.         movzx   r15d, r15b
  184.         add     eax, r15d
  185.         cmp     esi, DWORD PTR [rsp-32]
  186.         jle     .L3
  187.         mov     r15, QWORD PTR [rsp-56]
  188.         cmp     r8d, DWORD PTR a[0+r15*4]
  189.         setge   r15b
  190.         movzx   r15d, r15b
  191.         add     eax, r15d
  192.         cmp     esi, DWORD PTR [rsp-28]
  193.         jle     .L3
  194.         mov     r15, QWORD PTR [rsp-64]
  195.         cmp     r8d, DWORD PTR a[0+r15*4]
  196.         setge   r15b
  197.         movzx   r15d, r15b
  198.         add     eax, r15d
  199.         cmp     esi, DWORD PTR [rsp-44]
  200.         jle     .L3
  201.         mov     r15, QWORD PTR [rsp-72]
  202.         cmp     r8d, DWORD PTR a[0+r15*4]
  203.         setge   r8b
  204.         movzx   r8d, r8b
  205.         add     eax, r8d
Add Comment
Please, Sign In to add comment