Created
October 30, 2014 19:21
-
-
Save Mischa-Alff/9efa98f768df4682ea2c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
asm_raw_noise_3d: | |
%line 80+1 ../src/util/asmnoise.asm | |
unpcklps xmm0,xmm1 | |
addss xmm1,xmm0 | |
addss xmm1,xmm2 | |
movlhps xmm0,xmm2 | |
mulss xmm1,[F3] | |
shufps xmm1,xmm1,0 | |
addps xmm1,xmm0 | |
roundps xmm1,xmm1,1 | |
pshufd xmm2,xmm1,1 | |
movhlps xmm3,xmm1 | |
addss xmm2,xmm1 | |
movss xmm6,[G3] | |
%line 95+0 ../src/util/asmnoise.asm | |
shufps xmm6,xmm6,0 | |
%line 96+1 ../src/util/asmnoise.asm | |
addss xmm2,xmm3 | |
mulss xmm2,xmm6 | |
shufps xmm2,xmm2,0 | |
movaps xmm3,xmm1 | |
%line 99+0 ../src/util/asmnoise.asm | |
subps xmm3,xmm2 | |
%line 100+1 ../src/util/asmnoise.asm | |
subps xmm0,xmm3 | |
movss xmm7,[one] | |
%line 103+0 ../src/util/asmnoise.asm | |
shufps xmm7,xmm7,0 | |
%line 104+1 ../src/util/asmnoise.asm | |
pshufd xmm2,xmm0,000001b | |
pshufd xmm3,xmm0,100110b | |
movaps xmm4,xmm2 | |
cmpps xmm2,xmm3,5 | |
cmpps xmm4,xmm3,1 | |
movss xmm3,xmm4 | |
shufps xmm2,xmm2,010010b | |
insertps xmm4,xmm2,10001000b | |
movlhps xmm2,xmm3 | |
movaps xmm3,xmm2 | |
andps xmm2,xmm4 | |
orps xmm3,xmm4 | |
andps xmm2,xmm7 | |
andps xmm3,xmm7 | |
movaps xmm5,xmm7 | |
movaps xmm7,xmm0 | |
subps xmm7,xmm5 | |
movaps xmm4,xmm0 | |
%line 123+0 ../src/util/asmnoise.asm | |
subps xmm4,xmm2 | |
%line 124+1 ../src/util/asmnoise.asm | |
addps xmm4,xmm6 | |
movaps xmm5,xmm0 | |
%line 125+0 ../src/util/asmnoise.asm | |
subps xmm5,xmm3 | |
%line 126+1 ../src/util/asmnoise.asm | |
addps xmm6,xmm6 | |
addps xmm5,xmm6 | |
addss xmm6,[G3] | |
shufps xmm6,xmm6,0 | |
addps xmm7,xmm6 | |
cvtps2dq xmm1,xmm1 | |
cvtps2dq xmm2,xmm2 | |
cvtps2dq xmm3,xmm3 | |
pextrb r9d ,xmm1,8 | |
pextrb r10d,xmm2,8 | |
pextrb r11d,xmm3,8 | |
add r9 ,rdi | |
movzx rax ,byte [r9] | |
movzx rcx ,byte [r9+r10] | |
movzx rdx ,byte [r9+r11] | |
movzx r8 ,byte [r9+1] | |
pextrb r9d ,xmm1,4 | |
pextrb r10d,xmm2,4 | |
pextrb r11d,xmm3,4 | |
add r9 ,rdi | |
add r10 ,rcx | |
add r11 ,rdx | |
mov al ,byte [r9+rax] | |
mov cl ,byte [r9+r10] | |
mov dl ,byte [r9+r11] | |
mov r8b ,byte [r9+r8+1] | |
pextrb r9d ,xmm1,0 | |
movd r10d,xmm2 | |
movd r11d,xmm3 | |
add r9 ,rdi | |
add r10 ,rcx | |
add r11 ,rdx | |
mov al ,byte [r9+rax] | |
mov cl ,byte [r9+r10] | |
mov dl ,byte [r9+r11] | |
mov r8b ,byte [r9+r8+1] | |
mov r9 ,12 | |
div r9b | |
shr ax ,8 | |
lea eax ,[eax+eax*2] | |
mov r10 ,qword grad3 | |
pmovsxbd xmm1,[rax+r10] | |
mov rax ,rcx | |
div r9b | |
shr ax ,8 | |
lea eax ,[eax+eax*2] | |
pmovsxbd xmm2,[rax+r10] | |
mov rax ,rdx | |
div r9b | |
shr ax ,8 | |
lea eax ,[eax+eax*2] | |
pmovsxbd xmm3,[rax+r10] | |
mov rax ,r8 | |
div r9b | |
shr ax ,8 | |
lea eax ,[eax+eax*2] | |
pmovsxbd xmm6,[rax+r10] | |
cvtdq2ps xmm1,xmm1 | |
cvtdq2ps xmm2,xmm2 | |
cvtdq2ps xmm3,xmm3 | |
cvtdq2ps xmm6,xmm6 | |
dpps xmm1,xmm0,01110001b | |
dpps xmm2,xmm4,01110001b | |
dpps xmm3,xmm5,01110001b | |
dpps xmm6,xmm7,01110001b | |
unpcklps xmm1,xmm2 | |
unpcklps xmm3,xmm6 | |
movlhps xmm1,xmm3 | |
mulps xmm0,xmm0 | |
mulps xmm4,xmm4 | |
mulps xmm5,xmm5 | |
mulps xmm7,xmm7 | |
movaps xmm2,xmm0 | |
%line 210+0 ../src/util/asmnoise.asm | |
unpcklps xmm2,xmm5 | |
%line 211+1 ../src/util/asmnoise.asm | |
movaps xmm3,xmm4 | |
%line 211+0 ../src/util/asmnoise.asm | |
unpcklps xmm3,xmm7 | |
%line 212+1 ../src/util/asmnoise.asm | |
unpckhps xmm0,xmm5 | |
unpckhps xmm4,xmm7 | |
movaps xmm5,xmm2 | |
%line 215+0 ../src/util/asmnoise.asm | |
unpcklps xmm5,xmm3 | |
%line 216+1 ../src/util/asmnoise.asm | |
unpckhps xmm2,xmm3 | |
unpcklps xmm0,xmm4 | |
movss xmm4,[tval] | |
%line 219+0 ../src/util/asmnoise.asm | |
shufps xmm4,xmm4,0 | |
%line 220+1 ../src/util/asmnoise.asm | |
subps xmm4,xmm5 | |
subps xmm4,xmm2 | |
subps xmm4,xmm0 | |
xorps xmm2,xmm2 | |
cmpps xmm2,xmm4,1 | |
andps xmm2,xmm4 | |
mulps xmm2,xmm2 | |
mulps xmm2,xmm2 | |
mulps xmm2,xmm1 | |
movhlps xmm0,xmm2 | |
addps xmm0,xmm2 | |
pshufd xmm1,xmm0,1 | |
addss xmm0,xmm1 | |
mulss xmm0,[retval] | |
%line 245+1 ../src/util/asmnoise.asm | |
%line 247+1 ../src/util/asmnoise.asm | |
ret |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
_ZN3fea12raw_noise_3dEfffPKh: | |
.LFB4696: | |
.cfi_startproc | |
vmovaps xmm4, xmm0 | |
vaddss xmm0, xmm0, xmm1 | |
push r13 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 13, -16 | |
push r12 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 12, -24 | |
push rbp | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 6, -32 | |
vaddss xmm7, xmm0, xmm2 | |
push rbx | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 3, -40 | |
mov rbx, rdi | |
sub rsp, 88 | |
.cfi_def_cfa_offset 128 | |
vmovss xmm0, DWORD PTR .LC9[rip] | |
vmovss DWORD PTR [rsp+28], xmm4 | |
vfmadd132ss xmm0, xmm4, xmm7 | |
vmovss DWORD PTR [rsp+12], xmm7 | |
vmovss DWORD PTR [rsp+32], xmm2 | |
vmovss DWORD PTR [rsp+16], xmm1 | |
call floorf | |
vmovss xmm1, DWORD PTR [rsp+16] | |
vmovss DWORD PTR [rsp+24], xmm0 | |
vmovss xmm0, DWORD PTR .LC9[rip] | |
vfmadd132ss xmm0, xmm1, DWORD PTR [rsp+12] | |
vmovss DWORD PTR [rsp+20], xmm1 | |
call floorf | |
vmovss xmm2, DWORD PTR [rsp+32] | |
vmovss DWORD PTR [rsp+16], xmm0 | |
vmovss xmm0, DWORD PTR .LC9[rip] | |
vfmadd132ss xmm0, xmm2, DWORD PTR [rsp+12] | |
vmovss DWORD PTR [rsp+12], xmm2 | |
call floorf | |
vmovss xmm7, DWORD PTR [rsp+16] | |
vmovss xmm6, DWORD PTR [rsp+24] | |
vmovss xmm14, DWORD PTR .LC10[rip] | |
vaddss xmm3, xmm6, xmm7 | |
vmovss xmm4, DWORD PTR [rsp+28] | |
vmovss xmm1, DWORD PTR [rsp+20] | |
vmovss xmm2, DWORD PTR [rsp+12] | |
vaddss xmm3, xmm3, xmm0 | |
vmovaps xmm5, xmm3 | |
vfnmadd132ss xmm5, xmm6, xmm14 | |
vsubss xmm4, xmm4, xmm5 | |
vmovaps xmm5, xmm3 | |
vfnmadd132ss xmm3, xmm0, xmm14 | |
vfnmadd132ss xmm5, xmm7, xmm14 | |
vsubss xmm5, xmm1, xmm5 | |
vsubss xmm2, xmm2, xmm3 | |
vucomiss xmm4, xmm5 | |
jb .L34 | |
vucomiss xmm5, xmm2 | |
jb .L39 | |
vmovss xmm1, DWORD PTR .LC0[rip] | |
vxorps xmm3, xmm3, xmm3 | |
xor r9d, r9d | |
vmovaps xmm10, xmm3 | |
mov edi, 1 | |
mov esi, 1 | |
vmovaps xmm8, xmm1 | |
vmovaps xmm11, xmm1 | |
.L25: | |
vmovaps xmm12, xmm3 | |
xor r10d, r10d | |
vmovaps xmm9, xmm3 | |
xor ebp, ebp | |
vmovaps xmm13, xmm1 | |
mov r11d, 1 | |
jmp .L18 | |
.p2align 4,,10 | |
.p2align 3 | |
.L34: | |
vucomiss xmm2, xmm5 | |
jbe .L40 | |
vmovss xmm1, DWORD PTR .LC0[rip] | |
vxorps xmm3, xmm3, xmm3 | |
mov r9d, 1 | |
mov edi, 1 | |
vmovaps xmm11, xmm3 | |
xor esi, esi | |
vmovaps xmm10, xmm1 | |
vmovaps xmm8, xmm1 | |
.L38: | |
vmovaps xmm12, xmm1 | |
mov r10d, 1 | |
vmovaps xmm9, xmm3 | |
xor ebp, ebp | |
vmovaps xmm13, xmm3 | |
xor r11d, r11d | |
.L18: | |
vcvttss2si ecx, xmm0 | |
vmovss DWORD PTR [rsp+32], xmm2 | |
vcvttss2si edx, xmm7 | |
vmovss DWORD PTR [rsp+40], xmm4 | |
vcvttss2si eax, xmm6 | |
vmovss DWORD PTR [rsp+36], xmm5 | |
vsubss xmm13, xmm4, xmm13 | |
vmovss DWORD PTR [rsp+20], xmm3 | |
movzx r8d, cl | |
vsubss xmm9, xmm5, xmm9 | |
movzx ecx, cl | |
add r10d, ecx | |
add ecx, r9d | |
movzx edx, dl | |
movzx r12d, BYTE PTR [rbx+r8] | |
movsx rcx, ecx | |
vsubss xmm12, xmm2, xmm12 | |
movsx r10, r10d | |
movzx ecx, BYTE PTR [rbx+rcx] | |
vsubss xmm15, xmm4, xmm1 | |
movzx eax, al | |
movzx r10d, BYTE PTR [rbx+r10] | |
vaddss xmm13, xmm13, xmm14 | |
vaddss xmm9, xmm9, xmm14 | |
add r12d, edx | |
vaddss xmm12, xmm12, xmm14 | |
movsx r12, r12d | |
vmovss xmm14, DWORD PTR .LC5[rip] | |
add ecx, edx | |
movzx r12d, BYTE PTR [rbx+r12] | |
vsubss xmm11, xmm4, xmm11 | |
vmovaps xmm7, xmm13 | |
add ecx, edi | |
vaddss xmm15, xmm15, xmm14 | |
add r10d, edx | |
movsx rcx, ecx | |
vsubss xmm10, xmm2, xmm10 | |
add r10d, ebp | |
movzx ecx, BYTE PTR [rbx+rcx] | |
movsx r10, r10d | |
vsubss xmm8, xmm5, xmm8 | |
vmovss DWORD PTR [rsp+12], xmm15 | |
vsubss xmm15, xmm5, xmm1 | |
movzx r10d, BYTE PTR [rbx+r10] | |
add r12d, eax | |
vsubss xmm1, xmm2, xmm1 | |
vmovss xmm0, DWORD PTR [rsp+12] | |
movsx r12, r12d | |
vaddss xmm11, xmm11, DWORD PTR .LC9[rip] | |
add ecx, eax | |
vaddss xmm15, xmm15, xmm14 | |
movzx r13d, BYTE PTR [rbx+r12] | |
add ecx, esi | |
vaddss xmm1, xmm1, xmm14 | |
add r10d, eax | |
movsx rcx, ecx | |
vmovaps xmm14, xmm4 | |
add r10d, r11d | |
movzx ebp, BYTE PTR [rbx+rcx] | |
vmovaps xmm6, xmm11 | |
movsx r10, r10d | |
vmovss DWORD PTR [rsp+16], xmm15 | |
movzx ecx, BYTE PTR [rbx+1+r8] | |
vmovaps xmm15, xmm1 | |
vmovss DWORD PTR [rsp+28], xmm1 | |
vmovss xmm1, DWORD PTR .LC11[rip] | |
vaddss xmm8, xmm8, DWORD PTR .LC9[rip] | |
vfnmadd132ss xmm14, xmm1, xmm4 | |
vfnmadd231ss xmm14, xmm5, xmm5 | |
vmovaps xmm5, xmm0 | |
vfnmadd231ss xmm14, xmm2, xmm2 | |
add edx, ecx | |
vfnmadd132ss xmm5, xmm1, xmm0 | |
movzx r12d, BYTE PTR [rbx+r10] | |
vfnmadd132ss xmm7, xmm1, xmm13 | |
movsx rdx, edx | |
vmovss xmm2, DWORD PTR [rsp+16] | |
vfnmadd132ss xmm6, xmm1, xmm11 | |
vfnmadd231ss xmm7, xmm9, xmm9 | |
movzx edx, BYTE PTR [rbx+1+rdx] | |
vfnmadd231ss xmm6, xmm8, xmm8 | |
vfnmadd231ss xmm7, xmm12, xmm12 | |
vaddss xmm10, xmm10, DWORD PTR .LC9[rip] | |
vmovaps xmm4, xmm2 | |
vfnmadd132ss xmm4, xmm5, xmm2 | |
vmovaps xmm1, xmm4 | |
vmovaps xmm4, xmm15 | |
vfnmadd132ss xmm4, xmm1, xmm15 | |
vmovss DWORD PTR [rsp+24], xmm4 | |
add eax, edx | |
vucomiss xmm3, xmm14 | |
vfnmadd231ss xmm6, xmm10, xmm10 | |
cdqe | |
movzx ebx, BYTE PTR [rbx+1+rax] | |
ja .L20 | |
vmovsd xmm1, QWORD PTR .LC6[rip] | |
vmovss DWORD PTR [rsp+76], xmm3 | |
vxorpd xmm0, xmm0, xmm0 | |
vcvtss2sd xmm0, xmm0, xmm14 | |
vmovss DWORD PTR [rsp+72], xmm6 | |
vmovss DWORD PTR [rsp+68], xmm7 | |
vmovss DWORD PTR [rsp+64], xmm10 | |
vmovss DWORD PTR [rsp+60], xmm8 | |
vmovss DWORD PTR [rsp+56], xmm11 | |
vmovss DWORD PTR [rsp+52], xmm12 | |
vmovss DWORD PTR [rsp+48], xmm9 | |
vmovss DWORD PTR [rsp+44], xmm13 | |
call pow | |
movzx edx, r13b | |
vxorps xmm1, xmm1, xmm1 | |
vmovss xmm5, DWORD PTR [rsp+36] | |
lea eax, [rdx+rdx*8] | |
vxorps xmm14, xmm14, xmm14 | |
vmovss xmm4, DWORD PTR [rsp+40] | |
lea eax, [rdx+rax*2] | |
vmovss xmm2, DWORD PTR [rsp+32] | |
lea eax, [rax+rax*8] | |
vmovss xmm3, DWORD PTR [rsp+76] | |
shr ax, 11 | |
vmovss xmm6, DWORD PTR [rsp+72] | |
lea eax, [rax+rax*2] | |
vmovss xmm7, DWORD PTR [rsp+68] | |
sal eax, 2 | |
vmovss xmm10, DWORD PTR [rsp+64] | |
sub r13d, eax | |
vmovss xmm8, DWORD PTR [rsp+60] | |
movzx r13d, r13b | |
vmovss xmm11, DWORD PTR [rsp+56] | |
lea rcx, [r13+0+r13*2] | |
vmovss xmm12, DWORD PTR [rsp+52] | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx+1] | |
vmovss xmm9, DWORD PTR [rsp+48] | |
vmovss xmm13, DWORD PTR [rsp+44] | |
vcvtsi2ss xmm1, xmm1, eax | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx] | |
vmulss xmm5, xmm5, xmm1 | |
vxorps xmm1, xmm1, xmm1 | |
vcvtsi2ss xmm1, xmm1, eax | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx+2] | |
vcvtsi2ss xmm14, xmm14, eax | |
vfmadd231ss xmm5, xmm4, xmm1 | |
vfmadd132ss xmm2, xmm5, xmm14 | |
vcvtss2sd xmm2, xmm2, xmm2 | |
vmulsd xmm0, xmm2, xmm0 | |
vxorps xmm2, xmm2, xmm2 | |
vcvtsd2ss xmm2, xmm2, xmm0 | |
vmovss DWORD PTR [rsp+20], xmm2 | |
.L20: | |
vucomiss xmm3, xmm7 | |
vmovss DWORD PTR [rsp+40], xmm12 | |
vmovaps xmm5, xmm3 | |
vmovss DWORD PTR [rsp+36], xmm9 | |
vmovss DWORD PTR [rsp+32], xmm13 | |
ja .L21 | |
vmovsd xmm1, QWORD PTR .LC6[rip] | |
vmovss DWORD PTR [rsp+60], xmm3 | |
vxorpd xmm0, xmm0, xmm0 | |
vcvtss2sd xmm0, xmm0, xmm7 | |
vmovss DWORD PTR [rsp+56], xmm6 | |
vmovss DWORD PTR [rsp+52], xmm10 | |
vmovss DWORD PTR [rsp+48], xmm8 | |
vmovss DWORD PTR [rsp+44], xmm11 | |
call pow | |
movzx edx, r12b | |
vxorps xmm1, xmm1, xmm1 | |
vmovss xmm9, DWORD PTR [rsp+36] | |
lea eax, [rdx+rdx*8] | |
vmovss xmm13, DWORD PTR [rsp+32] | |
lea eax, [rdx+rax*2] | |
vmovss xmm12, DWORD PTR [rsp+40] | |
lea eax, [rax+rax*8] | |
vmovss xmm3, DWORD PTR [rsp+60] | |
shr ax, 11 | |
vmovss xmm6, DWORD PTR [rsp+56] | |
lea eax, [rax+rax*2] | |
vmovss xmm10, DWORD PTR [rsp+52] | |
sal eax, 2 | |
vmovss xmm8, DWORD PTR [rsp+48] | |
sub r12d, eax | |
vmovss xmm11, DWORD PTR [rsp+44] | |
movzx r12d, r12b | |
lea rcx, [r12+r12*2] | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx+1] | |
vcvtsi2ss xmm1, xmm1, eax | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx] | |
vmulss xmm9, xmm9, xmm1 | |
vxorps xmm1, xmm1, xmm1 | |
vcvtsi2ss xmm1, xmm1, eax | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx+2] | |
vfmadd231ss xmm9, xmm13, xmm1 | |
vxorps xmm1, xmm1, xmm1 | |
vcvtsi2ss xmm1, xmm1, eax | |
vfmadd132ss xmm12, xmm9, xmm1 | |
vcvtss2sd xmm12, xmm12, xmm12 | |
vmulsd xmm5, xmm12, xmm0 | |
vcvtsd2ss xmm5, xmm5, xmm5 | |
.L21: | |
vucomiss xmm3, xmm6 | |
vmovss DWORD PTR [rsp+40], xmm10 | |
vmovaps xmm4, xmm3 | |
vmovss DWORD PTR [rsp+36], xmm8 | |
vmovss DWORD PTR [rsp+32], xmm11 | |
ja .L22 | |
vmovsd xmm1, QWORD PTR .LC6[rip] | |
vmovss DWORD PTR [rsp+48], xmm3 | |
vxorpd xmm0, xmm0, xmm0 | |
vcvtss2sd xmm0, xmm0, xmm6 | |
vmovss DWORD PTR [rsp+44], xmm5 | |
call pow | |
movzx edx, bpl | |
vxorps xmm1, xmm1, xmm1 | |
vmovss xmm8, DWORD PTR [rsp+36] | |
lea eax, [rdx+rdx*8] | |
vmovss xmm11, DWORD PTR [rsp+32] | |
lea eax, [rdx+rax*2] | |
vmovss xmm10, DWORD PTR [rsp+40] | |
lea eax, [rax+rax*8] | |
vmovss xmm3, DWORD PTR [rsp+48] | |
shr ax, 11 | |
vmovss xmm5, DWORD PTR [rsp+44] | |
lea eax, [rax+rax*2] | |
sal eax, 2 | |
sub ebp, eax | |
movzx ebp, bpl | |
lea rcx, [rbp+0+rbp*2] | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx+1] | |
vcvtsi2ss xmm1, xmm1, eax | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx] | |
vmulss xmm8, xmm8, xmm1 | |
vxorps xmm1, xmm1, xmm1 | |
vcvtsi2ss xmm1, xmm1, eax | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx+2] | |
vfmadd231ss xmm8, xmm11, xmm1 | |
vxorps xmm1, xmm1, xmm1 | |
vcvtsi2ss xmm1, xmm1, eax | |
vfmadd132ss xmm10, xmm8, xmm1 | |
vcvtss2sd xmm10, xmm10, xmm10 | |
vmulsd xmm4, xmm10, xmm0 | |
vcvtsd2ss xmm4, xmm4, xmm4 | |
.L22: | |
vmovss xmm6, DWORD PTR [rsp+24] | |
vucomiss xmm3, xmm6 | |
ja .L23 | |
vmovsd xmm1, QWORD PTR .LC6[rip] | |
vmovss DWORD PTR [rsp+32], xmm4 | |
vxorpd xmm0, xmm0, xmm0 | |
vcvtss2sd xmm0, xmm0, xmm6 | |
vmovss DWORD PTR [rsp+24], xmm5 | |
call pow | |
movzx edx, bl | |
vxorps xmm1, xmm1, xmm1 | |
vxorps xmm2, xmm2, xmm2 | |
lea eax, [rdx+rdx*8] | |
vmovss xmm4, DWORD PTR [rsp+32] | |
lea eax, [rdx+rax*2] | |
vmovss xmm5, DWORD PTR [rsp+24] | |
lea eax, [rax+rax*8] | |
shr ax, 11 | |
lea eax, [rax+rax*2] | |
sal eax, 2 | |
sub ebx, eax | |
movzx ebx, bl | |
lea rcx, [rbx+rbx*2] | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx+1] | |
vcvtsi2ss xmm1, xmm1, eax | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx] | |
vmulss xmm1, xmm1, DWORD PTR [rsp+16] | |
vcvtsi2ss xmm2, xmm2, eax | |
movsx eax, BYTE PTR _ZN3feaL5grad3E[rcx+2] | |
vfmadd231ss xmm1, xmm2, DWORD PTR [rsp+12] | |
vxorps xmm2, xmm2, xmm2 | |
vcvtsi2ss xmm2, xmm2, eax | |
vfmadd231ss xmm1, xmm2, DWORD PTR [rsp+28] | |
vcvtss2sd xmm1, xmm1, xmm1 | |
vmulsd xmm3, xmm1, xmm0 | |
vcvtsd2ss xmm3, xmm3, xmm3 | |
.L23: | |
vaddss xmm0, xmm5, DWORD PTR [rsp+20] | |
vaddss xmm0, xmm4, xmm0 | |
vaddss xmm3, xmm3, xmm0 | |
vmulss xmm0, xmm3, DWORD PTR .LC12[rip] | |
add rsp, 88 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 40 | |
pop rbx | |
.cfi_def_cfa_offset 32 | |
pop rbp | |
.cfi_def_cfa_offset 24 | |
pop r12 | |
.cfi_def_cfa_offset 16 | |
pop r13 | |
.cfi_def_cfa_offset 8 | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L40: | |
.cfi_restore_state | |
vucomiss xmm2, xmm4 | |
ja .L41 | |
vmovss xmm1, DWORD PTR .LC0[rip] | |
vxorps xmm3, xmm3, xmm3 | |
xor r9d, r9d | |
vmovaps xmm10, xmm3 | |
mov edi, 1 | |
mov esi, 1 | |
vmovaps xmm8, xmm1 | |
vmovaps xmm11, xmm1 | |
.L37: | |
vmovaps xmm12, xmm3 | |
xor r10d, r10d | |
vmovaps xmm9, xmm1 | |
mov ebp, 1 | |
vmovaps xmm13, xmm3 | |
xor r11d, r11d | |
jmp .L18 | |
.p2align 4,,10 | |
.p2align 3 | |
.L39: | |
xor edi, edi | |
vucomiss xmm4, xmm2 | |
vxorps xmm3, xmm3, xmm3 | |
vmovss xmm1, DWORD PTR .LC0[rip] | |
mov r9d, 1 | |
vmovaps xmm8, xmm3 | |
mov esi, 1 | |
vmovaps xmm10, xmm1 | |
vmovaps xmm11, xmm1 | |
jae .L25 | |
jmp .L38 | |
.p2align 4,,10 | |
.p2align 3 | |
.L41: | |
vmovss xmm1, DWORD PTR .LC0[rip] | |
vxorps xmm3, xmm3, xmm3 | |
mov r9d, 1 | |
mov edi, 1 | |
vmovaps xmm11, xmm3 | |
xor esi, esi | |
vmovaps xmm10, xmm1 | |
vmovaps xmm8, xmm1 | |
jmp .L37 | |
.cfi_endproc | |
.LFE4696: | |
.size _ZN3fea12raw_noise_3dEfffPKh, .-_ZN3fea12raw_noise_3dEfffPKh | |
.section .text.unlikely | |
.LCOLDE13: | |
.text | |
.LHOTE13: | |
.section .text.unlikely._ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,"axG",@progbits,_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,comdat | |
.align 2 | |
.LCOLDB18: | |
.section .text._ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,"axG",@progbits,_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,comdat | |
.LHOTB18: | |
.align 2 | |
.p2align 4,,15 | |
.weak _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
.type _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv, @function | |
_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv: | |
.LFB4872: | |
.cfi_startproc | |
mov rax, QWORD PTR [rdi+4992] | |
lea r10, [rsp+8] | |
.cfi_def_cfa 10, 0 | |
and rsp, -32 | |
push QWORD PTR [r10-8] | |
push rbp | |
.cfi_escape 0x10,0x6,0x2,0x76,0 | |
mov rbp, rsp | |
push r12 | |
push r10 | |
.cfi_escape 0xf,0x3,0x76,0x70,0x6 | |
.cfi_escape 0x10,0xc,0x2,0x76,0x78 | |
push rbx | |
.cfi_escape 0x10,0x3,0x2,0x76,0x68 | |
cmp rax, 623 | |
ja .L43 | |
lea rdx, [rax+1] | |
mov rax, QWORD PTR [rdi+rax*8] | |
.L44: | |
mov QWORD PTR [rdi+4992], rdx | |
mov rdx, rax | |
pop rbx | |
shr rdx, 11 | |
pop r10 | |
.cfi_remember_state | |
.cfi_def_cfa 10, 0 | |
mov edx, edx | |
pop r12 | |
xor rax, rdx | |
pop rbp | |
mov rdx, rax | |
lea rsp, [r10-8] | |
.cfi_def_cfa 7, 8 | |
sal rdx, 7 | |
and edx, 2636928640 | |
xor rdx, rax | |
mov rax, rdx | |
sal rax, 15 | |
and eax, 4022730752 | |
xor rax, rdx | |
mov rdx, rax | |
shr rdx, 18 | |
xor rax, rdx | |
ret | |
.p2align 4,,10 | |
.p2align 3 | |
.L43: | |
.cfi_restore_state | |
mov rax, rdi | |
and eax, 31 | |
shr rax, 3 | |
neg rax | |
and eax, 3 | |
je .L58 | |
mov rsi, QWORD PTR [rdi+8] | |
xor r9d, r9d | |
mov r8d, 2567483615 | |
mov rdx, QWORD PTR [rdi] | |
mov rcx, rsi | |
and ecx, 2147483647 | |
and rdx, -2147483648 | |
or rdx, rcx | |
mov rcx, r9 | |
test dl, 1 | |
cmovne rcx, r8 | |
xor rcx, QWORD PTR [rdi+3176] | |
shr rdx | |
xor rdx, rcx | |
mov QWORD PTR [rdi], rdx | |
cmp rax, 1 | |
je .L59 | |
mov rcx, QWORD PTR [rdi+16] | |
and rsi, -2147483648 | |
mov rdx, rcx | |
and edx, 2147483647 | |
or rdx, rsi | |
mov rsi, r9 | |
test dl, 1 | |
cmovne rsi, r8 | |
xor rsi, QWORD PTR [rdi+3184] | |
shr rdx | |
xor rdx, rsi | |
mov QWORD PTR [rdi+8], rdx | |
cmp rax, 3 | |
jne .L60 | |
mov rdx, QWORD PTR [rdi+24] | |
and rcx, -2147483648 | |
mov r10d, 224 | |
and edx, 2147483647 | |
or rdx, rcx | |
test dl, 1 | |
cmove r8, r9 | |
xor r8, QWORD PTR [rdi+3192] | |
shr rdx | |
mov r9b, 3 | |
xor rdx, r8 | |
mov QWORD PTR [rdi+16], rdx | |
.L46: | |
mov ebx, 227 | |
sub rbx, rax | |
.L45: | |
sal rax, 3 | |
xor edx, edx | |
vpxor xmm7, xmm7, xmm7 | |
vmovdqa ymm3, YMMWORD PTR .LC14[rip] | |
vmovdqa ymm4, YMMWORD PTR .LC15[rip] | |
lea rcx, [rdi+rax] | |
vmovdqa ymm5, YMMWORD PTR .LC16[rip] | |
lea r8, [rdi+8+rax] | |
vmovdqa ymm6, YMMWORD PTR .LC17[rip] | |
lea rsi, [rdi+3176+rax] | |
xor eax, eax | |
.p2align 4,,10 | |
.p2align 3 | |
.L47: | |
vpand ymm0, ymm3, YMMWORD PTR [r8+rax] | |
vpand ymm2, ymm4, YMMWORD PTR [rcx+rax] | |
vpor ymm2, ymm0, ymm2 | |
vpand ymm0, ymm2, ymm5 | |
vpcmpeqq ymm0, ymm0, ymm7 | |
add rdx, 1 | |
vpandn ymm0, ymm0, ymm6 | |
vpxor ymm1, ymm0, YMMWORD PTR [rsi+rax] | |
vpsrlq ymm0, ymm2, 1 | |
vpxor ymm0, ymm1, ymm0 | |
vmovdqa YMMWORD PTR [rcx+rax], ymm0 | |
add rax, 32 | |
cmp rdx, 55 | |
jbe .L47 | |
lea rax, [r9+224] | |
lea r11, [r10-224] | |
cmp rbx, 224 | |
je .L49 | |
lea rcx, [rdi+rax*8] | |
mov r8d, 2567483615 | |
mov rdx, QWORD PTR [rcx+8] | |
lea rbx, [r9+225] | |
mov rsi, QWORD PTR [rcx] | |
mov rax, rdx | |
and rsi, -2147483648 | |
and eax, 2147483647 | |
or rax, rsi | |
xor esi, esi | |
mov r12, rsi | |
test al, 1 | |
cmovne r12, r8 | |
xor r12, QWORD PTR [rcx+3176] | |
shr rax | |
xor rax, r12 | |
mov QWORD PTR [rcx], rax | |
cmp r10, 225 | |
je .L49 | |
lea r10, [rdi+rbx*8] | |
and rdx, -2147483648 | |
add r9, 226 | |
mov rcx, QWORD PTR [r10+8] | |
mov rax, rcx | |
and eax, 2147483647 | |
or rax, rdx | |
mov rdx, rsi | |
test al, 1 | |
cmovne rdx, r8 | |
xor rdx, QWORD PTR [r10+3176] | |
shr rax | |
xor rax, rdx | |
mov QWORD PTR [r10], rax | |
cmp r11, 2 | |
je .L49 | |
lea rax, [rdi+r9*8] | |
and rcx, -2147483648 | |
mov rdx, QWORD PTR [rax+8] | |
and edx, 2147483647 | |
or rcx, rdx | |
test cl, 1 | |
cmovne rsi, r8 | |
xor rsi, QWORD PTR [rax+3176] | |
shr rcx | |
xor rcx, rsi | |
mov QWORD PTR [rax], rcx | |
.L49: | |
lea r8, [rdi+1816] | |
and r8d, 31 | |
shr r8, 3 | |
neg r8 | |
and r8d, 3 | |
je .L61 | |
mov rcx, QWORD PTR [rdi+1824] | |
xor r9d, r9d | |
mov esi, 2567483615 | |
mov rax, QWORD PTR [rdi+1816] | |
mov rdx, rcx | |
and edx, 2147483647 | |
and rax, -2147483648 | |
or rax, rdx | |
mov rdx, r9 | |
test al, 1 | |
cmovne rdx, rsi | |
xor rdx, QWORD PTR [rdi] | |
shr rax | |
xor rax, rdx | |
mov QWORD PTR [rdi+1816], rax | |
cmp r8, 1 | |
je .L62 | |
mov rdx, QWORD PTR [rdi+1832] | |
and rcx, -2147483648 | |
mov rax, rdx | |
and eax, 2147483647 | |
or rax, rcx | |
mov rcx, r9 | |
test al, 1 | |
cmovne rcx, rsi | |
xor rcx, QWORD PTR [rdi+8] | |
shr rax | |
xor rax, rcx | |
mov QWORD PTR [rdi+1824], rax | |
cmp r8, 3 | |
jne .L63 | |
mov rax, QWORD PTR [rdi+1840] | |
and rdx, -2147483648 | |
mov ebx, 393 | |
mov r12d, 230 | |
and eax, 2147483647 | |
or rax, rdx | |
test al, 1 | |
cmove rsi, r9 | |
xor rsi, QWORD PTR [rdi+16] | |
shr rax | |
xor rax, rsi | |
mov QWORD PTR [rdi+1832], rax | |
.L52: | |
mov r10d, 396 | |
mov esi, 98 | |
mov r11d, 392 | |
sub r10, r8 | |
.L51: | |
lea rax, [1816+r8*8] | |
xor edx, edx | |
vpxor xmm7, xmm7, xmm7 | |
lea rcx, [rdi+rax] | |
lea r9, [rdi+8+rax] | |
lea r8, [rdi-1816+rax] | |
xor eax, eax | |
.p2align 4,,10 | |
.p2align 3 | |
.L53: | |
vpand ymm0, ymm3, YMMWORD PTR [r9+rax] | |
vpand ymm2, ymm4, YMMWORD PTR [rcx+rax] | |
vpor ymm2, ymm0, ymm2 | |
vpand ymm0, ymm2, ymm5 | |
vpcmpeqq ymm0, ymm0, ymm7 | |
add rdx, 1 | |
vpandn ymm0, ymm0, ymm6 | |
vpxor ymm1, ymm0, YMMWORD PTR [r8+rax] | |
vpsrlq ymm0, ymm2, 1 | |
vpxor ymm0, ymm1, ymm0 | |
vmovdqa YMMWORD PTR [rcx+rax], ymm0 | |
add rax, 32 | |
cmp rdx, rsi | |
jb .L53 | |
lea rcx, [r12+r11] | |
sub rbx, r11 | |
mov r9, rbx | |
cmp r11, r10 | |
je .L55 | |
lea r10, [rdi+rcx*8] | |
mov r8d, 2567483615 | |
mov rdx, QWORD PTR [r10+8] | |
lea rbx, [rcx+1] | |
mov rsi, QWORD PTR [r10] | |
mov rax, rdx | |
and rsi, -2147483648 | |
and eax, 2147483647 | |
or rax, rsi | |
xor esi, esi | |
mov r11, rsi | |
test al, 1 | |
cmovne r11, r8 | |
xor r11, QWORD PTR [r10-1816] | |
shr rax | |
xor rax, r11 | |
mov QWORD PTR [r10], rax | |
cmp r9, 1 | |
je .L55 | |
lea r11, [rdi+rbx*8] | |
and rdx, -2147483648 | |
lea r10, [rcx+2] | |
mov rcx, QWORD PTR [r11+8] | |
mov rax, rcx | |
and eax, 2147483647 | |
or rax, rdx | |
mov rdx, rsi | |
test al, 1 | |
cmovne rdx, r8 | |
xor rdx, QWORD PTR [r11-1816] | |
shr rax | |
xor rax, rdx | |
mov QWORD PTR [r11], rax | |
cmp r9, 2 | |
je .L55 | |
lea rax, [rdi+r10*8] | |
and rcx, -2147483648 | |
mov rdx, QWORD PTR [rax+8] | |
and edx, 2147483647 | |
or rcx, rdx | |
test cl, 1 | |
cmovne rsi, r8 | |
xor rsi, QWORD PTR [rax-1816] | |
shr rcx | |
xor rcx, rsi | |
mov QWORD PTR [rax], rcx | |
.L55: | |
mov rax, QWORD PTR [rdi] | |
mov esi, 2567483615 | |
mov rdx, QWORD PTR [rdi+4984] | |
mov rcx, rax | |
and ecx, 2147483647 | |
and rdx, -2147483648 | |
or rdx, rcx | |
mov rcx, rdx | |
shr rcx | |
xor rcx, QWORD PTR [rdi+3168] | |
and edx, 1 | |
cmovne rdx, rsi | |
xor rdx, rcx | |
mov QWORD PTR [rdi+4984], rdx | |
mov edx, 1 | |
vzeroupper | |
jmp .L44 | |
.p2align 4,,10 | |
.p2align 3 | |
.L63: | |
mov ebx, 394 | |
mov r12d, 229 | |
jmp .L52 | |
.p2align 4,,10 | |
.p2align 3 | |
.L62: | |
mov ebx, 395 | |
mov r12d, 228 | |
jmp .L52 | |
.p2align 4,,10 | |
.p2align 3 | |
.L60: | |
mov r10d, 225 | |
mov r9d, 2 | |
jmp .L46 | |
.p2align 4,,10 | |
.p2align 3 | |
.L59: | |
mov r10d, 226 | |
mov r9d, 1 | |
jmp .L46 | |
.p2align 4,,10 | |
.p2align 3 | |
.L58: | |
mov ebx, 227 | |
mov r10d, 227 | |
xor r9d, r9d | |
jmp .L45 | |
.p2align 4,,10 | |
.p2align 3 | |
.L61: | |
mov r12d, 227 | |
mov ebx, 396 | |
mov esi, 99 | |
mov r10d, 396 | |
mov r11d, 396 | |
jmp .L51 | |
.cfi_endproc | |
.LFE4872: | |
.size _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv, .-_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
.section .text.unlikely._ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,"axG",@progbits,_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,comdat | |
.LCOLDE18: | |
.section .text._ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,"axG",@progbits,_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,comdat | |
.LHOTE18: | |
.section .text.unlikely._ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE,"axG",@progbits,_ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE,comdat | |
.align 2 | |
.LCOLDB19: | |
.section .text._ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE,"axG",@progbits,_ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE,comdat | |
.LHOTB19: | |
.align 2 | |
.p2align 4,,15 | |
.weak _ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE | |
.type _ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE, @function | |
_ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE: | |
.LFB4828: | |
.cfi_startproc | |
push r15 | |
.cfi_def_cfa_offset 16 | |
.cfi_offset 15, -16 | |
mov rax, rdx | |
push r14 | |
.cfi_def_cfa_offset 24 | |
.cfi_offset 14, -24 | |
push r13 | |
.cfi_def_cfa_offset 32 | |
.cfi_offset 13, -32 | |
push r12 | |
.cfi_def_cfa_offset 40 | |
.cfi_offset 12, -40 | |
push rbp | |
.cfi_def_cfa_offset 48 | |
.cfi_offset 6, -48 | |
push rbx | |
.cfi_def_cfa_offset 56 | |
.cfi_offset 3, -56 | |
mov rbx, rsi | |
sub rsp, 136 | |
.cfi_def_cfa_offset 192 | |
movsx rax, DWORD PTR [rax] | |
mov QWORD PTR [rsp+96], rdx | |
movsx rdx, DWORD PTR [rdx+4] | |
sub rdx, rax | |
mov eax, 4294967294 | |
mov QWORD PTR [rsp+56], rdx | |
cmp rdx, rax | |
ja .L82 | |
mov rcx, rdx | |
mov al, -1 | |
xor edx, edx | |
add rcx, 1 | |
div rcx | |
imul rcx, rax | |
mov r12, rax | |
mov r13, rcx | |
.L83: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp r13, rax | |
jbe .L83 | |
xor edx, edx | |
div r12 | |
.L84: | |
mov rcx, QWORD PTR [rsp+96] | |
add eax, DWORD PTR [rcx] | |
add rsp, 136 | |
.cfi_remember_state | |
.cfi_def_cfa_offset 56 | |
pop rbx | |
.cfi_def_cfa_offset 48 | |
pop rbp | |
.cfi_def_cfa_offset 40 | |
pop r12 | |
.cfi_def_cfa_offset 32 | |
pop r13 | |
.cfi_def_cfa_offset 24 | |
pop r14 | |
.cfi_def_cfa_offset 16 | |
pop r15 | |
.cfi_def_cfa_offset 8 | |
ret | |
.L82: | |
.cfi_restore_state | |
mov eax, 4294967295 | |
cmp rdx, rax | |
je .L85 | |
mov rax, rdx | |
mov r13, rdi | |
sar rax, 63 | |
mov rsi, rax | |
mov QWORD PTR [rsp+88], rax | |
mov r14, rax | |
mov QWORD PTR [rsp+72], rax | |
shr rsi, 32 | |
mov QWORD PTR [rsp+64], rax | |
mov r15, rsi | |
mov QWORD PTR [rsp+80], rax | |
mov QWORD PTR [rsp+40], rax | |
mov QWORD PTR [rsp+24], rax | |
mov QWORD PTR [rsp+8], rax | |
add rax, 1 | |
mov QWORD PTR [rsp+104], rax | |
mov QWORD PTR [rsp+16], rax | |
mov QWORD PTR [rsp+32], rax | |
.L137: | |
mov eax, 4294967294 | |
cmp QWORD PTR [rsp+88], rax | |
ja .L138 | |
mov rcx, QWORD PTR [rsp+104] | |
mov al, -1 | |
xor edx, edx | |
div rcx | |
imul rcx, rax | |
mov r12, rax | |
mov rbp, rcx | |
.L87: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp rbp, rax | |
jbe .L87 | |
xor edx, edx | |
div r12 | |
.L88: | |
sal rax, 32 | |
mov rdi, rbx | |
mov rbp, rax | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L137 | |
cmp rax, QWORD PTR [rsp+56] | |
ja .L137 | |
jmp .L84 | |
.L138: | |
mov rax, QWORD PTR [rsp+24] | |
add rax, 1 | |
mov QWORD PTR [rsp+48], rax | |
.L136: | |
mov eax, 4294967294 | |
cmp QWORD PTR [rsp+72], rax | |
ja .L135 | |
mov rax, QWORD PTR [rsp+72] | |
xor edx, edx | |
lea rbp, [rax+1] | |
mov eax, 4294967295 | |
div rbp | |
imul rbp, rax | |
mov r12, rax | |
.L91: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp rbp, rax | |
jbe .L91 | |
xor edx, edx | |
div r12 | |
.L92: | |
sal rax, 32 | |
mov rdi, rbx | |
mov rbp, rax | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L136 | |
cmp rax, QWORD PTR [rsp+88] | |
ja .L136 | |
jmp .L88 | |
.p2align 4,,10 | |
.p2align 3 | |
.L147: | |
xor edx, edx | |
div r12 | |
.L95: | |
sal rax, 32 | |
mov rdi, rbx | |
mov rbp, rax | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L135 | |
cmp rax, QWORD PTR [rsp+72] | |
jbe .L92 | |
.L135: | |
mov eax, 4294967294 | |
cmp QWORD PTR [rsp+64], rax | |
ja .L134 | |
mov rax, QWORD PTR [rsp+64] | |
xor edx, edx | |
lea rbp, [rax+1] | |
mov eax, 4294967295 | |
div rbp | |
imul rbp, rax | |
mov r12, rax | |
.L94: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp rbp, rax | |
jbe .L94 | |
jmp .L147 | |
.L148: | |
xor edx, edx | |
div r12 | |
.L98: | |
sal rax, 32 | |
mov rdi, rbx | |
mov rbp, rax | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L134 | |
cmp QWORD PTR [rsp+64], rax | |
jae .L95 | |
.L134: | |
mov eax, 4294967294 | |
cmp QWORD PTR [rsp+80], rax | |
ja .L133 | |
mov rax, QWORD PTR [rsp+80] | |
xor edx, edx | |
lea rbp, [rax+1] | |
mov eax, 4294967295 | |
div rbp | |
imul rbp, rax | |
mov r12, rax | |
.L97: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp rbp, rax | |
jbe .L97 | |
jmp .L148 | |
.L149: | |
xor edx, edx | |
div r12 | |
.L101: | |
sal rax, 32 | |
mov rdi, rbx | |
mov rbp, rax | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L133 | |
cmp rax, QWORD PTR [rsp+80] | |
jbe .L98 | |
.L133: | |
mov eax, 4294967294 | |
cmp QWORD PTR [rsp+40], rax | |
ja .L132 | |
mov rax, QWORD PTR [rsp+40] | |
xor edx, edx | |
lea rbp, [rax+1] | |
mov eax, 4294967295 | |
div rbp | |
imul rbp, rax | |
mov r12, rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L100: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp rbp, rax | |
jbe .L100 | |
jmp .L149 | |
.L150: | |
xor edx, edx | |
div rbp | |
.L104: | |
sal rax, 32 | |
mov rdi, rbx | |
mov rbp, rax | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L132 | |
cmp rax, QWORD PTR [rsp+40] | |
jbe .L101 | |
.L132: | |
mov eax, 4294967294 | |
cmp QWORD PTR [rsp+24], rax | |
ja .L118 | |
mov rcx, QWORD PTR [rsp+48] | |
mov al, -1 | |
xor edx, edx | |
mov r12, rcx | |
div rcx | |
mov rbp, rax | |
imul r12, rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L103: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp r12, rax | |
jbe .L103 | |
jmp .L150 | |
.L118: | |
mov QWORD PTR [rsp], rax | |
.L131: | |
mov rcx, QWORD PTR [rsp] | |
cmp QWORD PTR [rsp+8], rcx | |
ja .L130 | |
.L151: | |
mov rsi, QWORD PTR [rsp+32] | |
mov eax, 4294967295 | |
xor edx, edx | |
mov r12, rsi | |
div rsi | |
mov rbp, rax | |
imul r12, rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L106: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp r12, rax | |
jbe .L106 | |
xor edx, edx | |
div rbp | |
.L107: | |
sal rax, 32 | |
mov rdi, rbx | |
mov rbp, rax | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L131 | |
cmp rax, QWORD PTR [rsp+24] | |
jbe .L104 | |
mov rcx, QWORD PTR [rsp] | |
cmp QWORD PTR [rsp+8], rcx | |
jbe .L151 | |
.p2align 4,,10 | |
.p2align 3 | |
.L130: | |
cmp r14, QWORD PTR [rsp] | |
ja .L129 | |
.L152: | |
mov rcx, QWORD PTR [rsp+16] | |
mov eax, 4294967295 | |
xor edx, edx | |
mov r12, rcx | |
div rcx | |
mov rbp, rax | |
imul r12, rax | |
.p2align 4,,10 | |
.p2align 3 | |
.L109: | |
mov rdi, rbx | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
cmp r12, rax | |
jbe .L109 | |
xor edx, edx | |
div rbp | |
.L110: | |
sal rax, 32 | |
mov rdi, rbx | |
mov rbp, rax | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L130 | |
cmp rax, QWORD PTR [rsp+8] | |
jbe .L107 | |
cmp r14, QWORD PTR [rsp] | |
jbe .L152 | |
.p2align 4,,10 | |
.p2align 3 | |
.L129: | |
mov rdi, r13 | |
mov rsi, rbx | |
mov DWORD PTR [rsp+116], r15d | |
lea rdx, [rsp+112] | |
mov DWORD PTR [rsp+112], 0 | |
call _ZNSt24uniform_int_distributionIiEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEiRT_RKNS0_10param_typeE | |
mov rdi, rbx | |
mov rbp, rax | |
sal rbp, 32 | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
add rax, rbp | |
jc .L129 | |
cmp rax, r14 | |
ja .L129 | |
jmp .L110 | |
.L85: | |
mov rdi, rsi | |
call _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv | |
jmp .L84 | |
.cfi_endproc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment