blob: 89eed4a7df388891cbd6633c263c707ec40f23ae [file] [log] [blame] [raw]
; 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