Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pen2: # @pen2
- # %bb.0:
- push rbp
- push r15
- push r14
- push r13
- push r12
- push rbx
- sub rsp, 40
- mov r12, rdx
- mov r15, rsi
- mov rbp, rdi
- mov cl, byte ptr [rbp - 15]
- test cl, cl
- je .LBB0_6
- # %bb.1:
- mov al, byte ptr [r15 - 15]
- test al, al
- je .LBB0_6
- # %bb.2:
- cmp cl, 5
- sete bl
- add bl, bl
- cmp al, 5
- sete dl
- or dl, bl
- cmp dl, 3
- je .LBB0_7
- # %bb.3:
- cmp dl, 2
- je .LBB0_11
- # %bb.4:
- cmp dl, 1
- jne .LBB0_14
- # %bb.5:
- mov rdi, r15
- call mut10
- mov r13, rax
- mov rsi, qword ptr [r13 + 8]
- mov rdi, rbp
- jmp .LBB0_12
- .LBB0_6:
- mov qword ptr [rsp + 16], rbp
- mov qword ptr [rsp + 24], r15
- shl r12, 5
- lea rdi, [r12 + cuvw_+1040]
- lea rsi, [rsp + 16]
- mov edx, 2
- call eac
- mov r13, rax
- jmp .LBB0_13
- .LBB0_7:
- mov rsi, qword ptr [r15]
- shl r12, 5
- lea rdx, [r12 + cuvw_+1040]
- lea rcx, [r15 + 8]
- mov r8d, 1
- mov rdi, rbp
- call amd
- mov r13, rax
- cmp dword ptr [r15 - 12], 0
- jne .LBB0_13
- # %bb.8:
- movzx eax, byte ptr [r15 - 15]
- mov ecx, 2017
- bt ecx, eax
- jae .LBB0_10
- # %bb.9:
- mov rdi, r15
- call mdAll
- .LBB0_10:
- movzx eax, byte ptr [r15 - 16]
- mov rcx, qword ptr [8*rax + mx]
- mov qword ptr [r15 - 16], rcx
- mov qword ptr [8*rax + mx], r15
- jmp .LBB0_13
- .LBB0_11:
- mov rdi, rbp
- call mut10
- mov r13, rax
- mov rdi, qword ptr [r13 + 8]
- mov rsi, r15
- .LBB0_12:
- mov rdx, r12
- call pen2
- add dword ptr [rax - 12], 1
- mov qword ptr [r13 + 8], rax
- .LBB0_13:
- mov rax, r13
- add rsp, 40
- pop rbx
- pop r12
- pop r13
- pop r14
- pop r15
- pop rbp
- vzeroupper
- ret
- .LBB0_14:
- mov ebx, ecx
- shr bl, 6
- and bl, 2
- mov edx, eax
- shr dl, 7
- or dl, bl
- cmp dl, 2
- mov rsi, r15
- cmovb rsi, rbp
- mov rbx, qword ptr [rsi - 8]
- test dl, dl
- jne .LBB0_16
- # %bb.15:
- mov rsi, qword ptr [rbp - 8]
- cmp rsi, qword ptr [r15 - 8]
- jne .LBB0_37
- .LBB0_16:
- movzx r14d, dl
- cmp cl, -4
- je .LBB0_20
- # %bb.17:
- cmp cl, 4
- je .LBB0_20
- # %bb.18:
- cmp al, 4
- je .LBB0_20
- # %bb.19:
- cmp al, -4
- jne .LBB0_75
- .LBB0_20:
- mov r13d, offset gd
- mov al, 1
- mov dword ptr [rsp + 12], eax # 4-byte Spill
- .LBB0_21:
- mov rdi, rbp
- call r13
- mov rdi, r15
- mov r15, rax
- call r13
- mov rbp, rax
- cmp dword ptr [r15 - 12], 0
- jne .LBB0_23
- # %bb.22:
- cmp qword ptr [r15 - 8], rbx
- mov r13, r15
- je .LBB0_26
- .LBB0_23:
- cmp dword ptr [rbp - 12], 0
- jne .LBB0_25
- # %bb.24:
- cmp qword ptr [rbp - 8], rbx
- mov r13, rbp
- je .LBB0_26
- .LBB0_25:
- lea rax, [rbx + 1]
- lzcnt rax, rax
- mov edi, 67
- sub rdi, rax
- or rdi, 512
- mov rsi, rbx
- call ma
- mov r13, rax
- .LBB0_26:
- mov r9, rbx
- xor eax, eax
- cmp r14b, 3
- sete cl
- setne bl
- mov edx, ebx
- shl dl, 2
- add dl, -2
- mov esi, dword ptr [rsp + 12] # 4-byte Reload
- test sil, sil
- jne .LBB0_28
- # %bb.27:
- mov ebx, edx
- cmp r12, 8
- jl .LBB0_30
- .LBB0_29:
- mov ebx, edx
- .LBB0_30:
- mov byte ptr [r13 - 15], bl
- mov al, cl
- sub r14, rax
- movzx eax, sil
- lea rax, [rax + 2*rax]
- add rax, r14
- cmp rax, 5
- ja .LBB0_38
- # %bb.31:
- jmp qword ptr [8*rax + .LJTI0_0]
- .LBB0_32:
- cmp r12, 10
- mov rbx, r9
- ja .LBB0_39
- # %bb.33:
- jmp qword ptr [8*r12 + .LJTI0_6]
- .LBB0_34:
- test rbx, rbx
- jle .LBB0_39
- # %bb.35:
- cmp rbx, 4
- jb .LBB0_36
- # %bb.292:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_516
- # %bb.293:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_516
- .LBB0_36:
- xor eax, eax
- jmp .LBB0_742
- .LBB0_28:
- shl bl, 3
- add bl, -4
- cmp r12, 8
- jl .LBB0_30
- jmp .LBB0_29
- .LBB0_37:
- mov edi, offset .L.str
- call e_
- mov r13, rax
- jmp .LBB0_13
- .LBB0_38:
- mov edi, offset .L.str.1
- call e_
- .LBB0_39:
- cmp r15, r13
- je .LBB0_44
- # %bb.40:
- cmp dword ptr [r15 - 12], 0
- jne .LBB0_44
- # %bb.41:
- movzx eax, byte ptr [r15 - 15]
- mov ecx, 2017
- bt ecx, eax
- jae .LBB0_43
- # %bb.42:
- mov rdi, r15
- vzeroupper
- call mdAll
- .LBB0_43:
- movzx eax, byte ptr [r15 - 16]
- mov rcx, qword ptr [8*rax + mx]
- mov qword ptr [r15 - 16], rcx
- mov qword ptr [8*rax + mx], r15
- .LBB0_44:
- cmp rbp, r13
- je .LBB0_49
- # %bb.45:
- cmp dword ptr [rbp - 12], 0
- jne .LBB0_13
- # %bb.46:
- movzx eax, byte ptr [rbp - 15]
- mov ecx, 2017
- bt ecx, eax
- jae .LBB0_48
- # %bb.47:
- mov rdi, rbp
- vzeroupper
- call mdAll
- .LBB0_48:
- movzx eax, byte ptr [rbp - 16]
- mov rcx, qword ptr [8*rax + mx]
- mov qword ptr [rbp - 16], rcx
- mov qword ptr [8*rax + mx], rbp
- jmp .LBB0_13
- .LBB0_49:
- mov r13, rbp
- jmp .LBB0_13
- .LBB0_50:
- cmp r12, 10
- mov rbx, r9
- ja .LBB0_39
- # %bb.51:
- mov rcx, qword ptr [rbp]
- jmp qword ptr [8*r12 + .LJTI0_5]
- .LBB0_52:
- test rbx, rbx
- jle .LBB0_39
- # %bb.53:
- cmp rbx, 4
- jae .LBB0_295
- # %bb.54:
- xor eax, eax
- jmp .LBB0_298
- .LBB0_55:
- cmp r12, 10
- mov rbx, r9
- ja .LBB0_39
- # %bb.56:
- mov rcx, qword ptr [r15]
- jmp qword ptr [8*r12 + .LJTI0_4]
- .LBB0_57:
- test rbx, rbx
- jle .LBB0_39
- # %bb.58:
- cmp rbx, 4
- jae .LBB0_300
- # %bb.59:
- xor eax, eax
- jmp .LBB0_521
- .LBB0_60:
- cmp r12, 10
- mov rsi, r9
- ja .LBB0_39
- # %bb.61:
- jmp qword ptr [8*r12 + .LJTI0_3]
- .LBB0_62:
- test rsi, rsi
- jle .LBB0_39
- # %bb.63:
- cmp rsi, 4
- jae .LBB0_303
- # %bb.64:
- xor eax, eax
- jmp .LBB0_525
- .LBB0_65:
- cmp r12, 10
- mov rsi, r9
- ja .LBB0_39
- # %bb.66:
- vmovsd xmm0, qword ptr [rbp] # xmm0 = mem[0],zero
- jmp qword ptr [8*r12 + .LJTI0_2]
- .LBB0_67:
- test rsi, rsi
- jle .LBB0_39
- # %bb.68:
- cmp rsi, 4
- jae .LBB0_306
- # %bb.69:
- xor eax, eax
- jmp .LBB0_309
- .LBB0_70:
- cmp r12, 10
- mov rsi, r9
- ja .LBB0_39
- # %bb.71:
- vmovsd xmm0, qword ptr [r15] # xmm0 = mem[0],zero
- jmp qword ptr [8*r12 + .LJTI0_1]
- .LBB0_72:
- test rsi, rsi
- jle .LBB0_39
- # %bb.73:
- cmp rsi, 4
- jae .LBB0_311
- # %bb.74:
- xor eax, eax
- jmp .LBB0_529
- .LBB0_75:
- mov r13d, offset gl
- mov dword ptr [rsp + 12], 0 # 4-byte Folded Spill
- jmp .LBB0_21
- .LBB0_76:
- test rbx, rbx
- jle .LBB0_39
- # %bb.77:
- cmp rbx, 4
- jae .LBB0_314
- # %bb.78:
- xor eax, eax
- jmp .LBB0_744
- .LBB0_79:
- test rbx, rbx
- jle .LBB0_39
- # %bb.80:
- cmp rbx, 4
- jae .LBB0_318
- # %bb.81:
- xor eax, eax
- jmp .LBB0_746
- .LBB0_82:
- test rbx, rbx
- jle .LBB0_39
- # %bb.83:
- cmp rbx, 4
- jae .LBB0_322
- # %bb.84:
- xor eax, eax
- jmp .LBB0_748
- .LBB0_85:
- test rbx, rbx
- jle .LBB0_39
- # %bb.86:
- cmp rbx, 4
- jae .LBB0_326
- # %bb.87:
- xor esi, esi
- jmp .LBB0_685
- .LBB0_88:
- test rbx, rbx
- jle .LBB0_39
- # %bb.89:
- movabs rcx, -9223372036854775808
- xor esi, esi
- .LBB0_90: # =>This Inner Loop Header: Depth=1
- mov rdi, qword ptr [r15 + 8*rsi]
- mov rax, qword ptr [rbp + 8*rsi]
- test rdi, rdi
- jle .LBB0_93
- # %bb.91: # in Loop: Header=BB0_90 Depth=1
- mov rdx, rax
- or rdx, rdi
- shr rdx, 32
- je .LBB0_96
- # %bb.92: # in Loop: Header=BB0_90 Depth=1
- cqo
- idiv rdi
- mov rax, rdx
- jmp .LBB0_97
- .LBB0_93: # in Loop: Header=BB0_90 Depth=1
- mov rdx, rcx
- je .LBB0_101
- # %bb.94: # in Loop: Header=BB0_90 Depth=1
- neg rdi
- mov rdx, rax
- or rdx, rdi
- shr rdx, 32
- je .LBB0_100
- # %bb.95: # in Loop: Header=BB0_90 Depth=1
- cqo
- idiv rdi
- mov rdx, rax
- jmp .LBB0_101
- .LBB0_96: # in Loop: Header=BB0_90 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div edi
- mov eax, edx
- .LBB0_97: # in Loop: Header=BB0_90 Depth=1
- add rax, rdi
- mov rdx, rax
- or rdx, rdi
- shr rdx, 32
- je .LBB0_99
- # %bb.98: # in Loop: Header=BB0_90 Depth=1
- cqo
- idiv rdi
- jmp .LBB0_101
- .LBB0_99: # in Loop: Header=BB0_90 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div edi
- # kill: def %edx killed %edx def %rdx
- jmp .LBB0_101
- .LBB0_100: # in Loop: Header=BB0_90 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div edi
- mov edx, eax
- .LBB0_101: # in Loop: Header=BB0_90 Depth=1
- mov qword ptr [r13 + 8*rsi], rdx
- add rsi, 1
- cmp rbx, rsi
- jne .LBB0_90
- jmp .LBB0_39
- .LBB0_102:
- test rbx, rbx
- jle .LBB0_39
- # %bb.103:
- cmp rbx, 4
- jae .LBB0_350
- # %bb.104:
- xor eax, eax
- jmp .LBB0_750
- .LBB0_105:
- test rbx, rbx
- jle .LBB0_39
- # %bb.106:
- cmp rbx, 4
- jae .LBB0_354
- # %bb.107:
- xor eax, eax
- jmp .LBB0_752
- .LBB0_108:
- test rbx, rbx
- jle .LBB0_39
- # %bb.109:
- cmp rbx, 4
- jae .LBB0_358
- # %bb.110:
- xor eax, eax
- jmp .LBB0_754
- .LBB0_111:
- test rbx, rbx
- jle .LBB0_39
- # %bb.112:
- cmp rbx, 4
- jae .LBB0_362
- # %bb.113:
- xor eax, eax
- jmp .LBB0_756
- .LBB0_114:
- test rbx, rbx
- jle .LBB0_39
- # %bb.115:
- cmp rbx, 4
- jae .LBB0_366
- # %bb.116:
- xor eax, eax
- jmp .LBB0_758
- .LBB0_117:
- test rbx, rbx
- jle .LBB0_39
- # %bb.118:
- cmp rbx, 4
- jb .LBB0_119
- # %bb.370:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_530
- # %bb.371:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_530
- .LBB0_119:
- xor eax, eax
- jmp .LBB0_760
- .LBB0_120:
- test rbx, rbx
- jle .LBB0_39
- # %bb.121:
- cmp rbx, 4
- jb .LBB0_122
- # %bb.373:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_532
- # %bb.374:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_532
- .LBB0_122:
- xor eax, eax
- jmp .LBB0_762
- .LBB0_123:
- test rbx, rbx
- jle .LBB0_39
- # %bb.124:
- cmp rbx, 4
- jb .LBB0_125
- # %bb.376:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_534
- # %bb.377:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_534
- .LBB0_125:
- xor eax, eax
- jmp .LBB0_764
- .LBB0_126:
- test rbx, rbx
- jle .LBB0_39
- # %bb.127:
- test rcx, rcx
- je .LBB0_493
- # %bb.128:
- xor esi, esi
- .LBB0_129: # =>This Inner Loop Header: Depth=1
- mov rax, qword ptr [r15 + 8*rsi]
- mov rdx, rax
- or rdx, rcx
- shr rdx, 32
- je .LBB0_131
- # %bb.130: # in Loop: Header=BB0_129 Depth=1
- cqo
- idiv rcx
- jmp .LBB0_132
- .LBB0_131: # in Loop: Header=BB0_129 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div ecx
- # kill: def %eax killed %eax def %rax
- .LBB0_132: # in Loop: Header=BB0_129 Depth=1
- mov qword ptr [r13 + 8*rsi], rax
- add rsi, 1
- cmp rbx, rsi
- jne .LBB0_129
- jmp .LBB0_39
- .LBB0_133:
- test rbx, rbx
- jle .LBB0_39
- # %bb.134:
- movabs r8, -9223372036854775808
- xor edi, edi
- .LBB0_135: # =>This Inner Loop Header: Depth=1
- mov rsi, qword ptr [r15 + 8*rdi]
- test rsi, rsi
- jle .LBB0_138
- # %bb.136: # in Loop: Header=BB0_135 Depth=1
- mov rax, rcx
- or rax, rsi
- shr rax, 32
- je .LBB0_141
- # %bb.137: # in Loop: Header=BB0_135 Depth=1
- mov rax, rcx
- cqo
- idiv rsi
- mov rax, rdx
- jmp .LBB0_142
- .LBB0_138: # in Loop: Header=BB0_135 Depth=1
- mov rdx, r8
- je .LBB0_146
- # %bb.139: # in Loop: Header=BB0_135 Depth=1
- neg rsi
- mov rax, rcx
- or rax, rsi
- shr rax, 32
- je .LBB0_145
- # %bb.140: # in Loop: Header=BB0_135 Depth=1
- mov rax, rcx
- cqo
- idiv rsi
- mov rdx, rax
- jmp .LBB0_146
- .LBB0_141: # in Loop: Header=BB0_135 Depth=1
- xor edx, edx
- mov eax, ecx
- div esi
- mov eax, edx
- .LBB0_142: # in Loop: Header=BB0_135 Depth=1
- add rax, rsi
- mov rdx, rax
- or rdx, rsi
- shr rdx, 32
- je .LBB0_144
- # %bb.143: # in Loop: Header=BB0_135 Depth=1
- cqo
- idiv rsi
- jmp .LBB0_146
- .LBB0_144: # in Loop: Header=BB0_135 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div esi
- # kill: def %edx killed %edx def %rdx
- jmp .LBB0_146
- .LBB0_145: # in Loop: Header=BB0_135 Depth=1
- xor edx, edx
- mov eax, ecx
- div esi
- mov edx, eax
- .LBB0_146: # in Loop: Header=BB0_135 Depth=1
- mov qword ptr [r13 + 8*rdi], rdx
- add rdi, 1
- cmp rbx, rdi
- jne .LBB0_135
- jmp .LBB0_39
- .LBB0_147:
- test rbx, rbx
- jle .LBB0_39
- # %bb.148:
- cmp rbx, 4
- jae .LBB0_379
- # %bb.149:
- xor eax, eax
- jmp .LBB0_539
- .LBB0_150:
- test rbx, rbx
- jle .LBB0_39
- # %bb.151:
- cmp rbx, 4
- jae .LBB0_382
- # %bb.152:
- xor eax, eax
- jmp .LBB0_543
- .LBB0_153:
- test rbx, rbx
- jle .LBB0_39
- # %bb.154:
- cmp rbx, 4
- jae .LBB0_385
- # %bb.155:
- xor eax, eax
- jmp .LBB0_547
- .LBB0_156:
- test rbx, rbx
- jle .LBB0_39
- # %bb.157:
- cmp rbx, 4
- jae .LBB0_388
- # %bb.158:
- xor eax, eax
- jmp .LBB0_551
- .LBB0_159:
- test rbx, rbx
- jle .LBB0_39
- # %bb.160:
- cmp rbx, 4
- jae .LBB0_391
- # %bb.161:
- xor eax, eax
- jmp .LBB0_555
- .LBB0_162:
- test rbx, rbx
- jle .LBB0_39
- # %bb.163:
- cmp rbx, 4
- jae .LBB0_394
- # %bb.164:
- xor eax, eax
- jmp .LBB0_559
- .LBB0_165:
- test rbx, rbx
- jle .LBB0_39
- # %bb.166:
- cmp rbx, 4
- jae .LBB0_397
- # %bb.167:
- xor eax, eax
- jmp .LBB0_563
- .LBB0_168:
- test rbx, rbx
- jle .LBB0_39
- # %bb.169:
- cmp rbx, 4
- jae .LBB0_400
- # %bb.170:
- xor eax, eax
- jmp .LBB0_567
- .LBB0_171:
- test rbx, rbx
- jle .LBB0_39
- # %bb.172:
- movabs rax, -9223372036854775808
- lea rdx, [rax - 1]
- lea r8, [rax + 1]
- test rcx, rcx
- cmovg r8, rdx
- je .LBB0_495
- # %bb.173:
- cmp rbx, 4
- jae .LBB0_507
- # %bb.174:
- xor edi, edi
- mov rsi, qword ptr [rbp + 8*rdi]
- mov rax, r8
- test rsi, rsi
- jne .LBB0_664
- jmp .LBB0_667
- .LBB0_175:
- test rbx, rbx
- jle .LBB0_39
- # %bb.176:
- test rcx, rcx
- jle .LBB0_497
- # %bb.177:
- xor esi, esi
- .LBB0_178: # =>This Inner Loop Header: Depth=1
- mov rax, qword ptr [rbp + 8*rsi]
- mov rdx, rax
- or rdx, rcx
- shr rdx, 32
- je .LBB0_180
- # %bb.179: # in Loop: Header=BB0_178 Depth=1
- cqo
- idiv rcx
- mov rax, rdx
- jmp .LBB0_181
- .LBB0_180: # in Loop: Header=BB0_178 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div ecx
- mov eax, edx
- .LBB0_181: # in Loop: Header=BB0_178 Depth=1
- add rax, rcx
- mov rdx, rax
- or rdx, rcx
- shr rdx, 32
- je .LBB0_183
- # %bb.182: # in Loop: Header=BB0_178 Depth=1
- cqo
- idiv rcx
- jmp .LBB0_184
- .LBB0_183: # in Loop: Header=BB0_178 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div ecx
- # kill: def %edx killed %edx def %rdx
- .LBB0_184: # in Loop: Header=BB0_178 Depth=1
- mov qword ptr [r13 + 8*rsi], rdx
- add rsi, 1
- cmp rbx, rsi
- jne .LBB0_178
- jmp .LBB0_39
- .LBB0_185:
- test rbx, rbx
- jle .LBB0_39
- # %bb.186:
- cmp rbx, 4
- jae .LBB0_403
- # %bb.187:
- xor eax, eax
- jmp .LBB0_571
- .LBB0_188:
- test rbx, rbx
- jle .LBB0_39
- # %bb.189:
- cmp rbx, 4
- jae .LBB0_406
- # %bb.190:
- xor eax, eax
- jmp .LBB0_575
- .LBB0_191:
- test rbx, rbx
- jle .LBB0_39
- # %bb.192:
- cmp rbx, 4
- jae .LBB0_409
- # %bb.193:
- xor eax, eax
- jmp .LBB0_579
- .LBB0_194:
- test rbx, rbx
- jle .LBB0_39
- # %bb.195:
- cmp rbx, 4
- jae .LBB0_412
- # %bb.196:
- xor eax, eax
- jmp .LBB0_583
- .LBB0_197:
- test rbx, rbx
- jle .LBB0_39
- # %bb.198:
- cmp rbx, 4
- jae .LBB0_415
- # %bb.199:
- xor eax, eax
- jmp .LBB0_587
- .LBB0_200:
- test rsi, rsi
- jle .LBB0_39
- # %bb.201:
- cmp rsi, 4
- jae .LBB0_418
- # %bb.202:
- xor eax, eax
- jmp .LBB0_699
- .LBB0_203:
- test rsi, rsi
- jle .LBB0_39
- # %bb.204:
- cmp rsi, 4
- jae .LBB0_423
- # %bb.205:
- xor eax, eax
- jmp .LBB0_701
- .LBB0_206:
- test rsi, rsi
- jle .LBB0_39
- # %bb.207:
- cmp rsi, 4
- jae .LBB0_428
- # %bb.208:
- xor eax, eax
- jmp .LBB0_703
- .LBB0_209:
- test rsi, rsi
- jle .LBB0_39
- # %bb.210:
- cmp rsi, 4
- jae .LBB0_433
- # %bb.211:
- xor eax, eax
- jmp .LBB0_705
- .LBB0_212:
- test rsi, rsi
- jle .LBB0_39
- # %bb.213:
- cmp rsi, 4
- jae .LBB0_438
- # %bb.214:
- xor eax, eax
- jmp .LBB0_441
- .LBB0_215:
- test rsi, rsi
- jle .LBB0_39
- # %bb.216:
- cmp rsi, 4
- jae .LBB0_443
- # %bb.217:
- xor eax, eax
- jmp .LBB0_712
- .LBB0_218:
- test rsi, rsi
- jle .LBB0_39
- # %bb.219:
- cmp rsi, 4
- jae .LBB0_448
- # %bb.220:
- xor eax, eax
- jmp .LBB0_714
- .LBB0_221:
- test rsi, rsi
- jle .LBB0_39
- # %bb.222:
- xor eax, eax
- .LBB0_223: # =>This Inner Loop Header: Depth=1
- vmovsd xmm0, qword ptr [rbp + 8*rax] # xmm0 = mem[0],zero
- xor ecx, ecx
- vucomisd xmm0, qword ptr [r15 + 8*rax]
- seta cl
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_223
- jmp .LBB0_39
- .LBB0_224:
- test rsi, rsi
- jle .LBB0_39
- # %bb.225:
- xor eax, eax
- .LBB0_226: # =>This Inner Loop Header: Depth=1
- vmovsd xmm0, qword ptr [r15 + 8*rax] # xmm0 = mem[0],zero
- xor ecx, ecx
- vucomisd xmm0, qword ptr [rbp + 8*rax]
- seta cl
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_226
- jmp .LBB0_39
- .LBB0_227:
- test rsi, rsi
- jle .LBB0_39
- # %bb.228:
- xor eax, eax
- .LBB0_229: # =>This Inner Loop Header: Depth=1
- vmovsd xmm0, qword ptr [rbp + 8*rax] # xmm0 = mem[0],zero
- vcmpeqsd xmm0, xmm0, qword ptr [r15 + 8*rax]
- vmovq rcx, xmm0
- and ecx, 1
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_229
- jmp .LBB0_39
- .LBB0_230:
- test rsi, rsi
- jle .LBB0_39
- # %bb.231:
- cmp rsi, 4
- jae .LBB0_453
- # %bb.232:
- xor eax, eax
- jmp .LBB0_591
- .LBB0_233:
- test rsi, rsi
- jle .LBB0_39
- # %bb.234:
- cmp rsi, 4
- jae .LBB0_456
- # %bb.235:
- xor eax, eax
- jmp .LBB0_595
- .LBB0_236:
- test rsi, rsi
- jle .LBB0_39
- # %bb.237:
- cmp rsi, 4
- jae .LBB0_459
- # %bb.238:
- xor eax, eax
- jmp .LBB0_599
- .LBB0_239:
- test rsi, rsi
- jle .LBB0_39
- # %bb.240:
- vxorpd xmm1, xmm1, xmm1
- vucomisd xmm0, xmm1
- jne .LBB0_241
- jnp .LBB0_503
- .LBB0_241:
- cmp rsi, 4
- jae .LBB0_510
- # %bb.242:
- xor eax, eax
- jmp .LBB0_671
- .LBB0_243:
- test rsi, rsi
- jle .LBB0_39
- # %bb.244:
- cmp rsi, 4
- jae .LBB0_462
- # %bb.245:
- xor eax, eax
- jmp .LBB0_465
- .LBB0_246:
- test rsi, rsi
- jle .LBB0_39
- # %bb.247:
- cmp rsi, 4
- jae .LBB0_467
- # %bb.248:
- xor eax, eax
- jmp .LBB0_603
- .LBB0_249:
- test rsi, rsi
- jle .LBB0_39
- # %bb.250:
- cmp rsi, 4
- jae .LBB0_470
- # %bb.251:
- xor eax, eax
- jmp .LBB0_607
- .LBB0_252:
- test rsi, rsi
- jle .LBB0_39
- # %bb.253:
- xor eax, eax
- .LBB0_254: # =>This Inner Loop Header: Depth=1
- xor ecx, ecx
- vucomisd xmm0, qword ptr [r15 + 8*rax]
- seta cl
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_254
- jmp .LBB0_39
- .LBB0_255:
- test rsi, rsi
- jle .LBB0_39
- # %bb.256:
- xor eax, eax
- .LBB0_257: # =>This Inner Loop Header: Depth=1
- vmovsd xmm1, qword ptr [r15 + 8*rax] # xmm1 = mem[0],zero
- xor ecx, ecx
- vucomisd xmm1, xmm0
- seta cl
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_257
- jmp .LBB0_39
- .LBB0_258:
- test rsi, rsi
- jle .LBB0_39
- # %bb.259:
- xor eax, eax
- .LBB0_260: # =>This Inner Loop Header: Depth=1
- vcmpeqsd xmm1, xmm0, qword ptr [r15 + 8*rax]
- vmovq rcx, xmm1
- and ecx, 1
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_260
- jmp .LBB0_39
- .LBB0_261:
- test rsi, rsi
- jle .LBB0_39
- # %bb.262:
- cmp rsi, 4
- jae .LBB0_473
- # %bb.263:
- xor eax, eax
- jmp .LBB0_611
- .LBB0_264:
- test rsi, rsi
- jle .LBB0_39
- # %bb.265:
- cmp rsi, 4
- jae .LBB0_476
- # %bb.266:
- xor eax, eax
- jmp .LBB0_615
- .LBB0_267:
- test rsi, rsi
- jle .LBB0_39
- # %bb.268:
- cmp rsi, 4
- jae .LBB0_479
- # %bb.269:
- xor eax, eax
- jmp .LBB0_619
- .LBB0_270:
- test rsi, rsi
- jle .LBB0_39
- # %bb.271:
- vxorpd xmm1, xmm1, xmm1
- xor eax, eax
- vucomisd xmm0, xmm1
- seta cl
- jne .LBB0_272
- jnp .LBB0_505
- .LBB0_272:
- mov al, cl
- vmovsd xmm1, qword ptr [8*rax + .LCPI0_1] # xmm1 = mem[0],zero
- cmp rsi, 4
- jb .LBB0_273
- # %bb.513:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_672
- # %bb.514:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_672
- .LBB0_273:
- xor eax, eax
- .LBB0_675:
- vxorpd xmm2, xmm2, xmm2
- .LBB0_676: # =>This Inner Loop Header: Depth=1
- vmovsd xmm4, qword ptr [rbp + 8*rax] # xmm4 = mem[0],zero
- vucomisd xmm4, xmm2
- vmovapd xmm3, xmm1
- jne .LBB0_677
- jnp .LBB0_678
- .LBB0_677: # in Loop: Header=BB0_676 Depth=1
- vdivsd xmm3, xmm0, xmm4
- .LBB0_678: # in Loop: Header=BB0_676 Depth=1
- vmovsd qword ptr [r13 + 8*rax], xmm3
- add rax, 1
- cmp rsi, rax
- jne .LBB0_676
- jmp .LBB0_39
- .LBB0_274:
- test rsi, rsi
- jle .LBB0_39
- # %bb.275:
- cmp rsi, 4
- jae .LBB0_482
- # %bb.276:
- xor eax, eax
- jmp .LBB0_485
- .LBB0_277:
- test rsi, rsi
- jle .LBB0_39
- # %bb.278:
- cmp rsi, 4
- jae .LBB0_487
- # %bb.279:
- xor eax, eax
- jmp .LBB0_623
- .LBB0_280:
- test rsi, rsi
- jle .LBB0_39
- # %bb.281:
- cmp rsi, 4
- jae .LBB0_490
- # %bb.282:
- xor eax, eax
- jmp .LBB0_627
- .LBB0_283:
- test rsi, rsi
- jle .LBB0_39
- # %bb.284:
- xor eax, eax
- .LBB0_285: # =>This Inner Loop Header: Depth=1
- vmovsd xmm1, qword ptr [rbp + 8*rax] # xmm1 = mem[0],zero
- xor ecx, ecx
- vucomisd xmm1, xmm0
- seta cl
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_285
- jmp .LBB0_39
- .LBB0_286:
- test rsi, rsi
- jle .LBB0_39
- # %bb.287:
- xor eax, eax
- .LBB0_288: # =>This Inner Loop Header: Depth=1
- xor ecx, ecx
- vucomisd xmm0, qword ptr [rbp + 8*rax]
- seta cl
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_288
- jmp .LBB0_39
- .LBB0_289:
- test rsi, rsi
- jle .LBB0_39
- # %bb.290:
- xor eax, eax
- .LBB0_291: # =>This Inner Loop Header: Depth=1
- vcmpeqsd xmm1, xmm0, qword ptr [rbp + 8*rax]
- vmovq rcx, xmm1
- and ecx, 1
- shl rcx, 5
- mov rcx, qword ptr [rcx + cb_+16]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_291
- jmp .LBB0_39
- .LBB0_295:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- mov rdx, rax
- mov rsi, r13
- .LBB0_296: # =>This Inner Loop Header: Depth=1
- vmovdqu ymmword ptr [rsi], ymm0
- add rsi, 32
- add rdx, -4
- jne .LBB0_296
- # %bb.297:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_298:
- lea rdx, [8*rax]
- add rdx, r13
- sub rbx, rax
- .LBB0_299: # =>This Inner Loop Header: Depth=1
- mov qword ptr [rdx], rcx
- add rdx, 8
- add rbx, -1
- jne .LBB0_299
- jmp .LBB0_39
- .LBB0_300:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_518
- # %bb.301:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_518
- # %bb.302:
- xor eax, eax
- jmp .LBB0_521
- .LBB0_303:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_522
- # %bb.304:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_522
- # %bb.305:
- xor eax, eax
- jmp .LBB0_525
- .LBB0_306:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- mov rcx, rax
- mov rdx, r13
- .LBB0_307: # =>This Inner Loop Header: Depth=1
- vmovupd ymmword ptr [rdx], ymm1
- add rdx, 32
- add rcx, -4
- jne .LBB0_307
- # %bb.308:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_309:
- lea rcx, [8*rax]
- add rcx, r13
- sub rsi, rax
- .LBB0_310: # =>This Inner Loop Header: Depth=1
- vmovsd qword ptr [rcx], xmm0
- add rcx, 8
- add rsi, -1
- jne .LBB0_310
- jmp .LBB0_39
- .LBB0_311:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_526
- # %bb.312:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_526
- # %bb.313:
- xor eax, eax
- jmp .LBB0_529
- .LBB0_314:
- lea rax, [8*rbx]
- add rax, r13
- lea rcx, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_681
- # %bb.315:
- and cl, dl
- mov rbx, r9
- jne .LBB0_744
- # %bb.316:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_317: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm0, ymmword ptr [rbp + 8*rcx]
- vpaddq ymm0, ymm0, ymmword ptr [r15 + 8*rcx]
- vmovdqu ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_317
- jmp .LBB0_743
- .LBB0_318:
- lea rax, [8*rbx]
- add rax, r13
- lea rcx, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_682
- # %bb.319:
- and cl, dl
- mov rbx, r9
- jne .LBB0_746
- # %bb.320:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_321: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm0, ymmword ptr [r15 + 8*rcx]
- vpsubq ymm0, ymm0, ymmword ptr [rbp + 8*rcx]
- vmovdqu ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_321
- jmp .LBB0_745
- .LBB0_322:
- lea rax, [8*rbx]
- add rax, r13
- lea rcx, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_683
- # %bb.323:
- and cl, dl
- mov rbx, r9
- jne .LBB0_748
- # %bb.324:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_325: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm0, ymmword ptr [r15 + 8*rcx]
- vmovdqu ymm1, ymmword ptr [rbp + 8*rcx]
- vpsrlq ymm2, ymm1, 32
- vpmuludq ymm2, ymm2, ymm0
- vpsrlq ymm3, ymm0, 32
- vpmuludq ymm3, ymm1, ymm3
- vpaddq ymm2, ymm3, ymm2
- vpsllq ymm2, ymm2, 32
- vpmuludq ymm0, ymm1, ymm0
- vpaddq ymm0, ymm0, ymm2
- vmovdqu ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_325
- jmp .LBB0_747
- .LBB0_326:
- lea rcx, [8*rbx]
- add rcx, r13
- lea rax, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rax
- setb dil
- cmp r15, rcx
- setb bl
- cmp r13, rdx
- setb al
- cmp rbp, rcx
- setb cl
- xor esi, esi
- test dil, bl
- jne .LBB0_684
- # %bb.327:
- and al, cl
- mov rbx, r9
- jne .LBB0_685
- # %bb.328:
- mov rsi, rbx
- and rsi, -4
- xor ecx, ecx
- vpxor xmm0, xmm0, xmm0
- vpcmpeqd ymm9, ymm9, ymm9
- vbroadcastsd ymm11, qword ptr [rip + .LCPI0_5] # ymm11 = [9223372036854775807,9223372036854775807,9223372036854775807,9223372036854775807]
- vbroadcastsd ymm3, qword ptr [rip + .LCPI0_6] # ymm3 = [9223372036854775809,9223372036854775809,9223372036854775809,9223372036854775809]
- vbroadcastsd ymm4, qword ptr [rip + .LCPI0_4] # ymm4 = [9223372036854775808,9223372036854775808,9223372036854775808,9223372036854775808]
- .LBB0_329: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm5, ymmword ptr [r15 + 8*rcx]
- vmovdqu ymm7, ymmword ptr [rbp + 8*rcx]
- vpcmpeqq ymm6, ymm7, ymm0
- vpxor ymm8, ymm6, ymm9
- vextracti128 xmm1, ymm8, 1
- vpackssdw xmm1, xmm8, xmm1
- vpextrb eax, xmm8, 0
- # implicit-def: %ymm8
- test al, 1
- je .LBB0_330
- # %bb.333: # in Loop: Header=BB0_329 Depth=1
- vmovq rax, xmm5
- vmovq rdi, xmm7
- mov rdx, rax
- or rdx, rdi
- shr rdx, 32
- je .LBB0_335
- # %bb.334: # in Loop: Header=BB0_329 Depth=1
- cqo
- idiv rdi
- vmovq xmm8, rax
- vpextrb eax, xmm1, 4
- test al, 1
- jne .LBB0_336
- .LBB0_331: # in Loop: Header=BB0_329 Depth=1
- vpextrb eax, xmm1, 8
- test al, 1
- je .LBB0_332
- .LBB0_340: # in Loop: Header=BB0_329 Depth=1
- vextracti128 xmm2, ymm5, 1
- vmovq rax, xmm2
- vextracti128 xmm2, ymm7, 1
- vmovq rdi, xmm2
- mov rdx, rax
- or rdx, rdi
- shr rdx, 32
- je .LBB0_342
- # %bb.341: # in Loop: Header=BB0_329 Depth=1
- cqo
- idiv rdi
- jmp .LBB0_343
- .LBB0_330: # in Loop: Header=BB0_329 Depth=1
- vpextrb eax, xmm1, 4
- test al, 1
- je .LBB0_331
- .LBB0_336: # in Loop: Header=BB0_329 Depth=1
- vpextrq rax, xmm5, 1
- vpextrq rdi, xmm7, 1
- mov rdx, rax
- or rdx, rdi
- shr rdx, 32
- je .LBB0_338
- # %bb.337: # in Loop: Header=BB0_329 Depth=1
- cqo
- idiv rdi
- jmp .LBB0_339
- .LBB0_335: # in Loop: Header=BB0_329 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div edi
- # kill: def %eax killed %eax def %rax
- vmovq xmm8, rax
- vpextrb eax, xmm1, 4
- test al, 1
- je .LBB0_331
- jmp .LBB0_336
- .LBB0_342: # in Loop: Header=BB0_329 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div edi
- # kill: def %eax killed %eax def %rax
- .LBB0_343: # in Loop: Header=BB0_329 Depth=1
- vextracti128 xmm2, ymm8, 1
- vpinsrq xmm2, xmm2, rax, 0
- vinserti128 ymm8, ymm8, xmm2, 1
- vpextrb eax, xmm1, 12
- test al, 1
- je .LBB0_348
- jmp .LBB0_344
- .LBB0_338: # in Loop: Header=BB0_329 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div edi
- # kill: def %eax killed %eax def %rax
- .LBB0_339: # in Loop: Header=BB0_329 Depth=1
- vpinsrq xmm10, xmm8, rax, 1
- vpblendd ymm8, ymm8, ymm10, 15 # ymm8 = ymm10[0,1,2,3],ymm8[4,5,6,7]
- vpextrb eax, xmm1, 8
- test al, 1
- jne .LBB0_340
- .LBB0_332: # in Loop: Header=BB0_329 Depth=1
- vpextrb eax, xmm1, 12
- test al, 1
- je .LBB0_348
- .LBB0_344: # in Loop: Header=BB0_329 Depth=1
- vextracti128 xmm1, ymm5, 1
- vpextrq rax, xmm1, 1
- vextracti128 xmm1, ymm7, 1
- vpextrq rdi, xmm1, 1
- mov rdx, rax
- or rdx, rdi
- shr rdx, 32
- je .LBB0_346
- # %bb.345: # in Loop: Header=BB0_329 Depth=1
- cqo
- idiv rdi
- jmp .LBB0_347
- .LBB0_346: # in Loop: Header=BB0_329 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div edi
- # kill: def %eax killed %eax def %rax
- .LBB0_347: # in Loop: Header=BB0_329 Depth=1
- vextracti128 xmm1, ymm8, 1
- vpinsrq xmm1, xmm1, rax, 1
- vinserti128 ymm8, ymm8, xmm1, 1
- .LBB0_348: # in Loop: Header=BB0_329 Depth=1
- vpor ymm1, ymm5, ymm7
- vpcmpeqq ymm2, ymm5, ymm0
- vpcmpgtq ymm5, ymm5, ymm0
- vblendvpd ymm5, ymm3, ymm11, ymm5
- vpandn ymm2, ymm2, ymm6
- vblendvpd ymm2, ymm8, ymm5, ymm2
- vpcmpeqq ymm1, ymm1, ymm0
- vblendvpd ymm1, ymm2, ymm4, ymm1
- vmovupd ymmword ptr [r13 + 8*rcx], ymm1
- add rcx, 4
- cmp rsi, rcx
- jne .LBB0_329
- # %bb.349:
- cmp rbx, rsi
- je .LBB0_39
- jmp .LBB0_685
- .LBB0_350:
- lea rax, [8*rbx]
- add rax, r13
- lea rcx, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_693
- # %bb.351:
- and cl, dl
- mov rbx, r9
- jne .LBB0_750
- # %bb.352:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_353: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm0, ymmword ptr [r15 + 8*rcx]
- vmovdqu ymm1, ymmword ptr [rbp + 8*rcx]
- vpcmpgtq ymm2, ymm1, ymm0
- vblendvpd ymm0, ymm1, ymm0, ymm2
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_353
- jmp .LBB0_749
- .LBB0_354:
- lea rax, [8*rbx]
- add rax, r13
- lea rcx, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_694
- # %bb.355:
- and cl, dl
- mov rbx, r9
- jne .LBB0_752
- # %bb.356:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_357: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm0, ymmword ptr [r15 + 8*rcx]
- vmovdqu ymm1, ymmword ptr [rbp + 8*rcx]
- vpcmpgtq ymm2, ymm0, ymm1
- vblendvpd ymm0, ymm1, ymm0, ymm2
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_357
- jmp .LBB0_751
- .LBB0_358:
- lea rax, [8*rbx]
- add rax, r13
- lea rcx, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_695
- # %bb.359:
- and cl, dl
- mov rbx, r9
- jne .LBB0_754
- # %bb.360:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_361: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm0, ymmword ptr [rbp + 8*rcx]
- vpcmpgtq ymm0, ymm0, ymmword ptr [r15 + 8*rcx]
- vpsrlq ymm0, ymm0, 63
- vmovdqu ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_361
- jmp .LBB0_753
- .LBB0_362:
- lea rax, [8*rbx]
- add rax, r13
- lea rcx, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_696
- # %bb.363:
- and cl, dl
- mov rbx, r9
- jne .LBB0_756
- # %bb.364:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_365: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm0, ymmword ptr [r15 + 8*rcx]
- vpcmpgtq ymm0, ymm0, ymmword ptr [rbp + 8*rcx]
- vpsrlq ymm0, ymm0, 63
- vmovdqu ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_365
- jmp .LBB0_755
- .LBB0_366:
- lea rax, [8*rbx]
- add rax, r13
- lea rcx, [r15 + 8*rbx]
- lea rdx, [8*rbx]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_697
- # %bb.367:
- and cl, dl
- mov rbx, r9
- jne .LBB0_758
- # %bb.368:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_369: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm0, ymmword ptr [r15 + 8*rcx]
- vpcmpeqq ymm0, ymm0, ymmword ptr [rbp + 8*rcx]
- vpsrlq ymm0, ymm0, 63
- vmovdqu ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_369
- jmp .LBB0_757
- .LBB0_379:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_536
- # %bb.380:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_536
- # %bb.381:
- xor eax, eax
- jmp .LBB0_539
- .LBB0_382:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_540
- # %bb.383:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_540
- # %bb.384:
- xor eax, eax
- jmp .LBB0_543
- .LBB0_385:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_544
- # %bb.386:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_544
- # %bb.387:
- xor eax, eax
- jmp .LBB0_547
- .LBB0_388:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_548
- # %bb.389:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_548
- # %bb.390:
- xor eax, eax
- jmp .LBB0_551
- .LBB0_391:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_552
- # %bb.392:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_552
- # %bb.393:
- xor eax, eax
- jmp .LBB0_555
- .LBB0_394:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_556
- # %bb.395:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_556
- # %bb.396:
- xor eax, eax
- jmp .LBB0_559
- .LBB0_397:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_560
- # %bb.398:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_560
- # %bb.399:
- xor eax, eax
- jmp .LBB0_563
- .LBB0_400:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_564
- # %bb.401:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_564
- # %bb.402:
- xor eax, eax
- jmp .LBB0_567
- .LBB0_403:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_568
- # %bb.404:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_568
- # %bb.405:
- xor eax, eax
- jmp .LBB0_571
- .LBB0_406:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_572
- # %bb.407:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_572
- # %bb.408:
- xor eax, eax
- jmp .LBB0_575
- .LBB0_409:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_576
- # %bb.410:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_576
- # %bb.411:
- xor eax, eax
- jmp .LBB0_579
- .LBB0_412:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_580
- # %bb.413:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_580
- # %bb.414:
- xor eax, eax
- jmp .LBB0_583
- .LBB0_415:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_584
- # %bb.416:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_584
- # %bb.417:
- xor eax, eax
- jmp .LBB0_587
- .LBB0_418:
- lea rax, [8*rsi]
- add rax, r13
- lea rcx, [r15 + 8*rsi]
- lea rdx, [8*rsi]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_698
- # %bb.419:
- and cl, dl
- mov rsi, r9
- jne .LBB0_699
- # %bb.420:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- .LBB0_421: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [r15 + 8*rcx]
- vaddpd ymm0, ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_421
- # %bb.422:
- cmp rsi, rax
- jne .LBB0_699
- jmp .LBB0_39
- .LBB0_423:
- lea rax, [8*rsi]
- add rax, r13
- lea rcx, [r15 + 8*rsi]
- lea rdx, [8*rsi]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_700
- # %bb.424:
- and cl, dl
- mov rsi, r9
- jne .LBB0_701
- # %bb.425:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- .LBB0_426: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [r15 + 8*rcx]
- vsubpd ymm0, ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_426
- # %bb.427:
- cmp rsi, rax
- jne .LBB0_701
- jmp .LBB0_39
- .LBB0_428:
- lea rax, [8*rsi]
- add rax, r13
- lea rcx, [r15 + 8*rsi]
- lea rdx, [8*rsi]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_702
- # %bb.429:
- and cl, dl
- mov rsi, r9
- jne .LBB0_703
- # %bb.430:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- .LBB0_431: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [r15 + 8*rcx]
- vmulpd ymm0, ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_431
- # %bb.432:
- cmp rsi, rax
- jne .LBB0_703
- jmp .LBB0_39
- .LBB0_433:
- lea rax, [8*rsi]
- add rax, r13
- lea rcx, [r15 + 8*rsi]
- lea rdx, [8*rsi]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_704
- # %bb.434:
- and cl, dl
- mov rsi, r9
- jne .LBB0_705
- # %bb.435:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- vxorpd xmm0, xmm0, xmm0
- vbroadcastsd ymm1, qword ptr [rip + .LCPI0_2] # ymm1 = [+Inf,+Inf,+Inf,+Inf]
- vbroadcastsd ymm2, qword ptr [rip + .LCPI0_3] # ymm2 = [-Inf,-Inf,-Inf,-Inf]
- vbroadcastsd ymm3, qword ptr [rip + .LCPI0_0] # ymm3 = [NaN,NaN,NaN,NaN]
- .LBB0_436: # =>This Inner Loop Header: Depth=1
- vmovupd ymm4, ymmword ptr [r15 + 8*rcx]
- vmovupd ymm5, ymmword ptr [rbp + 8*rcx]
- vcmpeqpd ymm6, ymm5, ymm0
- vcmpeqpd ymm7, ymm4, ymm0
- vcmpltpd ymm8, ymm0, ymm4
- vblendvpd ymm8, ymm2, ymm1, ymm8
- vcmpneqpd ymm9, ymm4, ymm0
- vdivpd ymm4, ymm4, ymm5
- vandpd ymm5, ymm9, ymm6
- vblendvpd ymm4, ymm4, ymm8, ymm5
- vandpd ymm5, ymm6, ymm7
- vblendvpd ymm4, ymm4, ymm3, ymm5
- vmovupd ymmword ptr [r13 + 8*rcx], ymm4
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_436
- # %bb.437:
- cmp rsi, rax
- je .LBB0_39
- jmp .LBB0_705
- .LBB0_438:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm0, qword ptr [rip + .LCPI0_0] # ymm0 = [NaN,NaN,NaN,NaN]
- mov rcx, rax
- mov rdx, r13
- .LBB0_439: # =>This Inner Loop Header: Depth=1
- vmovupd ymmword ptr [rdx], ymm0
- add rdx, 32
- add rcx, -4
- jne .LBB0_439
- # %bb.440:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_441:
- lea rcx, [8*rax]
- add rcx, r13
- sub rsi, rax
- movabs rax, 9221120237041090560
- .LBB0_442: # =>This Inner Loop Header: Depth=1
- mov qword ptr [rcx], rax
- add rcx, 8
- add rsi, -1
- jne .LBB0_442
- jmp .LBB0_39
- .LBB0_443:
- lea rax, [8*rsi]
- add rax, r13
- lea rcx, [r15 + 8*rsi]
- lea rdx, [8*rsi]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_711
- # %bb.444:
- and cl, dl
- mov rsi, r9
- jne .LBB0_712
- # %bb.445:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- .LBB0_446: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [r15 + 8*rcx]
- vminpd ymm0, ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_446
- # %bb.447:
- cmp rsi, rax
- jne .LBB0_712
- jmp .LBB0_39
- .LBB0_448:
- lea rax, [8*rsi]
- add rax, r13
- lea rcx, [r15 + 8*rsi]
- lea rdx, [8*rsi]
- add rdx, rbp
- cmp r13, rcx
- setb sil
- cmp r15, rax
- setb bl
- cmp r13, rdx
- setb cl
- cmp rbp, rax
- setb dl
- xor eax, eax
- test sil, bl
- jne .LBB0_713
- # %bb.449:
- and cl, dl
- mov rsi, r9
- jne .LBB0_714
- # %bb.450:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- .LBB0_451: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [r15 + 8*rcx]
- vmaxpd ymm0, ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_451
- # %bb.452:
- cmp rsi, rax
- jne .LBB0_714
- jmp .LBB0_39
- .LBB0_453:
- lea rax, [r15 + 8*rsi]
- cmp r13, rax
- jae .LBB0_588
- # %bb.454:
- lea rax, [8*rsi]
- add rax, r13
- cmp r15, rax
- jae .LBB0_588
- # %bb.455:
- xor eax, eax
- jmp .LBB0_591
- .LBB0_456:
- lea rax, [r15 + 8*rsi]
- cmp r13, rax
- jae .LBB0_592
- # %bb.457:
- lea rax, [8*rsi]
- add rax, r13
- cmp r15, rax
- jae .LBB0_592
- # %bb.458:
- xor eax, eax
- jmp .LBB0_595
- .LBB0_459:
- lea rax, [r15 + 8*rsi]
- cmp r13, rax
- jae .LBB0_596
- # %bb.460:
- lea rax, [8*rsi]
- add rax, r13
- cmp r15, rax
- jae .LBB0_596
- # %bb.461:
- xor eax, eax
- jmp .LBB0_599
- .LBB0_462:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm0, qword ptr [rip + .LCPI0_0] # ymm0 = [NaN,NaN,NaN,NaN]
- mov rcx, rax
- mov rdx, r13
- .LBB0_463: # =>This Inner Loop Header: Depth=1
- vmovupd ymmword ptr [rdx], ymm0
- add rdx, 32
- add rcx, -4
- jne .LBB0_463
- # %bb.464:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_465:
- lea rcx, [8*rax]
- add rcx, r13
- sub rsi, rax
- movabs rax, 9221120237041090560
- .LBB0_466: # =>This Inner Loop Header: Depth=1
- mov qword ptr [rcx], rax
- add rcx, 8
- add rsi, -1
- jne .LBB0_466
- jmp .LBB0_39
- .LBB0_467:
- lea rax, [r15 + 8*rsi]
- cmp r13, rax
- jae .LBB0_600
- # %bb.468:
- lea rax, [8*rsi]
- add rax, r13
- cmp r15, rax
- jae .LBB0_600
- # %bb.469:
- xor eax, eax
- jmp .LBB0_603
- .LBB0_470:
- lea rax, [r15 + 8*rsi]
- cmp r13, rax
- jae .LBB0_604
- # %bb.471:
- lea rax, [8*rsi]
- add rax, r13
- cmp r15, rax
- jae .LBB0_604
- # %bb.472:
- xor eax, eax
- jmp .LBB0_607
- .LBB0_473:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_608
- # %bb.474:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_608
- # %bb.475:
- xor eax, eax
- jmp .LBB0_611
- .LBB0_476:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_612
- # %bb.477:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_612
- # %bb.478:
- xor eax, eax
- jmp .LBB0_615
- .LBB0_479:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_616
- # %bb.480:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_616
- # %bb.481:
- xor eax, eax
- jmp .LBB0_619
- .LBB0_482:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm0, qword ptr [rip + .LCPI0_0] # ymm0 = [NaN,NaN,NaN,NaN]
- mov rcx, rax
- mov rdx, r13
- .LBB0_483: # =>This Inner Loop Header: Depth=1
- vmovupd ymmword ptr [rdx], ymm0
- add rdx, 32
- add rcx, -4
- jne .LBB0_483
- # %bb.484:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_485:
- lea rcx, [8*rax]
- add rcx, r13
- sub rsi, rax
- movabs rax, 9221120237041090560
- .LBB0_486: # =>This Inner Loop Header: Depth=1
- mov qword ptr [rcx], rax
- add rcx, 8
- add rsi, -1
- jne .LBB0_486
- jmp .LBB0_39
- .LBB0_487:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_620
- # %bb.488:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_620
- # %bb.489:
- xor eax, eax
- jmp .LBB0_623
- .LBB0_490:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_624
- # %bb.491:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_624
- # %bb.492:
- xor eax, eax
- jmp .LBB0_627
- .LBB0_493:
- cmp rbx, 4
- jb .LBB0_494
- # %bb.628:
- lea rax, [r15 + 8*rbx]
- cmp r13, rax
- jae .LBB0_715
- # %bb.629:
- lea rax, [8*rbx]
- add rax, r13
- cmp r15, rax
- jae .LBB0_715
- .LBB0_494:
- xor eax, eax
- .LBB0_718:
- movabs rcx, -9223372036854775808
- lea rdx, [rcx - 1]
- lea rsi, [rcx + 1]
- .LBB0_719: # =>This Inner Loop Header: Depth=1
- cmp qword ptr [r15 + 8*rax], 0
- mov rdi, rsi
- cmovg rdi, rdx
- cmove rdi, rcx
- mov qword ptr [r13 + 8*rax], rdi
- add rax, 1
- cmp rbx, rax
- jne .LBB0_719
- jmp .LBB0_39
- .LBB0_495:
- cmp rbx, 4
- jae .LBB0_631
- # %bb.496:
- xor ecx, ecx
- jmp .LBB0_723
- .LBB0_497:
- test rcx, rcx
- je .LBB0_679
- # %bb.498:
- neg rcx
- xor esi, esi
- .LBB0_499: # =>This Inner Loop Header: Depth=1
- mov rax, qword ptr [rbp + 8*rsi]
- mov rdx, rax
- or rdx, rcx
- shr rdx, 32
- je .LBB0_501
- # %bb.500: # in Loop: Header=BB0_499 Depth=1
- cqo
- idiv rcx
- jmp .LBB0_502
- .LBB0_501: # in Loop: Header=BB0_499 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div ecx
- # kill: def %eax killed %eax def %rax
- .LBB0_502: # in Loop: Header=BB0_499 Depth=1
- mov qword ptr [r13 + 8*rsi], rax
- add rsi, 1
- cmp rbx, rsi
- jne .LBB0_499
- jmp .LBB0_39
- .LBB0_503:
- cmp rsi, 4
- jb .LBB0_504
- # %bb.634:
- lea rax, [r15 + 8*rsi]
- cmp r13, rax
- jae .LBB0_724
- # %bb.635:
- lea rax, [8*rsi]
- add rax, r13
- cmp r15, rax
- jae .LBB0_724
- .LBB0_504:
- xor eax, eax
- .LBB0_727:
- vxorpd xmm0, xmm0, xmm0
- vmovsd xmm1, qword ptr [rip + .LCPI0_0] # xmm1 = mem[0],zero
- .LBB0_728: # =>This Inner Loop Header: Depth=1
- vmovsd xmm2, qword ptr [r15 + 8*rax] # xmm2 = mem[0],zero
- xor ecx, ecx
- vucomisd xmm2, xmm0
- seta cl
- vmovsd xmm3, qword ptr [8*rcx + .LCPI0_1] # xmm3 = mem[0],zero
- vcmpneqsd xmm2, xmm2, xmm0
- vandpd xmm3, xmm2, xmm3
- vandnpd xmm2, xmm2, xmm1
- vorpd xmm2, xmm2, xmm3
- vmovsd qword ptr [r13 + 8*rax], xmm2
- add rax, 1
- cmp rsi, rax
- jne .LBB0_728
- jmp .LBB0_39
- .LBB0_505:
- cmp rsi, 4
- jb .LBB0_506
- # %bb.637:
- lea rax, [8*rsi]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_729
- # %bb.638:
- lea rax, [8*rsi]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_729
- .LBB0_506:
- xor eax, eax
- .LBB0_732:
- vmovsd xmm1, qword ptr [rip + .LCPI0_0] # xmm1 = mem[0],zero
- vxorpd xmm2, xmm2, xmm2
- .LBB0_733: # =>This Inner Loop Header: Depth=1
- vmovsd xmm4, qword ptr [rbp + 8*rax] # xmm4 = mem[0],zero
- vucomisd xmm4, xmm2
- vmovapd xmm3, xmm1
- jne .LBB0_734
- jnp .LBB0_735
- .LBB0_734: # in Loop: Header=BB0_733 Depth=1
- vdivsd xmm3, xmm0, xmm4
- .LBB0_735: # in Loop: Header=BB0_733 Depth=1
- vmovsd qword ptr [r13 + 8*rax], xmm3
- add rax, 1
- cmp rsi, rax
- jne .LBB0_733
- jmp .LBB0_39
- .LBB0_507:
- lea rax, [8*rbx]
- add rax, rbp
- cmp r13, rax
- jae .LBB0_640
- # %bb.508:
- lea rax, [8*rbx]
- add rax, r13
- cmp rbp, rax
- jae .LBB0_640
- # %bb.509:
- xor edi, edi
- mov rsi, qword ptr [rbp + 8*rdi]
- mov rax, r8
- test rsi, rsi
- jne .LBB0_664
- jmp .LBB0_667
- .LBB0_510:
- lea rax, [r15 + 8*rsi]
- cmp r13, rax
- jae .LBB0_668
- # %bb.511:
- lea rax, [8*rsi]
- add rax, r13
- cmp r15, rax
- jae .LBB0_668
- # %bb.512:
- xor eax, eax
- jmp .LBB0_671
- .LBB0_516:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_517: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_517
- jmp .LBB0_741
- .LBB0_530:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_531: # =>This Inner Loop Header: Depth=1
- vpaddq ymm1, ymm0, ymmword ptr [r15 + 8*rdx]
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_531
- jmp .LBB0_759
- .LBB0_532:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_533: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm1, ymmword ptr [r15 + 8*rdx]
- vpsubq ymm1, ymm1, ymm0
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_533
- jmp .LBB0_761
- .LBB0_534:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- vpsrlq ymm1, ymm0, 32
- .LBB0_535: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm2, ymmword ptr [r15 + 8*rdx]
- vpmuludq ymm3, ymm2, ymm1
- vpsrlq ymm4, ymm2, 32
- vpmuludq ymm4, ymm4, ymm0
- vpaddq ymm3, ymm3, ymm4
- vpsllq ymm3, ymm3, 32
- vpmuludq ymm2, ymm2, ymm0
- vpaddq ymm2, ymm2, ymm3
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm2
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_535
- jmp .LBB0_763
- .LBB0_518:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- .LBB0_519: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_519
- # %bb.520:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_521: # =>This Inner Loop Header: Depth=1
- mov rcx, qword ptr [rbp + 8*rax]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_521
- jmp .LBB0_39
- .LBB0_522:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- .LBB0_523: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_523
- # %bb.524:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_525: # =>This Inner Loop Header: Depth=1
- mov rcx, qword ptr [rbp + 8*rax]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_525
- jmp .LBB0_39
- .LBB0_526:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- .LBB0_527: # =>This Inner Loop Header: Depth=1
- vmovupd ymm0, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm0
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_527
- # %bb.528:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_529: # =>This Inner Loop Header: Depth=1
- mov rcx, qword ptr [rbp + 8*rax]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- cmp rsi, rax
- jne .LBB0_529
- jmp .LBB0_39
- .LBB0_536:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_537: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm1, ymmword ptr [r15 + 8*rdx]
- vpcmpgtq ymm2, ymm0, ymm1
- vblendvpd ymm1, ymm0, ymm1, ymm2
- vmovupd ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_537
- # %bb.538:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_539: # =>This Inner Loop Header: Depth=1
- mov rdx, qword ptr [r15 + 8*rax]
- cmp rdx, rcx
- cmovg rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_539
- jmp .LBB0_39
- .LBB0_540:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_541: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm1, ymmword ptr [r15 + 8*rdx]
- vpcmpgtq ymm2, ymm1, ymm0
- vblendvpd ymm1, ymm0, ymm1, ymm2
- vmovupd ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_541
- # %bb.542:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_543: # =>This Inner Loop Header: Depth=1
- mov rdx, qword ptr [r15 + 8*rax]
- cmp rdx, rcx
- cmovl rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_543
- jmp .LBB0_39
- .LBB0_544:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_545: # =>This Inner Loop Header: Depth=1
- vpcmpgtq ymm1, ymm0, ymmword ptr [r15 + 8*rdx]
- vpsrlq ymm1, ymm1, 63
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_545
- # %bb.546:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_547: # =>This Inner Loop Header: Depth=1
- xor edx, edx
- cmp qword ptr [r15 + 8*rax], rcx
- setl dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_547
- jmp .LBB0_39
- .LBB0_548:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_549: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm1, ymmword ptr [r15 + 8*rdx]
- vpcmpgtq ymm1, ymm1, ymm0
- vpsrlq ymm1, ymm1, 63
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_549
- # %bb.550:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_551: # =>This Inner Loop Header: Depth=1
- xor edx, edx
- cmp qword ptr [r15 + 8*rax], rcx
- setg dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_551
- jmp .LBB0_39
- .LBB0_552:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_553: # =>This Inner Loop Header: Depth=1
- vpcmpeqq ymm1, ymm0, ymmword ptr [r15 + 8*rdx]
- vpsrlq ymm1, ymm1, 63
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_553
- # %bb.554:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_555: # =>This Inner Loop Header: Depth=1
- xor edx, edx
- cmp qword ptr [r15 + 8*rax], rcx
- sete dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_555
- jmp .LBB0_39
- .LBB0_556:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_557: # =>This Inner Loop Header: Depth=1
- vpaddq ymm1, ymm0, ymmword ptr [rbp + 8*rdx]
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_557
- # %bb.558:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_559: # =>This Inner Loop Header: Depth=1
- mov rdx, qword ptr [rbp + 8*rax]
- add rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_559
- jmp .LBB0_39
- .LBB0_560:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_561: # =>This Inner Loop Header: Depth=1
- vpsubq ymm1, ymm0, ymmword ptr [rbp + 8*rdx]
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_561
- # %bb.562:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_563: # =>This Inner Loop Header: Depth=1
- mov rdx, rcx
- sub rdx, qword ptr [rbp + 8*rax]
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_563
- jmp .LBB0_39
- .LBB0_564:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- vpsrlq ymm1, ymm0, 32
- .LBB0_565: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm2, ymmword ptr [rbp + 8*rdx]
- vpmuludq ymm3, ymm2, ymm1
- vpsrlq ymm4, ymm2, 32
- vpmuludq ymm4, ymm4, ymm0
- vpaddq ymm3, ymm3, ymm4
- vpsllq ymm3, ymm3, 32
- vpmuludq ymm2, ymm2, ymm0
- vpaddq ymm2, ymm2, ymm3
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm2
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_565
- # %bb.566:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_567: # =>This Inner Loop Header: Depth=1
- mov rdx, qword ptr [rbp + 8*rax]
- imul rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_567
- jmp .LBB0_39
- .LBB0_568:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_569: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm1, ymmword ptr [rbp + 8*rdx]
- vpcmpgtq ymm2, ymm1, ymm0
- vblendvpd ymm1, ymm1, ymm0, ymm2
- vmovupd ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_569
- # %bb.570:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_571: # =>This Inner Loop Header: Depth=1
- mov rdx, qword ptr [rbp + 8*rax]
- cmp rcx, rdx
- cmovle rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_571
- jmp .LBB0_39
- .LBB0_572:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_573: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm1, ymmword ptr [rbp + 8*rdx]
- vpcmpgtq ymm2, ymm0, ymm1
- vblendvpd ymm1, ymm1, ymm0, ymm2
- vmovupd ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_573
- # %bb.574:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_575: # =>This Inner Loop Header: Depth=1
- mov rdx, qword ptr [rbp + 8*rax]
- cmp rcx, rdx
- cmovge rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_575
- jmp .LBB0_39
- .LBB0_576:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_577: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm1, ymmword ptr [rbp + 8*rdx]
- vpcmpgtq ymm1, ymm1, ymm0
- vpsrlq ymm1, ymm1, 63
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_577
- # %bb.578:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_579: # =>This Inner Loop Header: Depth=1
- xor edx, edx
- cmp rcx, qword ptr [rbp + 8*rax]
- setl dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_579
- jmp .LBB0_39
- .LBB0_580:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_581: # =>This Inner Loop Header: Depth=1
- vpcmpgtq ymm1, ymm0, ymmword ptr [rbp + 8*rdx]
- vpsrlq ymm1, ymm1, 63
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_581
- # %bb.582:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_583: # =>This Inner Loop Header: Depth=1
- xor edx, edx
- cmp rcx, qword ptr [rbp + 8*rax]
- setg dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_583
- jmp .LBB0_39
- .LBB0_584:
- mov rax, rbx
- and rax, -4
- vmovq xmm0, rcx
- vpbroadcastq ymm0, xmm0
- xor edx, edx
- .LBB0_585: # =>This Inner Loop Header: Depth=1
- vpcmpeqq ymm1, ymm0, ymmword ptr [rbp + 8*rdx]
- vpsrlq ymm1, ymm1, 63
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm1
- add rdx, 4
- cmp rax, rdx
- jne .LBB0_585
- # %bb.586:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_587: # =>This Inner Loop Header: Depth=1
- xor edx, edx
- cmp rcx, qword ptr [rbp + 8*rax]
- sete dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- cmp rbx, rax
- jne .LBB0_587
- jmp .LBB0_39
- .LBB0_588:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_589: # =>This Inner Loop Header: Depth=1
- vaddpd ymm2, ymm1, ymmword ptr [r15 + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_589
- # %bb.590:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_591: # =>This Inner Loop Header: Depth=1
- vaddsd xmm1, xmm0, qword ptr [r15 + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_591
- jmp .LBB0_39
- .LBB0_592:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_593: # =>This Inner Loop Header: Depth=1
- vmovupd ymm2, ymmword ptr [r15 + 8*rcx]
- vsubpd ymm2, ymm2, ymm1
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_593
- # %bb.594:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_595: # =>This Inner Loop Header: Depth=1
- vmovsd xmm1, qword ptr [r15 + 8*rax] # xmm1 = mem[0],zero
- vsubsd xmm1, xmm1, xmm0
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_595
- jmp .LBB0_39
- .LBB0_596:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_597: # =>This Inner Loop Header: Depth=1
- vmulpd ymm2, ymm1, ymmword ptr [r15 + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_597
- # %bb.598:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_599: # =>This Inner Loop Header: Depth=1
- vmulsd xmm1, xmm0, qword ptr [r15 + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_599
- jmp .LBB0_39
- .LBB0_600:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_601: # =>This Inner Loop Header: Depth=1
- vmovupd ymm2, ymmword ptr [r15 + 8*rcx]
- vminpd ymm2, ymm2, ymm1
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_601
- # %bb.602:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_603: # =>This Inner Loop Header: Depth=1
- vmovsd xmm1, qword ptr [r15 + 8*rax] # xmm1 = mem[0],zero
- vminsd xmm1, xmm1, xmm0
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_603
- jmp .LBB0_39
- .LBB0_604:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_605: # =>This Inner Loop Header: Depth=1
- vmovupd ymm2, ymmword ptr [r15 + 8*rcx]
- vmaxpd ymm2, ymm2, ymm1
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_605
- # %bb.606:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_607: # =>This Inner Loop Header: Depth=1
- vmovsd xmm1, qword ptr [r15 + 8*rax] # xmm1 = mem[0],zero
- vmaxsd xmm1, xmm1, xmm0
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_607
- jmp .LBB0_39
- .LBB0_608:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_609: # =>This Inner Loop Header: Depth=1
- vaddpd ymm2, ymm1, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_609
- # %bb.610:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_611: # =>This Inner Loop Header: Depth=1
- vaddsd xmm1, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_611
- jmp .LBB0_39
- .LBB0_612:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_613: # =>This Inner Loop Header: Depth=1
- vsubpd ymm2, ymm1, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_613
- # %bb.614:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_615: # =>This Inner Loop Header: Depth=1
- vsubsd xmm1, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_615
- jmp .LBB0_39
- .LBB0_616:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_617: # =>This Inner Loop Header: Depth=1
- vmulpd ymm2, ymm1, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_617
- # %bb.618:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_619: # =>This Inner Loop Header: Depth=1
- vmulsd xmm1, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_619
- jmp .LBB0_39
- .LBB0_620:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_621: # =>This Inner Loop Header: Depth=1
- vminpd ymm2, ymm1, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_621
- # %bb.622:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_623: # =>This Inner Loop Header: Depth=1
- vminsd xmm1, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_623
- jmp .LBB0_39
- .LBB0_624:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_625: # =>This Inner Loop Header: Depth=1
- vmaxpd ymm2, ymm1, ymmword ptr [rbp + 8*rcx]
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_625
- # %bb.626:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_627: # =>This Inner Loop Header: Depth=1
- vmaxsd xmm1, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_627
- jmp .LBB0_39
- .LBB0_631:
- lea rcx, [8*rbx]
- add rcx, rbp
- cmp r13, rcx
- jae .LBB0_720
- # %bb.632:
- lea rcx, [8*rbx]
- add rcx, r13
- cmp rbp, rcx
- jae .LBB0_720
- # %bb.633:
- xor ecx, ecx
- jmp .LBB0_723
- .LBB0_672:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm2, xmm0
- vbroadcastsd ymm3, xmm1
- xor ecx, ecx
- vxorpd xmm4, xmm4, xmm4
- .LBB0_673: # =>This Inner Loop Header: Depth=1
- vmovupd ymm5, ymmword ptr [rbp + 8*rcx]
- vcmpneqpd ymm6, ymm5, ymm4
- vdivpd ymm5, ymm2, ymm5
- vblendvpd ymm5, ymm3, ymm5, ymm6
- vmovupd ymmword ptr [r13 + 8*rcx], ymm5
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_673
- # %bb.674:
- cmp rsi, rax
- je .LBB0_39
- jmp .LBB0_675
- .LBB0_640:
- mov rdi, rbx
- and rdi, -4
- vmovq xmm0, r8
- vpbroadcastq ymm0, xmm0
- xor esi, esi
- vpxor xmm1, xmm1, xmm1
- vpcmpeqd ymm2, ymm2, ymm2
- .LBB0_641: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm4, ymmword ptr [rbp + 8*rsi]
- vpcmpeqq ymm3, ymm4, ymm1
- vpxor ymm5, ymm3, ymm2
- vextracti128 xmm6, ymm5, 1
- vpackssdw xmm6, xmm5, xmm6
- vpextrb eax, xmm5, 0
- # implicit-def: %ymm5
- test al, 1
- je .LBB0_642
- # %bb.645: # in Loop: Header=BB0_641 Depth=1
- vmovq rbx, xmm4
- mov rax, rcx
- or rax, rbx
- shr rax, 32
- je .LBB0_647
- # %bb.646: # in Loop: Header=BB0_641 Depth=1
- mov rax, rcx
- cqo
- idiv rbx
- jmp .LBB0_648
- .LBB0_642: # in Loop: Header=BB0_641 Depth=1
- vpextrb eax, xmm6, 4
- test al, 1
- je .LBB0_643
- .LBB0_649: # in Loop: Header=BB0_641 Depth=1
- vpextrq rbx, xmm4, 1
- mov rax, rcx
- or rax, rbx
- shr rax, 32
- je .LBB0_651
- # %bb.650: # in Loop: Header=BB0_641 Depth=1
- mov rax, rcx
- cqo
- idiv rbx
- jmp .LBB0_652
- .LBB0_647: # in Loop: Header=BB0_641 Depth=1
- xor edx, edx
- mov eax, ecx
- div ebx
- # kill: def %eax killed %eax def %rax
- .LBB0_648: # in Loop: Header=BB0_641 Depth=1
- vmovq xmm5, rax
- mov rbx, r9
- vpextrb eax, xmm6, 4
- test al, 1
- jne .LBB0_649
- .LBB0_643: # in Loop: Header=BB0_641 Depth=1
- vpextrb eax, xmm6, 8
- test al, 1
- je .LBB0_644
- .LBB0_653: # in Loop: Header=BB0_641 Depth=1
- vextracti128 xmm7, ymm4, 1
- vmovq rbx, xmm7
- mov rax, rcx
- or rax, rbx
- shr rax, 32
- je .LBB0_655
- # %bb.654: # in Loop: Header=BB0_641 Depth=1
- mov rax, rcx
- cqo
- idiv rbx
- jmp .LBB0_656
- .LBB0_651: # in Loop: Header=BB0_641 Depth=1
- xor edx, edx
- mov eax, ecx
- div ebx
- # kill: def %eax killed %eax def %rax
- .LBB0_652: # in Loop: Header=BB0_641 Depth=1
- vpinsrq xmm7, xmm5, rax, 1
- vpblendd ymm5, ymm5, ymm7, 15 # ymm5 = ymm7[0,1,2,3],ymm5[4,5,6,7]
- mov rbx, r9
- vpextrb eax, xmm6, 8
- test al, 1
- jne .LBB0_653
- .LBB0_644: # in Loop: Header=BB0_641 Depth=1
- vpextrb eax, xmm6, 12
- test al, 1
- jne .LBB0_657
- jmp .LBB0_661
- .LBB0_655: # in Loop: Header=BB0_641 Depth=1
- xor edx, edx
- mov eax, ecx
- div ebx
- # kill: def %eax killed %eax def %rax
- .LBB0_656: # in Loop: Header=BB0_641 Depth=1
- vextracti128 xmm7, ymm5, 1
- vpinsrq xmm7, xmm7, rax, 0
- vinserti128 ymm5, ymm5, xmm7, 1
- mov rbx, r9
- vpextrb eax, xmm6, 12
- test al, 1
- je .LBB0_661
- .LBB0_657: # in Loop: Header=BB0_641 Depth=1
- vextracti128 xmm4, ymm4, 1
- vpextrq rbx, xmm4, 1
- mov rax, rcx
- or rax, rbx
- shr rax, 32
- je .LBB0_659
- # %bb.658: # in Loop: Header=BB0_641 Depth=1
- mov rax, rcx
- cqo
- idiv rbx
- jmp .LBB0_660
- .LBB0_659: # in Loop: Header=BB0_641 Depth=1
- xor edx, edx
- mov eax, ecx
- div ebx
- # kill: def %eax killed %eax def %rax
- .LBB0_660: # in Loop: Header=BB0_641 Depth=1
- vextracti128 xmm4, ymm5, 1
- vpinsrq xmm4, xmm4, rax, 1
- vinserti128 ymm5, ymm5, xmm4, 1
- mov rbx, r9
- .LBB0_661: # in Loop: Header=BB0_641 Depth=1
- vblendvpd ymm3, ymm5, ymm0, ymm3
- vmovupd ymmword ptr [r13 + 8*rsi], ymm3
- add rsi, 4
- cmp rdi, rsi
- jne .LBB0_641
- # %bb.662:
- cmp rbx, rdi
- je .LBB0_39
- .LBB0_663:
- mov rsi, qword ptr [rbp + 8*rdi]
- mov rax, r8
- test rsi, rsi
- je .LBB0_667
- .LBB0_664:
- mov rax, rcx
- or rax, rsi
- shr rax, 32
- je .LBB0_666
- # %bb.665:
- mov rax, rcx
- cqo
- idiv rsi
- jmp .LBB0_667
- .LBB0_666:
- xor edx, edx
- mov eax, ecx
- div esi
- # kill: def %eax killed %eax def %rax
- .LBB0_667:
- mov qword ptr [r13 + 8*rdi], rax
- add rdi, 1
- cmp rbx, rdi
- jne .LBB0_663
- jmp .LBB0_39
- .LBB0_668:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- .LBB0_669: # =>This Inner Loop Header: Depth=1
- vmovupd ymm2, ymmword ptr [r15 + 8*rcx]
- vdivpd ymm2, ymm2, ymm1
- vmovupd ymmword ptr [r13 + 8*rcx], ymm2
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_669
- # %bb.670:
- cmp rsi, rax
- je .LBB0_39
- .LBB0_671: # =>This Inner Loop Header: Depth=1
- vmovsd xmm1, qword ptr [r15 + 8*rax] # xmm1 = mem[0],zero
- vdivsd xmm1, xmm1, xmm0
- vmovsd qword ptr [r13 + 8*rax], xmm1
- add rax, 1
- cmp rsi, rax
- jne .LBB0_671
- jmp .LBB0_39
- .LBB0_679:
- cmp rbx, 4
- jae .LBB0_736
- # %bb.680:
- xor eax, eax
- jmp .LBB0_739
- .LBB0_681:
- mov rbx, r9
- jmp .LBB0_744
- .LBB0_682:
- mov rbx, r9
- jmp .LBB0_746
- .LBB0_683:
- mov rbx, r9
- jmp .LBB0_748
- .LBB0_684:
- mov rbx, r9
- .LBB0_685:
- movabs r8, -9223372036854775808
- lea r9, [r8 - 1]
- lea rdi, [r8 + 1]
- .LBB0_686: # =>This Inner Loop Header: Depth=1
- mov rax, qword ptr [r15 + 8*rsi]
- mov rcx, qword ptr [rbp + 8*rsi]
- test rcx, rcx
- je .LBB0_689
- # %bb.687: # in Loop: Header=BB0_686 Depth=1
- mov rdx, rax
- or rdx, rcx
- shr rdx, 32
- je .LBB0_691
- # %bb.688: # in Loop: Header=BB0_686 Depth=1
- cqo
- idiv rcx
- mov rcx, rax
- jmp .LBB0_692
- .LBB0_689: # in Loop: Header=BB0_686 Depth=1
- mov rcx, r8
- test rax, rax
- je .LBB0_692
- # %bb.690: # in Loop: Header=BB0_686 Depth=1
- mov rcx, rdi
- cmovg rcx, r9
- jmp .LBB0_692
- .LBB0_691: # in Loop: Header=BB0_686 Depth=1
- xor edx, edx
- # kill: def %eax killed %eax killed %rax
- div ecx
- mov ecx, eax
- .LBB0_692: # in Loop: Header=BB0_686 Depth=1
- mov qword ptr [r13 + 8*rsi], rcx
- add rsi, 1
- cmp rbx, rsi
- jne .LBB0_686
- jmp .LBB0_39
- .LBB0_693:
- mov rbx, r9
- jmp .LBB0_750
- .LBB0_694:
- mov rbx, r9
- jmp .LBB0_752
- .LBB0_695:
- mov rbx, r9
- jmp .LBB0_754
- .LBB0_696:
- mov rbx, r9
- jmp .LBB0_756
- .LBB0_697:
- mov rbx, r9
- jmp .LBB0_758
- .LBB0_698:
- mov rsi, r9
- .LBB0_699: # =>This Inner Loop Header: Depth=1
- vmovsd xmm0, qword ptr [r15 + 8*rax] # xmm0 = mem[0],zero
- vaddsd xmm0, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm0
- add rax, 1
- cmp rsi, rax
- jne .LBB0_699
- jmp .LBB0_39
- .LBB0_700:
- mov rsi, r9
- .LBB0_701: # =>This Inner Loop Header: Depth=1
- vmovsd xmm0, qword ptr [r15 + 8*rax] # xmm0 = mem[0],zero
- vsubsd xmm0, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm0
- add rax, 1
- cmp rsi, rax
- jne .LBB0_701
- jmp .LBB0_39
- .LBB0_702:
- mov rsi, r9
- .LBB0_703: # =>This Inner Loop Header: Depth=1
- vmovsd xmm0, qword ptr [r15 + 8*rax] # xmm0 = mem[0],zero
- vmulsd xmm0, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm0
- add rax, 1
- cmp rsi, rax
- jne .LBB0_703
- jmp .LBB0_39
- .LBB0_704:
- mov rsi, r9
- .LBB0_705:
- vxorpd xmm0, xmm0, xmm0
- vmovsd xmm1, qword ptr [rip + .LCPI0_0] # xmm1 = mem[0],zero
- .LBB0_706: # =>This Inner Loop Header: Depth=1
- vmovsd xmm2, qword ptr [r15 + 8*rax] # xmm2 = mem[0],zero
- vmovsd xmm3, qword ptr [rbp + 8*rax] # xmm3 = mem[0],zero
- vucomisd xmm3, xmm0
- jne .LBB0_707
- jnp .LBB0_708
- .LBB0_707: # in Loop: Header=BB0_706 Depth=1
- vdivsd xmm2, xmm2, xmm3
- jmp .LBB0_710
- .LBB0_708: # in Loop: Header=BB0_706 Depth=1
- vucomisd xmm2, xmm0
- vmovapd xmm2, xmm1
- jne .LBB0_709
- jnp .LBB0_710
- .LBB0_709: # in Loop: Header=BB0_706 Depth=1
- seta cl
- movzx ecx, cl
- vmovsd xmm2, qword ptr [8*rcx + .LCPI0_1] # xmm2 = mem[0],zero
- .LBB0_710: # in Loop: Header=BB0_706 Depth=1
- vmovsd qword ptr [r13 + 8*rax], xmm2
- add rax, 1
- cmp rsi, rax
- jne .LBB0_706
- jmp .LBB0_39
- .LBB0_711:
- mov rsi, r9
- .LBB0_712: # =>This Inner Loop Header: Depth=1
- vmovsd xmm0, qword ptr [r15 + 8*rax] # xmm0 = mem[0],zero
- vminsd xmm0, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm0
- add rax, 1
- cmp rsi, rax
- jne .LBB0_712
- jmp .LBB0_39
- .LBB0_713:
- mov rsi, r9
- .LBB0_714: # =>This Inner Loop Header: Depth=1
- vmovsd xmm0, qword ptr [r15 + 8*rax] # xmm0 = mem[0],zero
- vmaxsd xmm0, xmm0, qword ptr [rbp + 8*rax]
- vmovsd qword ptr [r13 + 8*rax], xmm0
- add rax, 1
- cmp rsi, rax
- jne .LBB0_714
- jmp .LBB0_39
- .LBB0_715:
- mov rax, rbx
- and rax, -4
- xor ecx, ecx
- vpxor xmm0, xmm0, xmm0
- vbroadcastsd ymm1, qword ptr [rip + .LCPI0_5] # ymm1 = [9223372036854775807,9223372036854775807,9223372036854775807,9223372036854775807]
- vbroadcastsd ymm2, qword ptr [rip + .LCPI0_6] # ymm2 = [9223372036854775809,9223372036854775809,9223372036854775809,9223372036854775809]
- vbroadcastsd ymm3, qword ptr [rip + .LCPI0_4] # ymm3 = [9223372036854775808,9223372036854775808,9223372036854775808,9223372036854775808]
- .LBB0_716: # =>This Inner Loop Header: Depth=1
- vmovdqu ymm4, ymmword ptr [r15 + 8*rcx]
- vpcmpeqq ymm5, ymm4, ymm0
- vpcmpgtq ymm4, ymm4, ymm0
- vblendvpd ymm4, ymm2, ymm1, ymm4
- vblendvpd ymm4, ymm4, ymm3, ymm5
- vmovupd ymmword ptr [r13 + 8*rcx], ymm4
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_716
- # %bb.717:
- mov rbx, r9
- cmp rbx, rax
- je .LBB0_39
- jmp .LBB0_718
- .LBB0_724:
- mov rax, rsi
- and rax, -4
- xor ecx, ecx
- vxorpd xmm0, xmm0, xmm0
- vbroadcastsd ymm1, qword ptr [rip + .LCPI0_2] # ymm1 = [+Inf,+Inf,+Inf,+Inf]
- vbroadcastsd ymm2, qword ptr [rip + .LCPI0_3] # ymm2 = [-Inf,-Inf,-Inf,-Inf]
- vbroadcastsd ymm3, qword ptr [rip + .LCPI0_0] # ymm3 = [NaN,NaN,NaN,NaN]
- .LBB0_725: # =>This Inner Loop Header: Depth=1
- vmovupd ymm4, ymmword ptr [r15 + 8*rcx]
- vcmpneqpd ymm5, ymm4, ymm0
- vcmpltpd ymm4, ymm0, ymm4
- vblendvpd ymm4, ymm2, ymm1, ymm4
- vblendvpd ymm4, ymm3, ymm4, ymm5
- vmovupd ymmword ptr [r13 + 8*rcx], ymm4
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_725
- # %bb.726:
- mov rsi, r9
- cmp rsi, rax
- je .LBB0_39
- jmp .LBB0_727
- .LBB0_729:
- mov rax, rsi
- and rax, -4
- vbroadcastsd ymm1, xmm0
- xor ecx, ecx
- vxorpd xmm2, xmm2, xmm2
- vbroadcastsd ymm3, qword ptr [rip + .LCPI0_0] # ymm3 = [NaN,NaN,NaN,NaN]
- .LBB0_730: # =>This Inner Loop Header: Depth=1
- vmovupd ymm4, ymmword ptr [rbp + 8*rcx]
- vcmpneqpd ymm5, ymm4, ymm2
- vdivpd ymm4, ymm1, ymm4
- vblendvpd ymm4, ymm3, ymm4, ymm5
- vmovupd ymmword ptr [r13 + 8*rcx], ymm4
- add rcx, 4
- cmp rax, rcx
- jne .LBB0_730
- # %bb.731:
- mov rsi, r9
- cmp rsi, rax
- je .LBB0_39
- jmp .LBB0_732
- .LBB0_720:
- mov rcx, rbx
- and rcx, -4
- xor edx, edx
- vpxor xmm0, xmm0, xmm0
- vpbroadcastq ymm1, qword ptr [rip + .LCPI0_4] # ymm1 = [9223372036854775808,9223372036854775808,9223372036854775808,9223372036854775808]
- .LBB0_721: # =>This Inner Loop Header: Depth=1
- vpcmpeqq ymm2, ymm0, ymmword ptr [rbp + 8*rdx]
- vpand ymm2, ymm2, ymm1
- vmovdqu ymmword ptr [r13 + 8*rdx], ymm2
- add rdx, 4
- cmp rcx, rdx
- jne .LBB0_721
- # %bb.722:
- mov rbx, r9
- cmp rbx, rcx
- je .LBB0_39
- .LBB0_723: # =>This Inner Loop Header: Depth=1
- cmp qword ptr [rbp + 8*rcx], 0
- mov edx, 0
- cmove rdx, rax
- mov qword ptr [r13 + 8*rcx], rdx
- add rcx, 1
- cmp rbx, rcx
- jne .LBB0_723
- jmp .LBB0_39
- .LBB0_736:
- mov rax, rbx
- and rax, -4
- vbroadcastsd ymm0, qword ptr [rip + .LCPI0_4] # ymm0 = [9223372036854775808,9223372036854775808,9223372036854775808,9223372036854775808]
- mov rcx, rax
- mov rdx, r13
- .LBB0_737: # =>This Inner Loop Header: Depth=1
- vmovupd ymmword ptr [rdx], ymm0
- add rdx, 32
- add rcx, -4
- jne .LBB0_737
- # %bb.738:
- mov rbx, r9
- cmp rbx, rax
- je .LBB0_39
- .LBB0_739:
- movabs rcx, -9223372036854775808
- sub rbx, rax
- lea rax, [8*rax]
- add rax, r13
- .LBB0_740: # =>This Inner Loop Header: Depth=1
- mov qword ptr [rax], rcx
- add rax, 8
- add rbx, -1
- jne .LBB0_740
- jmp .LBB0_39
- .LBB0_742:
- mov rcx, qword ptr [rbp + 8*rax]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- .LBB0_741:
- cmp rbx, rax
- jne .LBB0_742
- jmp .LBB0_39
- .LBB0_760:
- mov rdx, qword ptr [r15 + 8*rax]
- add rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- .LBB0_759:
- cmp rbx, rax
- jne .LBB0_760
- jmp .LBB0_39
- .LBB0_762:
- mov rdx, qword ptr [r15 + 8*rax]
- sub rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- .LBB0_761:
- cmp rbx, rax
- jne .LBB0_762
- jmp .LBB0_39
- .LBB0_764:
- mov rdx, qword ptr [r15 + 8*rax]
- imul rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- .LBB0_763:
- cmp rbx, rax
- jne .LBB0_764
- jmp .LBB0_39
- .LBB0_743:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_744:
- mov rcx, qword ptr [rbp + 8*rax]
- add rcx, qword ptr [r15 + 8*rax]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- jmp .LBB0_743
- .LBB0_745:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_746:
- mov rcx, qword ptr [r15 + 8*rax]
- sub rcx, qword ptr [rbp + 8*rax]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- jmp .LBB0_745
- .LBB0_747:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_748:
- mov rcx, qword ptr [rbp + 8*rax]
- imul rcx, qword ptr [r15 + 8*rax]
- mov qword ptr [r13 + 8*rax], rcx
- add rax, 1
- jmp .LBB0_747
- .LBB0_749:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_750:
- mov rcx, qword ptr [r15 + 8*rax]
- mov rdx, qword ptr [rbp + 8*rax]
- cmp rcx, rdx
- cmovle rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- jmp .LBB0_749
- .LBB0_751:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_752:
- mov rcx, qword ptr [r15 + 8*rax]
- mov rdx, qword ptr [rbp + 8*rax]
- cmp rcx, rdx
- cmovge rdx, rcx
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- jmp .LBB0_751
- .LBB0_753:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_754:
- mov rcx, qword ptr [r15 + 8*rax]
- xor edx, edx
- cmp rcx, qword ptr [rbp + 8*rax]
- setl dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- jmp .LBB0_753
- .LBB0_755:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_756:
- mov rcx, qword ptr [r15 + 8*rax]
- xor edx, edx
- cmp rcx, qword ptr [rbp + 8*rax]
- setg dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- jmp .LBB0_755
- .LBB0_757:
- cmp rbx, rax
- je .LBB0_39
- .LBB0_758:
- mov rcx, qword ptr [r15 + 8*rax]
- xor edx, edx
- cmp rcx, qword ptr [rbp + 8*rax]
- sete dl
- mov qword ptr [r13 + 8*rax], rdx
- add rax, 1
- jmp .LBB0_757
- .Lfunc_end0:
- .size pen2, .Lfunc_end0-pen2
Advertisement
Add Comment
Please, Sign In to add comment