Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void (*helpers[10])(float *, float*) __attribute__((sysv_abi));
- __attribute__((ms_abi))
- void outer(float *p) {
- helpers[0](p, p+10);
- helpers[1](p, p+10);
- helpers[2](p+20, p+30);
- }
- outer: # @outer
- push r14
- push rsi
- push rdi
- push rbx
- sub rsp, 168
- vmovaps xmmword ptr [rsp + 144], xmm15 # 16-byte Spill
- vmovaps xmmword ptr [rsp + 128], xmm14 # 16-byte Spill
- vmovaps xmmword ptr [rsp + 112], xmm13 # 16-byte Spill
- vmovaps xmmword ptr [rsp + 96], xmm12 # 16-byte Spill
- vmovaps xmmword ptr [rsp + 80], xmm11 # 16-byte Spill
- vmovaps xmmword ptr [rsp + 64], xmm10 # 16-byte Spill
- vmovaps xmmword ptr [rsp + 48], xmm9 # 16-byte Spill
- vmovaps xmmword ptr [rsp + 32], xmm8 # 16-byte Spill
- vmovaps xmmword ptr [rsp + 16], xmm7 # 16-byte Spill
- vmovaps xmmword ptr [rsp], xmm6 # 16-byte Spill
- mov rbx, rcx # save p
- lea r14, [rcx + 40]
- mov rdi, rcx
- mov rsi, r14
- call qword ptr [rip + helpers]
- mov rdi, rbx
- mov rsi, r14
- call qword ptr [rip + helpers+8]
- lea rdi, [rbx + 80]
- lea rsi, [rbx + 120]
- call qword ptr [rip + helpers+16]
- vmovaps xmm6, xmmword ptr [rsp] # 16-byte Reload
- vmovaps xmm7, xmmword ptr [rsp + 16] # 16-byte Reload
- vmovaps xmm8, xmmword ptr [rsp + 32] # 16-byte Reload
- vmovaps xmm9, xmmword ptr [rsp + 48] # 16-byte Reload
- vmovaps xmm10, xmmword ptr [rsp + 64] # 16-byte Reload
- vmovaps xmm11, xmmword ptr [rsp + 80] # 16-byte Reload
- vmovaps xmm12, xmmword ptr [rsp + 96] # 16-byte Reload
- vmovaps xmm13, xmmword ptr [rsp + 112] # 16-byte Reload
- vmovaps xmm14, xmmword ptr [rsp + 128] # 16-byte Reload
- vmovaps xmm15, xmmword ptr [rsp + 144] # 16-byte Reload
- add rsp, 168
- pop rbx
- pop rdi
- pop rsi
- pop r14
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement