Created
August 7, 2025 04:53
-
-
Save max0x7ba/48a46e45169582889ea24fe20b552fc2 to your computer and use it in GitHub Desktop.
es::Strategy2Sim::replay_b assembly
This file contains hidden or 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
0000000000000780 <es::Strategy2Sim::replay_b(es::AlphaTerms const&, double*, unsigned long, double) const>: | |
780: f3 0f 1e fa endbr64 | |
784: c4 e2 7d 23 5e 10 vpmovsxwd ymm3,XMMWORD PTR [rsi+0x10] | |
78a: c5 fb 10 7f 10 vmovsd xmm7,QWORD PTR [rdi+0x10] | |
78f: c5 f9 10 27 vmovupd xmm4,XMMWORD PTR [rdi] | |
793: c5 f1 57 c9 vxorpd xmm1,xmm1,xmm1 | |
797: 48 8d 79 ff lea rdi,[rcx-0x1] | |
79b: c5 fa 7e 16 vmovq xmm2,QWORD PTR [rsi] | |
79f: 48 8b 46 08 mov rax,QWORD PTR [rsi+0x8] | |
7a3: 31 c9 xor ecx,ecx | |
7a5: c5 fb 11 0a vmovsd QWORD PTR [rdx],xmm1 | |
7a9: c5 c1 14 c0 vunpcklpd xmm0,xmm7,xmm0 | |
7ad: c5 f9 28 3d 00 00 00 vmovapd xmm7,XMMWORD PTR [rip+0x0] # 7b5 <es::Strategy2Sim::replay_b(es::AlphaTerms const&, double*, unsigned long, double) const+0x35> | |
7b4: 00 | |
7b5: c4 e3 5d 18 e0 01 vinsertf128 ymm4,ymm4,xmm0,0x1 | |
7bb: e9 84 01 00 00 jmp 944 <es::Strategy2Sim::replay_b(es::AlphaTerms const&, double*, unsigned long, double) const+0x1c4> | |
7c0: c5 7b 10 00 vmovsd xmm8,QWORD PTR [rax] | |
7c4: c5 fd 72 f6 1f vpslld ymm0,ymm6,0x1f | |
7c9: c5 b5 72 f5 1f vpslld ymm9,ymm5,0x1f | |
7ce: c5 fd 72 e0 1f vpsrad ymm0,ymm0,0x1f | |
7d3: c4 c1 35 72 e1 1f vpsrad ymm9,ymm9,0x1f | |
7d9: c5 fd db c3 vpand ymm0,ymm0,ymm3 | |
7dd: c5 35 db cb vpand ymm9,ymm9,ymm3 | |
7e1: 48 ff c1 inc rcx | |
7e4: c4 c1 7d fa c1 vpsubd ymm0,ymm0,ymm9 | |
7e9: c5 cd 72 d6 01 vpsrld ymm6,ymm6,0x1 | |
7ee: c5 d5 72 d5 01 vpsrld ymm5,ymm5,0x1 | |
7f3: c4 c3 7d 39 c1 01 vextracti128 xmm9,ymm0,0x1 | |
7f9: c4 c1 79 fe c1 vpaddd xmm0,xmm0,xmm9 | |
7fe: c4 e2 79 02 c0 vphaddd xmm0,xmm0,xmm0 | |
803: c4 e2 79 02 c0 vphaddd xmm0,xmm0,xmm0 | |
808: c5 fa e6 c0 vcvtdq2pd xmm0,xmm0 | |
80c: c4 c3 7d 19 e1 01 vextractf128 xmm9,ymm4,0x1 | |
812: c4 c1 79 14 c0 vunpcklpd xmm0,xmm0,xmm8 | |
817: c4 62 e9 98 c8 vfmadd132pd xmm9,xmm2,xmm0 | |
81c: c5 41 15 df vunpckhpd xmm11,xmm7,xmm7 | |
820: c4 41 73 58 db vaddsd xmm11,xmm1,xmm11 | |
825: c5 23 5d df vminsd xmm11,xmm11,xmm7 | |
829: c5 23 5c e9 vsubsd xmm13,xmm11,xmm1 | |
82d: c5 c3 5c c1 vsubsd xmm0,xmm7,xmm1 | |
831: c4 41 31 7d c9 vhsubpd xmm9,xmm9,xmm9 | |
836: c4 41 7b 12 ed vmovddup xmm13,xmm13 | |
83b: c4 41 43 5c e3 vsubsd xmm12,xmm7,xmm11 | |
840: c4 41 73 59 d1 vmulsd xmm10,xmm1,xmm9 | |
845: c4 41 f9 7e e2 vmovq r10,xmm12 | |
84a: c4 e2 a9 99 c2 vfmadd132sd xmm0,xmm10,xmm2 | |
84f: c4 41 59 59 d5 vmulpd xmm10,xmm4,xmm13 | |
854: c5 f1 14 c0 vunpcklpd xmm0,xmm1,xmm0 | |
858: 48 83 c2 08 add rdx,0x8 | |
85c: 48 83 c0 08 add rax,0x8 | |
860: c4 41 79 28 fa vmovapd xmm15,xmm10 | |
865: c4 41 29 15 d2 vunpckhpd xmm10,xmm10,xmm10 | |
86a: c4 41 09 57 f6 vxorpd xmm14,xmm14,xmm14 | |
86f: c4 43 01 4b f6 d0 vblendvpd xmm14,xmm15,xmm14,xmm13 | |
875: c4 41 19 57 e4 vxorpd xmm12,xmm12,xmm12 | |
87a: c4 43 19 4b e2 d0 vblendvpd xmm12,xmm12,xmm10,xmm13 | |
880: c4 43 29 4b d7 d0 vblendvpd xmm10,xmm10,xmm15,xmm13 | |
886: c4 41 23 5c ee vsubsd xmm13,xmm11,xmm14 | |
88b: c4 41 f9 6e f2 vmovq xmm14,r10 | |
890: c4 41 0b 5c e4 vsubsd xmm12,xmm14,xmm12 | |
895: c4 41 13 59 e9 vmulsd xmm13,xmm13,xmm9 | |
89a: c4 62 91 99 e2 vfmadd132sd xmm12,xmm13,xmm2 | |
89f: c4 41 2b 58 d4 vaddsd xmm10,xmm10,xmm12 | |
8a4: c4 41 21 14 da vunpcklpd xmm11,xmm11,xmm10 | |
8a9: c4 41 79 c2 d3 01 vcmpltpd xmm10,xmm0,xmm11 | |
8af: c4 41 29 15 d2 vunpckhpd xmm10,xmm10,xmm10 | |
8b4: c4 c3 79 4b c3 a0 vblendvpd xmm0,xmm0,xmm11,xmm10 | |
8ba: c5 41 15 d7 vunpckhpd xmm10,xmm7,xmm7 | |
8be: c4 41 73 5c d2 vsubsd xmm10,xmm1,xmm10 | |
8c3: c4 41 21 57 db vxorpd xmm11,xmm11,xmm11 | |
8c8: c4 43 29 4b d3 a0 vblendvpd xmm10,xmm10,xmm11,xmm10 | |
8ce: c5 ab 5c c9 vsubsd xmm1,xmm10,xmm1 | |
8d2: c5 7b 12 d9 vmovddup xmm11,xmm1 | |
8d6: c4 41 59 59 c3 vmulpd xmm8,xmm4,xmm11 | |
8db: c4 c1 43 5c ca vsubsd xmm1,xmm7,xmm10 | |
8e0: c4 41 79 28 e8 vmovapd xmm13,xmm8 | |
8e5: c4 41 39 15 c0 vunpckhpd xmm8,xmm8,xmm8 | |
8ea: c4 41 19 57 e4 vxorpd xmm12,xmm12,xmm12 | |
8ef: c4 43 11 4b e4 b0 vblendvpd xmm12,xmm13,xmm12,xmm11 | |
8f5: c4 41 2b 5c e4 vsubsd xmm12,xmm10,xmm12 | |
8fa: c4 41 09 57 f6 vxorpd xmm14,xmm14,xmm14 | |
8ff: c4 43 09 4b f0 b0 vblendvpd xmm14,xmm14,xmm8,xmm11 | |
905: c4 43 39 4b c5 b0 vblendvpd xmm8,xmm8,xmm13,xmm11 | |
90b: c4 41 1b 59 c9 vmulsd xmm9,xmm12,xmm9 | |
910: c4 c1 73 5c ce vsubsd xmm1,xmm1,xmm14 | |
915: c4 e2 b1 99 ca vfmadd132sd xmm1,xmm9,xmm2 | |
91a: c5 3b 58 c1 vaddsd xmm8,xmm8,xmm1 | |
91e: c4 41 29 14 d0 vunpcklpd xmm10,xmm10,xmm8 | |
923: c4 c1 79 c2 ca 01 vcmpltpd xmm1,xmm0,xmm10 | |
929: c5 f1 15 c9 vunpckhpd xmm1,xmm1,xmm1 | |
92d: c4 c3 79 4b c2 10 vblendvpd xmm0,xmm0,xmm10,xmm1 | |
933: c5 f9 28 c8 vmovapd xmm1,xmm0 | |
937: c5 fb 11 02 vmovsd QWORD PTR [rdx],xmm0 | |
93b: 48 39 f9 cmp rcx,rdi | |
93e: 0f 83 ac 00 00 00 jae 9f0 <es::Strategy2Sim::replay_b(es::AlphaTerms const&, double*, unsigned long, double) const+0x270> | |
944: f6 c1 1f test cl,0x1f | |
947: 0f 85 73 fe ff ff jne 7c0 <es::Strategy2Sim::replay_b(es::AlphaTerms const&, double*, unsigned long, double) const+0x40> | |
94d: 4c 8b 4e 28 mov r9,QWORD PTR [rsi+0x28] | |
951: 49 89 c8 mov r8,rcx | |
954: 49 c1 e8 05 shr r8,0x5 | |
958: c4 81 79 6e 34 81 vmovd xmm6,DWORD PTR [r9+r8*4] | |
95e: 4c 8b 4e 38 mov r9,QWORD PTR [rsi+0x38] | |
962: c4 83 49 22 34 81 01 vpinsrd xmm6,xmm6,DWORD PTR [r9+r8*4],0x1 | |
969: 4c 8b 4e 48 mov r9,QWORD PTR [rsi+0x48] | |
96d: c4 83 49 22 34 81 02 vpinsrd xmm6,xmm6,DWORD PTR [r9+r8*4],0x2 | |
974: 4c 8b 4e 58 mov r9,QWORD PTR [rsi+0x58] | |
978: c4 83 49 22 34 81 03 vpinsrd xmm6,xmm6,DWORD PTR [r9+r8*4],0x3 | |
97f: 4c 8b 4e 68 mov r9,QWORD PTR [rsi+0x68] | |
983: c4 81 79 6e 04 81 vmovd xmm0,DWORD PTR [r9+r8*4] | |
989: 4c 8b 4e 78 mov r9,QWORD PTR [rsi+0x78] | |
98d: c4 83 79 22 04 81 01 vpinsrd xmm0,xmm0,DWORD PTR [r9+r8*4],0x1 | |
994: 4c 8b 4e 20 mov r9,QWORD PTR [rsi+0x20] | |
998: c4 81 79 6e 2c 81 vmovd xmm5,DWORD PTR [r9+r8*4] | |
99e: 4c 8b 4e 30 mov r9,QWORD PTR [rsi+0x30] | |
9a2: c4 83 51 22 2c 81 01 vpinsrd xmm5,xmm5,DWORD PTR [r9+r8*4],0x1 | |
9a9: 4c 8b 4e 40 mov r9,QWORD PTR [rsi+0x40] | |
9ad: c4 e3 4d 38 f0 01 vinserti128 ymm6,ymm6,xmm0,0x1 | |
9b3: c4 83 51 22 2c 81 02 vpinsrd xmm5,xmm5,DWORD PTR [r9+r8*4],0x2 | |
9ba: 4c 8b 4e 50 mov r9,QWORD PTR [rsi+0x50] | |
9be: c4 83 51 22 2c 81 03 vpinsrd xmm5,xmm5,DWORD PTR [r9+r8*4],0x3 | |
9c5: 4c 8b 4e 60 mov r9,QWORD PTR [rsi+0x60] | |
9c9: c4 81 79 6e 04 81 vmovd xmm0,DWORD PTR [r9+r8*4] | |
9cf: 4c 8b 4e 70 mov r9,QWORD PTR [rsi+0x70] | |
9d3: c4 83 79 22 04 81 01 vpinsrd xmm0,xmm0,DWORD PTR [r9+r8*4],0x1 | |
9da: c4 e3 55 38 e8 01 vinserti128 ymm5,ymm5,xmm0,0x1 | |
9e0: e9 db fd ff ff jmp 7c0 <es::Strategy2Sim::replay_b(es::AlphaTerms const&, double*, unsigned long, double) const+0x40> | |
9e5: 66 66 2e 0f 1f 84 00 data16 cs nop WORD PTR [rax+rax*1+0x0] | |
9ec: 00 00 00 00 | |
9f0: c5 f8 77 vzeroupper | |
9f3: c3 ret |
This file contains hidden or 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
Compiled with g++-14.2.0 | |
g++-14 -o /home/max/src/quant-research/.build/release/gcc-14/es/replay.o -c -I{3rd-party,include,.build/release/gcc-14} -DNDEBUG -std=c++20 -pthread -g -m{arch=native,asm=intel} -f{PIC,no-plt,no-math-errno,finite-math-only,align-functions=64,lax-vector-conversions,message-length=0} -W{all,extra,error} -Wno-{unused-parameter,comment,interference-size} -save-temps=obj -fverbose-asm -O2 -fgcse-after-reload -mtune=native -MD -MP /home/max/src/quant-research/es/replay.cc |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment