Skip to content

Instantly share code, notes, and snippets.

@wolframw
Created November 8, 2019 16:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wolframw/73f94f73a822c7593e0a7af411fa97ac to your computer and use it in GitHub Desktop.
Save wolframw/73f94f73a822c7593e0a7af411fa97ac to your computer and use it in GitHub Desktop.
Default vs void initialization of static array
struct Mat(T, uint M, uint N = M)
{
T[N][M] m;
// change to:
// T[N][M] m = void;
this(VT)(immutable VT value) pure nothrow @nogc @safe
if (!is(CommonType!(T, VT) == void))
{
m = cast(T) value;
}
this(immutable T[N][M] values) pure nothrow @nogc @safe
{
m = values;
}
auto opBinary(string op, uint P)(const ref Mat!(T, N, P) rhs) const pure nothrow @nogc @safe
if (op == "*")
{
auto result = Mat!(T, M, P)(0);
static foreach (m; 0 .. M)
static foreach (n; 0 .. N)
static foreach (p; 0 .. P)
result.m[m][p] += this.m[m][n] * rhs.m[n][p];
return result;
}
}
void main() @safe
{
import std.datetime.stopwatch, std.stdio, std.random;
immutable auto m1 = Mat!(float, 2, 3)([[0.0f, -1.0f, 2.0f], [4.0f, 11.0f, 2.0f]]);
immutable auto m2 = Mat!(float, 3, 2)([[3.0f, -1.0f], [1.0f, 2.0f], [6.0f, 1.0f]]);
immutable auto sw = StopWatch(AutoStart.yes);
Mat!(float, 2) sink;
Duration t0 = sw.peek();
foreach (i; 0 .. 1000000)
sink = m1 * m2;
Duration t1 = sw.peek();
writeln(sink);
writeln(t1 - t0);
}
matrix_default: file format elf64-x86-64
Disassembly of section .text:
000000000006482c <_Dmain>:
6482c: 55 push rbp
6482d: 48 8b ec mov rbp,rsp
64830: 48 81 ec 50 01 00 00 sub rsp,0x150
64837: 48 89 9d b0 fe ff ff mov QWORD PTR [rbp-0x150],rbx
6483e: 4c 89 a5 b8 fe ff ff mov QWORD PTR [rbp-0x148],r12
64845: 31 c0 xor eax,eax
64847: 89 85 d0 fe ff ff mov DWORD PTR [rbp-0x130],eax
6484d: c5 fa 10 85 d0 fe ff vmovss xmm0,DWORD PTR [rbp-0x130]
64854: ff
64855: c5 fa 11 45 80 vmovss DWORD PTR [rbp-0x80],xmm0
6485a: c5 fa 10 0d ae 77 05 vmovss xmm1,DWORD PTR [rip+0x577ae] # bc010 <_IO_stdin_used+0x10>
64861: 00
64862: c5 fa 11 4d 84 vmovss DWORD PTR [rbp-0x7c],xmm1
64867: c5 fa 10 15 a5 77 05 vmovss xmm2,DWORD PTR [rip+0x577a5] # bc014 <_IO_stdin_used+0x14>
6486e: 00
6486f: c5 fa 11 55 88 vmovss DWORD PTR [rbp-0x78],xmm2
64874: c5 fa 10 1d 9c 77 05 vmovss xmm3,DWORD PTR [rip+0x5779c] # bc018 <_IO_stdin_used+0x18>
6487b: 00
6487c: c5 fa 11 5d 8c vmovss DWORD PTR [rbp-0x74],xmm3
64881: c5 fa 10 05 93 77 05 vmovss xmm0,DWORD PTR [rip+0x57793] # bc01c <_IO_stdin_used+0x1c>
64888: 00
64889: c5 fa 11 45 90 vmovss DWORD PTR [rbp-0x70],xmm0
6488e: c5 fa 11 55 94 vmovss DWORD PTR [rbp-0x6c],xmm2
64893: 48 8d 75 80 lea rsi,[rbp-0x80]
64897: 48 8d bd 60 ff ff ff lea rdi,[rbp-0xa0]
6489e: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648a0: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648a2: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648a4: 48 8d 75 80 lea rsi,[rbp-0x80]
648a8: 48 8d bd 40 ff ff ff lea rdi,[rbp-0xc0]
648af: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648b1: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648b3: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648b5: c5 fa 10 05 63 77 05 vmovss xmm0,DWORD PTR [rip+0x57763] # bc020 <_IO_stdin_used+0x20>
648bc: 00
648bd: c5 fa 11 45 e0 vmovss DWORD PTR [rbp-0x20],xmm0
648c2: c5 fa 11 4d e4 vmovss DWORD PTR [rbp-0x1c],xmm1
648c7: c5 fa 10 0d 55 77 05 vmovss xmm1,DWORD PTR [rip+0x57755] # bc024 <_IO_stdin_used+0x24>
648ce: 00
648cf: c5 fa 11 4d e8 vmovss DWORD PTR [rbp-0x18],xmm1
648d4: c5 fa 11 55 ec vmovss DWORD PTR [rbp-0x14],xmm2
648d9: c5 fa 10 15 47 77 05 vmovss xmm2,DWORD PTR [rip+0x57747] # bc028 <_IO_stdin_used+0x28>
648e0: 00
648e1: c5 fa 11 55 f0 vmovss DWORD PTR [rbp-0x10],xmm2
648e6: c5 fa 11 4d f4 vmovss DWORD PTR [rbp-0xc],xmm1
648eb: 48 8d 75 e0 lea rsi,[rbp-0x20]
648ef: 48 8d 7d c0 lea rdi,[rbp-0x40]
648f3: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648f5: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648f7: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648f9: 48 8d 75 e0 lea rsi,[rbp-0x20]
648fd: 48 8d 7d a0 lea rdi,[rbp-0x60]
64901: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64903: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64905: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64907: 48 8d 85 10 ff ff ff lea rax,[rbp-0xf0]
6490e: 31 c9 xor ecx,ecx
64910: 48 89 08 mov QWORD PTR [rax],rcx
64913: 48 89 48 08 mov QWORD PTR [rax+0x8],rcx
64917: 48 89 48 10 mov QWORD PTR [rax+0x10],rcx
6491b: c6 85 10 ff ff ff 01 mov BYTE PTR [rbp-0xf0],0x1
64922: 48 8d 15 87 9e 08 00 lea rdx,[rip+0x89e87] # ee7b0 <_D4core4time15_ticksPerSecondyG8l>
64929: 48 39 0a cmp QWORD PTR [rdx],rcx
6492c: 75 28 jne 64956 <_Dmain+0x12a>
6492e: 48 8d 15 0b 77 05 00 lea rdx,[rip+0x5770b] # bc040 <_TMP2>
64935: b8 5c 00 00 00 mov eax,0x5c
6493a: 48 89 c1 mov rcx,rax
6493d: 49 89 d0 mov r8,rdx
64940: 48 8d 15 56 77 05 00 lea rdx,[rip+0x57756] # bc09d <_TMP3>
64947: be 22 00 00 00 mov esi,0x22
6494c: bf 53 08 00 00 mov edi,0x853
64951: e8 1a c2 01 00 call 80b70 <_D4core8internal5abortQgFNbNiNfMAyaMQemZv>
64956: 48 8d b5 f0 fe ff ff lea rsi,[rbp-0x110]
6495d: bf 01 00 00 00 mov edi,0x1
64962: e8 d9 f7 ff ff call 64140 <clock_gettime@plt>
64967: 48 8b 85 f0 fe ff ff mov rax,QWORD PTR [rbp-0x110]
6496e: 48 69 c8 00 ca 9a 3b imul rcx,rax,0x3b9aca00
64975: 48 03 8d f8 fe ff ff add rcx,QWORD PTR [rbp-0x108]
6497c: 48 8d 15 2d 9e 08 00 lea rdx,[rip+0x89e2d] # ee7b0 <_D4core4time15_ticksPerSecondyG8l>
64983: 4c 8b 22 mov r12,QWORD PTR [rdx]
64986: 48 b8 b3 94 d6 26 e8 movabs rax,0x112e0be826d694b3
6498d: 0b 2e 11
64990: 48 f7 e9 imul rcx
64993: 48 89 c8 mov rax,rcx
64996: 48 c1 f8 3f sar rax,0x3f
6499a: 48 c1 fa 1a sar rdx,0x1a
6499e: 48 2b d0 sub rdx,rax
649a1: 48 69 c2 00 ca 9a 3b imul rax,rdx,0x3b9aca00
649a8: 48 2b c8 sub rcx,rax
649ab: 48 89 d0 mov rax,rdx
649ae: 48 89 ca mov rdx,rcx
649b1: 48 89 85 c0 fe ff ff mov QWORD PTR [rbp-0x140],rax
649b8: 49 0f af c4 imul rax,r12
649bc: 48 89 85 e8 fe ff ff mov QWORD PTR [rbp-0x118],rax
649c3: 48 8b 9d c0 fe ff ff mov rbx,QWORD PTR [rbp-0x140]
649ca: 48 89 d6 mov rsi,rdx
649cd: 49 0f af f4 imul rsi,r12
649d1: 48 b8 b3 94 d6 26 e8 movabs rax,0x112e0be826d694b3
649d8: 0b 2e 11
649db: 48 f7 ee imul rsi
649de: 48 89 f0 mov rax,rsi
649e1: 48 c1 f8 3f sar rax,0x3f
649e5: 48 c1 fa 1a sar rdx,0x1a
649e9: 48 2b d0 sub rdx,rax
649ec: 48 8b 85 e8 fe ff ff mov rax,QWORD PTR [rbp-0x118]
649f3: 48 03 c2 add rax,rdx
649f6: 48 89 85 18 ff ff ff mov QWORD PTR [rbp-0xe8],rax
649fd: 48 8d bd 10 ff ff ff lea rdi,[rbp-0xf0]
64a04: e8 b3 95 02 00 call 8dfbc <_D3std8datetime9stopwatch9StopWatch4peekMxFNbNiNfZS4core4time8Duration>
64a09: 48 89 85 28 ff ff ff mov QWORD PTR [rbp-0xd8],rax
64a10: c7 45 f8 00 00 00 00 mov DWORD PTR [rbp-0x8],0x0
64a17: 8b 5d f8 mov ebx,DWORD PTR [rbp-0x8]
64a1a: 48 8d 75 a0 lea rsi,[rbp-0x60] # start of loop
64a1e: 48 8d bd 40 ff ff ff lea rdi,[rbp-0xc0]
64a25: e8 e6 00 00 00 call 64b10 <_D14matrix_default__T3MatTfVki2Vki3ZQp__T8opBinaryVAyaa1_2aVki2ZQxMxFNaNbNiNfKxSQDa__TQCnTfVki3Vki2ZQDbZSQDz__TQDmTfVki2Vki2ZQEa>
64a2a: 48 8d 75 a0 lea rsi,[rbp-0x60]
64a2e: 48 8d bd 40 ff ff ff lea rdi,[rbp-0xc0]
64a35: e8 d6 00 00 00 call 64b10 <_D14matrix_default__T3MatTfVki2Vki3ZQp__T8opBinaryVAyaa1_2aVki2ZQxMxFNaNbNiNfKxSQDa__TQCnTfVki3Vki2ZQDbZSQDz__TQDmTfVki2Vki2ZQEa>
64a3a: c5 fb 11 85 d0 fe ff vmovsd QWORD PTR [rbp-0x130],xmm0
64a41: ff
64a42: dd 85 d0 fe ff ff fld QWORD PTR [rbp-0x130]
64a48: c5 fb 11 8d d0 fe ff vmovsd QWORD PTR [rbp-0x130],xmm1
64a4f: ff
64a50: dd 85 d0 fe ff ff fld QWORD PTR [rbp-0x130]
64a56: dd 9d 08 ff ff ff fstp QWORD PTR [rbp-0xf8]
64a5c: dd 9d 00 ff ff ff fstp QWORD PTR [rbp-0x100]
64a62: 83 c3 02 add ebx,0x2
64a65: 81 fb 40 42 0f 00 cmp ebx,0xf4240
64a6b: 72 ad jb 64a1a <_Dmain+0x1ee>
64a6d: 48 8d bd 10 ff ff ff lea rdi,[rbp-0xf0] # end of loop
64a74: e8 43 95 02 00 call 8dfbc <_D3std8datetime9stopwatch9StopWatch4peekMxFNbNiNfZS4core4time8Duration>
64a79: 48 89 85 30 ff ff ff mov QWORD PTR [rbp-0xd0],rax
64a80: dd 85 00 ff ff ff fld QWORD PTR [rbp-0x100]
64a86: dd 85 08 ff ff ff fld QWORD PTR [rbp-0xf8]
64a8c: dd 9d d0 fe ff ff fstp QWORD PTR [rbp-0x130]
64a92: c5 fb 10 8d d0 fe ff vmovsd xmm1,QWORD PTR [rbp-0x130]
64a99: ff
64a9a: dd 9d d0 fe ff ff fstp QWORD PTR [rbp-0x130]
64aa0: c5 fb 10 85 d0 fe ff vmovsd xmm0,QWORD PTR [rbp-0x130]
64aa7: ff
64aa8: e8 67 02 00 00 call 64d14 <_D3std5stdio__T7writelnTS14matrix_default__T3MatTfVki2Vki2ZQpZQBvFNfQBsZv>
64aad: 48 8b bd 30 ff ff ff mov rdi,QWORD PTR [rbp-0xd0]
64ab4: 48 2b bd 28 ff ff ff sub rdi,QWORD PTR [rbp-0xd8]
64abb: e8 d8 e7 00 00 call 73298 <_D3std5stdio__T7writelnTS4core4time8DurationZQBeFNfQBbZv>
64ac0: 31 c0 xor eax,eax
64ac2: 48 8b 9d b0 fe ff ff mov rbx,QWORD PTR [rbp-0x150]
64ac9: 4c 8b a5 b8 fe ff ff mov r12,QWORD PTR [rbp-0x148]
64ad0: 48 8b e5 mov rsp,rbp
64ad3: 5d pop rbp
64ad4: c3 ret
64ad5: 00 00 add BYTE PTR [rax],al
...
0000000000064ad8 <_D14matrix_default__T3MatTfVki2Vki3ZQp6__ctorMFNaNbNcNiNfyG2G3fZSQCl__TQByTfVki2Vki3ZQCm>:
64ad8: 48 89 f8 mov rax,rdi
64adb: 48 8d 74 24 08 lea rsi,[rsp+0x8]
64ae0: 48 8b f8 mov rdi,rax
64ae3: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64ae5: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64ae7: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64ae9: c3 ret
...
0000000000064aec <_D14matrix_default__T3MatTfVki3Vki2ZQp6__ctorMFNaNbNcNiNfyG3G2fZSQCl__TQByTfVki3Vki2ZQCm>:
64aec: 48 89 f8 mov rax,rdi
64aef: 48 8d 74 24 08 lea rsi,[rsp+0x8]
64af4: 48 8b f8 mov rdi,rax
64af7: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64af9: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64afb: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64afd: c3 ret
...
0000000000064b00 <_D14matrix_default__T3MatTfVki2Vki2ZQp6__ctorMFNaNbNcNiNfyG2G2fZSQCl__TQByTfVki2Vki2ZQCm>:
64b00: 48 89 f8 mov rax,rdi
64b03: 48 8d 74 24 08 lea rsi,[rsp+0x8]
64b08: 48 8b f8 mov rdi,rax
64b0b: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b0d: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b0f: c3 ret
0000000000064b10 <_D14matrix_default__T3MatTfVki2Vki3ZQp__T8opBinaryVAyaa1_2aVki2ZQxMxFNaNbNiNfKxSQDa__TQCnTfVki3Vki2ZQDbZSQDz__TQDmTfVki2Vki2ZQEa>:
64b10: 55 push rbp
64b11: 48 8b ec mov rbp,rsp
64b14: 48 83 ec 30 sub rsp,0x30
64b18: 48 89 5d d0 mov QWORD PTR [rbp-0x30],rbx
64b1c: 4c 89 65 d8 mov QWORD PTR [rbp-0x28],r12
64b20: 48 89 fb mov rbx,rdi
64b23: 49 89 f4 mov r12,rsi
64b26: 48 8d 05 33 4b 07 00 lea rax,[rip+0x74b33] # d9660 <_D14matrix_default__T3MatTfVki2Vki2ZQp6__initZ>
64b2d: c5 fb 10 00 vmovsd xmm0,QWORD PTR [rax]
64b31: c4 e1 fb 11 45 f0 vmovsd QWORD PTR [rbp-0x10],xmm0
64b37: c5 fb 10 48 08 vmovsd xmm1,QWORD PTR [rax+0x8]
64b3c: c4 e1 fb 11 4d f8 vmovsd QWORD PTR [rbp-0x8],xmm1
64b42: be 04 00 00 00 mov esi,0x4
64b47: 31 c0 xor eax,eax
64b49: 89 45 e0 mov DWORD PTR [rbp-0x20],eax
64b4c: c5 fa 10 45 e0 vmovss xmm0,DWORD PTR [rbp-0x20]
64b51: 48 8d 7d f0 lea rdi,[rbp-0x10]
64b55: e8 de 0a 02 00 call 85638 <_memsetFloat>
64b5a: c5 fa 10 0b vmovss xmm1,DWORD PTR [rbx]
64b5e: c4 c1 7a 10 14 24 vmovss xmm2,DWORD PTR [r12]
64b64: c5 f2 59 ca vmulss xmm1,xmm1,xmm2
64b68: c5 fa 10 45 f0 vmovss xmm0,DWORD PTR [rbp-0x10]
64b6d: c5 fa 58 c1 vaddss xmm0,xmm0,xmm1
64b71: c5 fa 11 45 f0 vmovss DWORD PTR [rbp-0x10],xmm0
64b76: c5 fa 10 1b vmovss xmm3,DWORD PTR [rbx]
64b7a: c4 c1 7a 10 64 24 04 vmovss xmm4,DWORD PTR [r12+0x4]
64b81: c5 e2 59 dc vmulss xmm3,xmm3,xmm4
64b85: c5 fa 10 4d f4 vmovss xmm1,DWORD PTR [rbp-0xc]
64b8a: c5 f2 58 cb vaddss xmm1,xmm1,xmm3
64b8e: c5 fa 11 4d f4 vmovss DWORD PTR [rbp-0xc],xmm1
64b93: c5 fa 10 53 04 vmovss xmm2,DWORD PTR [rbx+0x4]
64b98: c4 c1 7a 10 44 24 08 vmovss xmm0,DWORD PTR [r12+0x8]
64b9f: c5 ea 59 d0 vmulss xmm2,xmm2,xmm0
64ba3: c5 fa 10 5d f0 vmovss xmm3,DWORD PTR [rbp-0x10]
64ba8: c5 e2 58 da vaddss xmm3,xmm3,xmm2
64bac: c5 fa 11 5d f0 vmovss DWORD PTR [rbp-0x10],xmm3
64bb1: c5 fa 10 63 04 vmovss xmm4,DWORD PTR [rbx+0x4]
64bb6: c4 c1 7a 10 4c 24 0c vmovss xmm1,DWORD PTR [r12+0xc]
64bbd: c5 da 59 e1 vmulss xmm4,xmm4,xmm1
64bc1: c5 fa 10 55 f4 vmovss xmm2,DWORD PTR [rbp-0xc]
64bc6: c5 ea 58 d4 vaddss xmm2,xmm2,xmm4
64bca: c5 fa 11 55 f4 vmovss DWORD PTR [rbp-0xc],xmm2
64bcf: c5 fa 10 43 08 vmovss xmm0,DWORD PTR [rbx+0x8]
64bd4: c4 c1 7a 10 5c 24 10 vmovss xmm3,DWORD PTR [r12+0x10]
64bdb: c5 fa 59 c3 vmulss xmm0,xmm0,xmm3
64bdf: c5 fa 10 65 f0 vmovss xmm4,DWORD PTR [rbp-0x10]
64be4: c5 da 58 e0 vaddss xmm4,xmm4,xmm0
64be8: c5 fa 11 65 f0 vmovss DWORD PTR [rbp-0x10],xmm4
64bed: c5 fa 10 4b 08 vmovss xmm1,DWORD PTR [rbx+0x8]
64bf2: c4 c1 7a 10 54 24 14 vmovss xmm2,DWORD PTR [r12+0x14]
64bf9: c5 f2 59 ca vmulss xmm1,xmm1,xmm2
64bfd: c5 fa 10 45 f4 vmovss xmm0,DWORD PTR [rbp-0xc]
64c02: c5 fa 58 c1 vaddss xmm0,xmm0,xmm1
64c06: c5 fa 11 45 f4 vmovss DWORD PTR [rbp-0xc],xmm0
64c0b: c5 fa 10 5b 0c vmovss xmm3,DWORD PTR [rbx+0xc]
64c10: c4 c1 7a 10 24 24 vmovss xmm4,DWORD PTR [r12]
64c16: c5 e2 59 dc vmulss xmm3,xmm3,xmm4
64c1a: c5 fa 10 4d f8 vmovss xmm1,DWORD PTR [rbp-0x8]
64c1f: c5 f2 58 cb vaddss xmm1,xmm1,xmm3
64c23: c5 fa 11 4d f8 vmovss DWORD PTR [rbp-0x8],xmm1
64c28: c5 fa 10 53 0c vmovss xmm2,DWORD PTR [rbx+0xc]
64c2d: c4 c1 7a 10 44 24 04 vmovss xmm0,DWORD PTR [r12+0x4]
64c34: c5 ea 59 d0 vmulss xmm2,xmm2,xmm0
64c38: c5 fa 10 5d fc vmovss xmm3,DWORD PTR [rbp-0x4]
64c3d: c5 e2 58 da vaddss xmm3,xmm3,xmm2
64c41: c5 fa 11 5d fc vmovss DWORD PTR [rbp-0x4],xmm3
64c46: c5 fa 10 63 10 vmovss xmm4,DWORD PTR [rbx+0x10]
64c4b: c4 c1 7a 10 4c 24 08 vmovss xmm1,DWORD PTR [r12+0x8]
64c52: c5 da 59 e1 vmulss xmm4,xmm4,xmm1
64c56: c5 fa 10 55 f8 vmovss xmm2,DWORD PTR [rbp-0x8]
64c5b: c5 ea 58 d4 vaddss xmm2,xmm2,xmm4
64c5f: c5 fa 11 55 f8 vmovss DWORD PTR [rbp-0x8],xmm2
64c64: c5 fa 10 43 10 vmovss xmm0,DWORD PTR [rbx+0x10]
64c69: c4 c1 7a 10 5c 24 0c vmovss xmm3,DWORD PTR [r12+0xc]
64c70: c5 fa 59 c3 vmulss xmm0,xmm0,xmm3
64c74: c5 fa 10 65 fc vmovss xmm4,DWORD PTR [rbp-0x4]
64c79: c5 da 58 e0 vaddss xmm4,xmm4,xmm0
64c7d: c5 fa 11 65 fc vmovss DWORD PTR [rbp-0x4],xmm4
64c82: c5 fa 10 4b 14 vmovss xmm1,DWORD PTR [rbx+0x14]
64c87: c4 c1 7a 10 54 24 10 vmovss xmm2,DWORD PTR [r12+0x10]
64c8e: c5 f2 59 ca vmulss xmm1,xmm1,xmm2
64c92: c5 fa 10 45 f8 vmovss xmm0,DWORD PTR [rbp-0x8]
64c97: c5 fa 58 c1 vaddss xmm0,xmm0,xmm1
64c9b: c5 fa 11 45 f8 vmovss DWORD PTR [rbp-0x8],xmm0
64ca0: c5 fa 10 5b 14 vmovss xmm3,DWORD PTR [rbx+0x14]
64ca5: c4 c1 7a 10 64 24 14 vmovss xmm4,DWORD PTR [r12+0x14]
64cac: c5 e2 59 dc vmulss xmm3,xmm3,xmm4
64cb0: c5 fa 10 4d fc vmovss xmm1,DWORD PTR [rbp-0x4]
64cb5: c5 f2 58 cb vaddss xmm1,xmm1,xmm3
64cb9: c5 fa 11 4d fc vmovss DWORD PTR [rbp-0x4],xmm1
64cbe: dd 45 f0 fld QWORD PTR [rbp-0x10]
64cc1: dd 45 f8 fld QWORD PTR [rbp-0x8]
64cc4: dd 5d e0 fstp QWORD PTR [rbp-0x20]
64cc7: c5 fb 10 4d e0 vmovsd xmm1,QWORD PTR [rbp-0x20]
64ccc: dd 5d e0 fstp QWORD PTR [rbp-0x20]
64ccf: c5 fb 10 45 e0 vmovsd xmm0,QWORD PTR [rbp-0x20]
64cd4: 48 8b 5d d0 mov rbx,QWORD PTR [rbp-0x30]
64cd8: 4c 8b 65 d8 mov r12,QWORD PTR [rbp-0x28]
64cdc: 48 8b e5 mov rsp,rbp
64cdf: 5d pop rbp
64ce0: c3 ret
64ce1: 00 00 add BYTE PTR [rax],al
...
0000000000064ce4 <_D14matrix_default__T3MatTfVki2Vki2ZQp__T6__ctorTiZQkMFNaNbNcNiNfyiZSQCp__TQCcTfVki2Vki2ZQCq>:
64ce4: 55 push rbp
64ce5: 48 8b ec mov rbp,rsp
64ce8: 48 83 ec 10 sub rsp,0x10
64cec: 48 89 7d f0 mov QWORD PTR [rbp-0x10],rdi
64cf0: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
64cf3: be 04 00 00 00 mov esi,0x4
64cf8: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
64cfb: f3 0f 2a c0 cvtsi2ss xmm0,eax
64cff: 48 8b 7d f0 mov rdi,QWORD PTR [rbp-0x10]
64d03: e8 30 09 02 00 call 85638 <_memsetFloat>
64d08: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
64d0c: 48 8b e5 mov rsp,rbp
64d0f: 5d pop rbp
64d10: c3 ret
64d11: 00 00 add BYTE PTR [rax],al
...
matrix_void: file format elf64-x86-64
Disassembly of section .text:
000000000006482c <_Dmain>:
6482c: 55 push rbp
6482d: 48 8b ec mov rbp,rsp
64830: 48 81 ec 50 01 00 00 sub rsp,0x150
64837: 48 89 9d b0 fe ff ff mov QWORD PTR [rbp-0x150],rbx
6483e: 4c 89 a5 b8 fe ff ff mov QWORD PTR [rbp-0x148],r12
64845: 48 8d 85 40 ff ff ff lea rax,[rbp-0xc0]
6484c: 31 c9 xor ecx,ecx
6484e: 48 89 08 mov QWORD PTR [rax],rcx
64851: 48 89 48 08 mov QWORD PTR [rax+0x8],rcx
64855: 48 89 48 10 mov QWORD PTR [rax+0x10],rcx
64859: 89 8d d0 fe ff ff mov DWORD PTR [rbp-0x130],ecx
6485f: c5 fa 10 85 d0 fe ff vmovss xmm0,DWORD PTR [rbp-0x130]
64866: ff
64867: c5 fa 11 45 80 vmovss DWORD PTR [rbp-0x80],xmm0
6486c: c5 fa 10 0d 9c 77 05 vmovss xmm1,DWORD PTR [rip+0x5779c] # bc010 <_IO_stdin_used+0x10>
64873: 00
64874: c5 fa 11 4d 84 vmovss DWORD PTR [rbp-0x7c],xmm1
64879: c5 fa 10 15 93 77 05 vmovss xmm2,DWORD PTR [rip+0x57793] # bc014 <_IO_stdin_used+0x14>
64880: 00
64881: c5 fa 11 55 88 vmovss DWORD PTR [rbp-0x78],xmm2
64886: c5 fa 10 1d 8a 77 05 vmovss xmm3,DWORD PTR [rip+0x5778a] # bc018 <_IO_stdin_used+0x18>
6488d: 00
6488e: c5 fa 11 5d 8c vmovss DWORD PTR [rbp-0x74],xmm3
64893: c5 fa 10 25 81 77 05 vmovss xmm4,DWORD PTR [rip+0x57781] # bc01c <_IO_stdin_used+0x1c>
6489a: 00
6489b: c5 fa 11 65 90 vmovss DWORD PTR [rbp-0x70],xmm4
648a0: c5 fa 11 55 94 vmovss DWORD PTR [rbp-0x6c],xmm2
648a5: 48 8d 75 80 lea rsi,[rbp-0x80]
648a9: 48 8d bd 60 ff ff ff lea rdi,[rbp-0xa0]
648b0: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648b2: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648b4: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648b6: 48 8d 75 80 lea rsi,[rbp-0x80]
648ba: 48 8d bd 40 ff ff ff lea rdi,[rbp-0xc0]
648c1: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648c3: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648c5: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
648c7: 48 8d 45 a0 lea rax,[rbp-0x60]
648cb: 48 89 08 mov QWORD PTR [rax],rcx
648ce: 48 89 48 08 mov QWORD PTR [rax+0x8],rcx
648d2: 48 89 48 10 mov QWORD PTR [rax+0x10],rcx
648d6: c5 fa 10 05 42 77 05 vmovss xmm0,DWORD PTR [rip+0x57742] # bc020 <_IO_stdin_used+0x20>
648dd: 00
648de: c5 fa 11 45 e0 vmovss DWORD PTR [rbp-0x20],xmm0
648e3: c5 fa 11 4d e4 vmovss DWORD PTR [rbp-0x1c],xmm1
648e8: c5 fa 10 0d 34 77 05 vmovss xmm1,DWORD PTR [rip+0x57734] # bc024 <_IO_stdin_used+0x24>
648ef: 00
648f0: c5 fa 11 4d e8 vmovss DWORD PTR [rbp-0x18],xmm1
648f5: c5 fa 11 55 ec vmovss DWORD PTR [rbp-0x14],xmm2
648fa: c5 fa 10 15 26 77 05 vmovss xmm2,DWORD PTR [rip+0x57726] # bc028 <_IO_stdin_used+0x28>
64901: 00
64902: c5 fa 11 55 f0 vmovss DWORD PTR [rbp-0x10],xmm2
64907: c5 fa 11 4d f4 vmovss DWORD PTR [rbp-0xc],xmm1
6490c: 48 8d 75 e0 lea rsi,[rbp-0x20]
64910: 48 8d 7d c0 lea rdi,[rbp-0x40]
64914: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64916: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64918: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
6491a: 48 8d 75 e0 lea rsi,[rbp-0x20]
6491e: 48 8d 7d a0 lea rdi,[rbp-0x60]
64922: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64924: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64926: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64928: 48 8d 85 f0 fe ff ff lea rax,[rbp-0x110]
6492f: 48 89 08 mov QWORD PTR [rax],rcx
64932: 48 89 48 08 mov QWORD PTR [rax+0x8],rcx
64936: 48 8d 8d 10 ff ff ff lea rcx,[rbp-0xf0]
6493d: 31 d2 xor edx,edx
6493f: 48 89 11 mov QWORD PTR [rcx],rdx
64942: 48 89 51 08 mov QWORD PTR [rcx+0x8],rdx
64946: 48 89 51 10 mov QWORD PTR [rcx+0x10],rdx
6494a: c6 85 10 ff ff ff 01 mov BYTE PTR [rbp-0xf0],0x1
64951: 48 8d 1d 58 9e 08 00 lea rbx,[rip+0x89e58] # ee7b0 <_D4core4time15_ticksPerSecondyG8l>
64958: 48 39 13 cmp QWORD PTR [rbx],rdx
6495b: 75 28 jne 64985 <_Dmain+0x159>
6495d: 48 8d 15 dc 76 05 00 lea rdx,[rip+0x576dc] # bc040 <_TMP2>
64964: b8 5c 00 00 00 mov eax,0x5c
64969: 48 89 c1 mov rcx,rax
6496c: 49 89 d0 mov r8,rdx
6496f: 48 8d 15 27 77 05 00 lea rdx,[rip+0x57727] # bc09d <_TMP3>
64976: be 22 00 00 00 mov esi,0x22
6497b: bf 53 08 00 00 mov edi,0x853
64980: e8 33 c2 01 00 call 80bb8 <_D4core8internal5abortQgFNbNiNfMAyaMQemZv>
64985: 48 8d b5 00 ff ff ff lea rsi,[rbp-0x100]
6498c: bf 01 00 00 00 mov edi,0x1
64991: e8 aa f7 ff ff call 64140 <clock_gettime@plt>
64996: 48 8b 85 00 ff ff ff mov rax,QWORD PTR [rbp-0x100]
6499d: 48 69 c8 00 ca 9a 3b imul rcx,rax,0x3b9aca00
649a4: 48 03 8d 08 ff ff ff add rcx,QWORD PTR [rbp-0xf8]
649ab: 48 8d 15 fe 9d 08 00 lea rdx,[rip+0x89dfe] # ee7b0 <_D4core4time15_ticksPerSecondyG8l>
649b2: 4c 8b 22 mov r12,QWORD PTR [rdx]
649b5: 48 b8 b3 94 d6 26 e8 movabs rax,0x112e0be826d694b3
649bc: 0b 2e 11
649bf: 48 f7 e9 imul rcx
649c2: 48 89 c8 mov rax,rcx
649c5: 48 c1 f8 3f sar rax,0x3f
649c9: 48 c1 fa 1a sar rdx,0x1a
649cd: 48 2b d0 sub rdx,rax
649d0: 48 69 c2 00 ca 9a 3b imul rax,rdx,0x3b9aca00
649d7: 48 2b c8 sub rcx,rax
649da: 48 89 d0 mov rax,rdx
649dd: 48 89 ca mov rdx,rcx
649e0: 48 89 85 c0 fe ff ff mov QWORD PTR [rbp-0x140],rax
649e7: 49 0f af c4 imul rax,r12
649eb: 48 89 85 e8 fe ff ff mov QWORD PTR [rbp-0x118],rax
649f2: 48 8b 9d c0 fe ff ff mov rbx,QWORD PTR [rbp-0x140]
649f9: 48 89 d6 mov rsi,rdx
649fc: 49 0f af f4 imul rsi,r12
64a00: 48 b8 b3 94 d6 26 e8 movabs rax,0x112e0be826d694b3
64a07: 0b 2e 11
64a0a: 48 f7 ee imul rsi
64a0d: 48 89 f0 mov rax,rsi
64a10: 48 c1 f8 3f sar rax,0x3f
64a14: 48 c1 fa 1a sar rdx,0x1a
64a18: 48 2b d0 sub rdx,rax
64a1b: 48 8b 85 e8 fe ff ff mov rax,QWORD PTR [rbp-0x118]
64a22: 48 03 c2 add rax,rdx
64a25: 48 89 85 18 ff ff ff mov QWORD PTR [rbp-0xe8],rax
64a2c: 48 8d bd 10 ff ff ff lea rdi,[rbp-0xf0]
64a33: e8 cc 95 02 00 call 8e004 <_D3std8datetime9stopwatch9StopWatch4peekMxFNbNiNfZS4core4time8Duration>
64a38: 48 89 85 28 ff ff ff mov QWORD PTR [rbp-0xd8],rax
64a3f: c7 45 f8 00 00 00 00 mov DWORD PTR [rbp-0x8],0x0
64a46: 8b 5d f8 mov ebx,DWORD PTR [rbp-0x8]
64a49: 48 8d 75 a0 lea rsi,[rbp-0x60] # start of loop
64a4d: 48 8d bd 40 ff ff ff lea rdi,[rbp-0xc0]
64a54: e8 0f 01 00 00 call 64b68 <_D11matrix_void__T3MatTfVki2Vki3ZQp__T8opBinaryVAyaa1_2aVki2ZQxMxFNaNbNiNfKxSQCx__TQCnTfVki3Vki2ZQDbZSQDw__TQDmTfVki2Vki2ZQEa>
64a59: c5 fb 11 85 d0 fe ff vmovsd QWORD PTR [rbp-0x130],xmm0
64a60: ff
64a61: dd 85 d0 fe ff ff fld QWORD PTR [rbp-0x130]
64a67: c5 fb 11 8d d0 fe ff vmovsd QWORD PTR [rbp-0x130],xmm1
64a6e: ff
64a6f: dd 85 d0 fe ff ff fld QWORD PTR [rbp-0x130]
64a75: dd 9d f8 fe ff ff fstp QWORD PTR [rbp-0x108]
64a7b: dd 9d f0 fe ff ff fstp QWORD PTR [rbp-0x110]
64a81: 48 8d 75 a0 lea rsi,[rbp-0x60]
64a85: 48 8d bd 40 ff ff ff lea rdi,[rbp-0xc0]
64a8c: e8 d7 00 00 00 call 64b68 <_D11matrix_void__T3MatTfVki2Vki3ZQp__T8opBinaryVAyaa1_2aVki2ZQxMxFNaNbNiNfKxSQCx__TQCnTfVki3Vki2ZQDbZSQDw__TQDmTfVki2Vki2ZQEa>
64a91: c5 fb 11 85 d0 fe ff vmovsd QWORD PTR [rbp-0x130],xmm0
64a98: ff
64a99: dd 85 d0 fe ff ff fld QWORD PTR [rbp-0x130]
64a9f: c5 fb 11 8d d0 fe ff vmovsd QWORD PTR [rbp-0x130],xmm1
64aa6: ff
64aa7: dd 85 d0 fe ff ff fld QWORD PTR [rbp-0x130]
64aad: dd 9d f8 fe ff ff fstp QWORD PTR [rbp-0x108]
64ab3: dd 9d f0 fe ff ff fstp QWORD PTR [rbp-0x110]
64ab9: 83 c3 02 add ebx,0x2
64abc: 81 fb 40 42 0f 00 cmp ebx,0xf4240
64ac2: 0f 82 81 ff ff ff jb 64a49 <_Dmain+0x21d>
64ac8: 48 8d bd 10 ff ff ff lea rdi,[rbp-0xf0] # end of loop
64acf: e8 30 95 02 00 call 8e004 <_D3std8datetime9stopwatch9StopWatch4peekMxFNbNiNfZS4core4time8Duration>
64ad4: 48 89 85 30 ff ff ff mov QWORD PTR [rbp-0xd0],rax
64adb: dd 85 f0 fe ff ff fld QWORD PTR [rbp-0x110]
64ae1: dd 85 f8 fe ff ff fld QWORD PTR [rbp-0x108]
64ae7: dd 9d d0 fe ff ff fstp QWORD PTR [rbp-0x130]
64aed: c5 fb 10 8d d0 fe ff vmovsd xmm1,QWORD PTR [rbp-0x130]
64af4: ff
64af5: dd 9d d0 fe ff ff fstp QWORD PTR [rbp-0x130]
64afb: c5 fb 10 85 d0 fe ff vmovsd xmm0,QWORD PTR [rbp-0x130]
64b02: ff
64b03: e8 50 02 00 00 call 64d58 <_D3std5stdio__T7writelnTS11matrix_void__T3MatTfVki2Vki2ZQpZQBsFNfQBpZv>
64b08: 48 8b bd 30 ff ff ff mov rdi,QWORD PTR [rbp-0xd0]
64b0f: 48 2b bd 28 ff ff ff sub rdi,QWORD PTR [rbp-0xd8]
64b16: e8 c1 e7 00 00 call 732dc <_D3std5stdio__T7writelnTS4core4time8DurationZQBeFNfQBbZv>
64b1b: 31 c0 xor eax,eax
64b1d: 48 8b 9d b0 fe ff ff mov rbx,QWORD PTR [rbp-0x150]
64b24: 4c 8b a5 b8 fe ff ff mov r12,QWORD PTR [rbp-0x148]
64b2b: 48 8b e5 mov rsp,rbp
64b2e: 5d pop rbp
64b2f: c3 ret
0000000000064b30 <_D11matrix_void__T3MatTfVki2Vki3ZQp6__ctorMFNaNbNcNiNfyG2G3fZSQCi__TQByTfVki2Vki3ZQCm>:
64b30: 48 89 f8 mov rax,rdi
64b33: 48 8d 74 24 08 lea rsi,[rsp+0x8]
64b38: 48 8b f8 mov rdi,rax
64b3b: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b3d: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b3f: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b41: c3 ret
...
0000000000064b44 <_D11matrix_void__T3MatTfVki3Vki2ZQp6__ctorMFNaNbNcNiNfyG3G2fZSQCi__TQByTfVki3Vki2ZQCm>:
64b44: 48 89 f8 mov rax,rdi
64b47: 48 8d 74 24 08 lea rsi,[rsp+0x8]
64b4c: 48 8b f8 mov rdi,rax
64b4f: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b51: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b53: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b55: c3 ret
...
0000000000064b58 <_D11matrix_void__T3MatTfVki2Vki2ZQp6__ctorMFNaNbNcNiNfyG2G2fZSQCi__TQByTfVki2Vki2ZQCm>:
64b58: 48 89 f8 mov rax,rdi
64b5b: 48 8d 74 24 08 lea rsi,[rsp+0x8]
64b60: 48 8b f8 mov rdi,rax
64b63: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b65: 48 a5 movs QWORD PTR es:[rdi],QWORD PTR ds:[rsi]
64b67: c3 ret
0000000000064b68 <_D11matrix_void__T3MatTfVki2Vki3ZQp__T8opBinaryVAyaa1_2aVki2ZQxMxFNaNbNiNfKxSQCx__TQCnTfVki3Vki2ZQDbZSQDw__TQDmTfVki2Vki2ZQEa>:
64b68: 55 push rbp
64b69: 48 8b ec mov rbp,rsp
64b6c: 48 83 ec 30 sub rsp,0x30
64b70: 48 89 5d d0 mov QWORD PTR [rbp-0x30],rbx
64b74: 4c 89 65 d8 mov QWORD PTR [rbp-0x28],r12
64b78: 48 89 fb mov rbx,rdi
64b7b: 49 89 f4 mov r12,rsi
64b7e: 48 8d 45 f0 lea rax,[rbp-0x10]
64b82: 31 c9 xor ecx,ecx
64b84: 48 89 08 mov QWORD PTR [rax],rcx
64b87: 48 89 48 08 mov QWORD PTR [rax+0x8],rcx
64b8b: be 04 00 00 00 mov esi,0x4
64b90: 89 4d e0 mov DWORD PTR [rbp-0x20],ecx
64b93: c5 fa 10 45 e0 vmovss xmm0,DWORD PTR [rbp-0x20]
64b98: 48 89 c7 mov rdi,rax
64b9b: e8 e0 0a 02 00 call 85680 <_memsetFloat>
64ba0: c5 fa 10 0b vmovss xmm1,DWORD PTR [rbx]
64ba4: c4 c1 7a 10 14 24 vmovss xmm2,DWORD PTR [r12]
64baa: c5 f2 59 ca vmulss xmm1,xmm1,xmm2
64bae: c5 fa 10 5d f0 vmovss xmm3,DWORD PTR [rbp-0x10]
64bb3: c5 e2 58 d9 vaddss xmm3,xmm3,xmm1
64bb7: c5 fa 11 5d f0 vmovss DWORD PTR [rbp-0x10],xmm3
64bbc: c5 fa 10 03 vmovss xmm0,DWORD PTR [rbx]
64bc0: c4 c1 7a 10 64 24 04 vmovss xmm4,DWORD PTR [r12+0x4]
64bc7: c5 fa 59 c4 vmulss xmm0,xmm0,xmm4
64bcb: c5 fa 10 4d f4 vmovss xmm1,DWORD PTR [rbp-0xc]
64bd0: c5 f2 58 c8 vaddss xmm1,xmm1,xmm0
64bd4: c5 fa 11 4d f4 vmovss DWORD PTR [rbp-0xc],xmm1
64bd9: c5 fa 10 53 04 vmovss xmm2,DWORD PTR [rbx+0x4]
64bde: c4 c1 7a 10 5c 24 08 vmovss xmm3,DWORD PTR [r12+0x8]
64be5: c5 ea 59 d3 vmulss xmm2,xmm2,xmm3
64be9: c5 fa 10 45 f0 vmovss xmm0,DWORD PTR [rbp-0x10]
64bee: c5 fa 58 c2 vaddss xmm0,xmm0,xmm2
64bf2: c5 fa 11 45 f0 vmovss DWORD PTR [rbp-0x10],xmm0
64bf7: c5 fa 10 63 04 vmovss xmm4,DWORD PTR [rbx+0x4]
64bfc: c4 c1 7a 10 4c 24 0c vmovss xmm1,DWORD PTR [r12+0xc]
64c03: c5 da 59 e1 vmulss xmm4,xmm4,xmm1
64c07: c5 fa 10 55 f4 vmovss xmm2,DWORD PTR [rbp-0xc]
64c0c: c5 ea 58 d4 vaddss xmm2,xmm2,xmm4
64c10: c5 fa 11 55 f4 vmovss DWORD PTR [rbp-0xc],xmm2
64c15: c5 fa 10 5b 08 vmovss xmm3,DWORD PTR [rbx+0x8]
64c1a: c4 c1 7a 10 44 24 10 vmovss xmm0,DWORD PTR [r12+0x10]
64c21: c5 e2 59 d8 vmulss xmm3,xmm3,xmm0
64c25: c5 fa 10 65 f0 vmovss xmm4,DWORD PTR [rbp-0x10]
64c2a: c5 da 58 e3 vaddss xmm4,xmm4,xmm3
64c2e: c5 fa 11 65 f0 vmovss DWORD PTR [rbp-0x10],xmm4
64c33: c5 fa 10 4b 08 vmovss xmm1,DWORD PTR [rbx+0x8]
64c38: c4 c1 7a 10 54 24 14 vmovss xmm2,DWORD PTR [r12+0x14]
64c3f: c5 f2 59 ca vmulss xmm1,xmm1,xmm2
64c43: c5 fa 10 5d f4 vmovss xmm3,DWORD PTR [rbp-0xc]
64c48: c5 e2 58 d9 vaddss xmm3,xmm3,xmm1
64c4c: c5 fa 11 5d f4 vmovss DWORD PTR [rbp-0xc],xmm3
64c51: c5 fa 10 43 0c vmovss xmm0,DWORD PTR [rbx+0xc]
64c56: c4 c1 7a 10 24 24 vmovss xmm4,DWORD PTR [r12]
64c5c: c5 fa 59 c4 vmulss xmm0,xmm0,xmm4
64c60: c5 fa 10 4d f8 vmovss xmm1,DWORD PTR [rbp-0x8]
64c65: c5 f2 58 c8 vaddss xmm1,xmm1,xmm0
64c69: c5 fa 11 4d f8 vmovss DWORD PTR [rbp-0x8],xmm1
64c6e: c5 fa 10 53 0c vmovss xmm2,DWORD PTR [rbx+0xc]
64c73: c4 c1 7a 10 5c 24 04 vmovss xmm3,DWORD PTR [r12+0x4]
64c7a: c5 ea 59 d3 vmulss xmm2,xmm2,xmm3
64c7e: c5 fa 10 45 fc vmovss xmm0,DWORD PTR [rbp-0x4]
64c83: c5 fa 58 c2 vaddss xmm0,xmm0,xmm2
64c87: c5 fa 11 45 fc vmovss DWORD PTR [rbp-0x4],xmm0
64c8c: c5 fa 10 63 10 vmovss xmm4,DWORD PTR [rbx+0x10]
64c91: c4 c1 7a 10 4c 24 08 vmovss xmm1,DWORD PTR [r12+0x8]
64c98: c5 da 59 e1 vmulss xmm4,xmm4,xmm1
64c9c: c5 fa 10 55 f8 vmovss xmm2,DWORD PTR [rbp-0x8]
64ca1: c5 ea 58 d4 vaddss xmm2,xmm2,xmm4
64ca5: c5 fa 11 55 f8 vmovss DWORD PTR [rbp-0x8],xmm2
64caa: c5 fa 10 5b 10 vmovss xmm3,DWORD PTR [rbx+0x10]
64caf: c4 c1 7a 10 44 24 0c vmovss xmm0,DWORD PTR [r12+0xc]
64cb6: c5 e2 59 d8 vmulss xmm3,xmm3,xmm0
64cba: c5 fa 10 65 fc vmovss xmm4,DWORD PTR [rbp-0x4]
64cbf: c5 da 58 e3 vaddss xmm4,xmm4,xmm3
64cc3: c5 fa 11 65 fc vmovss DWORD PTR [rbp-0x4],xmm4
64cc8: c5 fa 10 4b 14 vmovss xmm1,DWORD PTR [rbx+0x14]
64ccd: c4 c1 7a 10 54 24 10 vmovss xmm2,DWORD PTR [r12+0x10]
64cd4: c5 f2 59 ca vmulss xmm1,xmm1,xmm2
64cd8: c5 fa 10 5d f8 vmovss xmm3,DWORD PTR [rbp-0x8]
64cdd: c5 e2 58 d9 vaddss xmm3,xmm3,xmm1
64ce1: c5 fa 11 5d f8 vmovss DWORD PTR [rbp-0x8],xmm3
64ce6: c5 fa 10 43 14 vmovss xmm0,DWORD PTR [rbx+0x14]
64ceb: c4 c1 7a 10 64 24 14 vmovss xmm4,DWORD PTR [r12+0x14]
64cf2: c5 fa 59 c4 vmulss xmm0,xmm0,xmm4
64cf6: c5 fa 10 4d fc vmovss xmm1,DWORD PTR [rbp-0x4]
64cfb: c5 f2 58 c8 vaddss xmm1,xmm1,xmm0
64cff: c5 fa 11 4d fc vmovss DWORD PTR [rbp-0x4],xmm1
64d04: dd 45 f0 fld QWORD PTR [rbp-0x10]
64d07: dd 45 f8 fld QWORD PTR [rbp-0x8]
64d0a: dd 5d e0 fstp QWORD PTR [rbp-0x20]
64d0d: c5 fb 10 4d e0 vmovsd xmm1,QWORD PTR [rbp-0x20]
64d12: dd 5d e0 fstp QWORD PTR [rbp-0x20]
64d15: c5 fb 10 45 e0 vmovsd xmm0,QWORD PTR [rbp-0x20]
64d1a: 48 8b 5d d0 mov rbx,QWORD PTR [rbp-0x30]
64d1e: 4c 8b 65 d8 mov r12,QWORD PTR [rbp-0x28]
64d22: 48 8b e5 mov rsp,rbp
64d25: 5d pop rbp
64d26: c3 ret
...
0000000000064d28 <_D11matrix_void__T3MatTfVki2Vki2ZQp__T6__ctorTiZQkMFNaNbNcNiNfyiZSQCm__TQCcTfVki2Vki2ZQCq>:
64d28: 55 push rbp
64d29: 48 8b ec mov rbp,rsp
64d2c: 48 83 ec 10 sub rsp,0x10
64d30: 48 89 7d f0 mov QWORD PTR [rbp-0x10],rdi
64d34: 89 75 f8 mov DWORD PTR [rbp-0x8],esi
64d37: be 04 00 00 00 mov esi,0x4
64d3c: 8b 45 f8 mov eax,DWORD PTR [rbp-0x8]
64d3f: f3 0f 2a c0 cvtsi2ss xmm0,eax
64d43: 48 8b 7d f0 mov rdi,QWORD PTR [rbp-0x10]
64d47: e8 34 09 02 00 call 85680 <_memsetFloat>
64d4c: 48 8b 45 f0 mov rax,QWORD PTR [rbp-0x10]
64d50: 48 8b e5 mov rsp,rbp
64d53: 5d pop rbp
64d54: c3 ret
64d55: 00 00 add BYTE PTR [rax],al
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment