Add an example 64-bit msvc compile
parent
01af481694
commit
ecb5aa34a0
@ -0,0 +1,113 @@
|
||||
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.00.23918.0
|
||||
|
||||
INCLUDELIB LIBCMT
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
PUBLIC ?testFunction@@YAHPEAHH@Z
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$?testFunction@@YAHPEAHH@Z DD imagerel $LN22
|
||||
DD imagerel $LN22+225
|
||||
DD imagerel $unwind$?testFunction@@YAHPEAHH@Z
|
||||
pdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$?testFunction@@YAHPEAHH@Z DD 020501H
|
||||
DD 013405H
|
||||
xdata ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; COMDAT ?testFunction@@YAHPEAHH@Z
|
||||
_TEXT SEGMENT
|
||||
input$ = 8
|
||||
length$ = 16
|
||||
testFunction, COMDAT PROC
|
||||
|
||||
$LN22:
|
||||
mov QWORD PTR [rsp+8], rbx
|
||||
|
||||
xor r8d, r8d
|
||||
movsxd rbx, edx
|
||||
mov r9, rcx
|
||||
mov r11d, r8d
|
||||
|
||||
mov r10d, r8d
|
||||
test edx, edx
|
||||
jle SHORT $LN9@testFuncti
|
||||
cmp ebx, 8
|
||||
jb SHORT $LN9@testFuncti
|
||||
mov eax, ebx
|
||||
and eax, -2147483641 ; ffffffff80000007H
|
||||
jge SHORT $LN19@testFuncti
|
||||
dec eax
|
||||
or eax, -8
|
||||
inc eax
|
||||
$LN19@testFuncti:
|
||||
mov edx, ebx
|
||||
xorps xmm2, xmm2
|
||||
sub edx, eax
|
||||
movdqa xmm1, xmm2
|
||||
|
||||
npad 8
|
||||
$LL4@testFuncti:
|
||||
|
||||
movsxd rax, r10d
|
||||
|
||||
movdqu xmm0, XMMWORD PTR [r9+rax*4]
|
||||
lea eax, DWORD PTR [r10+4]
|
||||
add r10d, 8
|
||||
movsxd rcx, eax
|
||||
paddd xmm0, xmm2
|
||||
movdqa xmm2, xmm0
|
||||
|
||||
movdqu xmm0, XMMWORD PTR [r9+rcx*4]
|
||||
paddd xmm0, xmm1
|
||||
movdqa xmm1, xmm0
|
||||
cmp r10d, edx
|
||||
jl SHORT $LL4@testFuncti
|
||||
paddd xmm1, xmm2
|
||||
movdqa xmm0, xmm1
|
||||
psrldq xmm0, 8
|
||||
paddd xmm1, xmm0
|
||||
movdqa xmm0, xmm1
|
||||
psrldq xmm0, 4
|
||||
paddd xmm1, xmm0
|
||||
movd r11d, xmm1
|
||||
$LN9@testFuncti:
|
||||
movsxd rcx, r10d
|
||||
|
||||
mov edx, r8d
|
||||
cmp rcx, rbx
|
||||
jge SHORT $LN20@testFuncti
|
||||
mov rax, rbx
|
||||
sub rax, rcx
|
||||
cmp rax, 2
|
||||
jl SHORT $LC14@testFuncti
|
||||
lea rax, QWORD PTR [rbx-1]
|
||||
npad 3
|
||||
$LL16@testFuncti:
|
||||
|
||||
add r8d, DWORD PTR [r9+rcx*4]
|
||||
add edx, DWORD PTR [r9+rcx*4+4]
|
||||
add rcx, 2
|
||||
cmp rcx, rax
|
||||
jl SHORT $LL16@testFuncti
|
||||
$LC14@testFuncti:
|
||||
|
||||
cmp rcx, rbx
|
||||
jge SHORT $LN15@testFuncti
|
||||
|
||||
add r11d, DWORD PTR [r9+rcx*4]
|
||||
$LN15@testFuncti:
|
||||
|
||||
lea eax, DWORD PTR [rdx+r8]
|
||||
add eax, r11d
|
||||
|
||||
mov rbx, QWORD PTR [rsp+8]
|
||||
ret 0
|
||||
$LN20@testFuncti:
|
||||
mov rbx, QWORD PTR [rsp+8]
|
||||
mov eax, r11d
|
||||
ret 0
|
||||
testFunction ENDP
|
||||
_TEXT ENDS
|
||||
END
|
Loading…
Reference in New Issue