; Listing generated by Microsoft (R) Optimizing Compiler Version 19.41.34123.0

include listing.inc

INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES

msvcjmc	SEGMENT
__68D132EB_concurrencysal@h DB 01H
__4DC47379_sal@h DB 01H
__B6ADDB23_vadefs@h DB 01H
__A2A1025A_vcruntime@h DB 01H
__0EF3BC42_intrin0@inl@h DB 01H
__5EC35D46_setjmp@h DB 01H
__368E74E0_mmintrin@h DB 01H
__735960E1_corecrt@h DB 01H
__211DB995_corecrt_malloc@h DB 01H
__7CD62D9E_malloc@h DB 01H
__22746E0E_xmmintrin@h DB 01H
__4716E7C2_emmintrin@h DB 01H
__98B78F4B_pmmintrin@h DB 01H
__286EFCC9_tmmintrin@h DB 01H
__0155E94A_smmintrin@h DB 01H
__64376086_nmmintrin@h DB 01H
__B18C9AC8_wmmintrin@h DB 01H
__7A18D7CF_zmmintrin@h DB 01H
__4D0C7505_immintrin@h DB 01H
__F7CF9440_ammintrin@h DB 01H
__78F5E131_intrin@h DB 01H
__6A584D4A_iacaMarks@h DB 01H
__FAC6D534_triad@c DB 01H
msvcjmc	ENDS
PUBLIC	kernel
PUBLIC	__JustMyCode_Default
EXTRN	dummy:PROC
EXTRN	__CheckForDebuggerJustMyCode:PROC
EXTRN	_fltused:DWORD
;	COMDAT pdata
pdata	SEGMENT
$pdata$kernel DD imagerel $LN18
	DD	imagerel $LN18+182
	DD	imagerel $unwind$kernel
pdata	ENDS
;	COMDAT voltbl
voltbl	SEGMENT
_volmd	DB	05bH
	DB	079H
voltbl	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$kernel DD 0c2001H
	DD	026820H
	DD	0b7419H
	DD	0a6419H
	DD	095419H
	DD	083419H
	DD	0e0155219H
xdata	ENDS
; Function compile flags: /Odt
;	COMDAT __JustMyCode_Default
_TEXT	SEGMENT
__JustMyCode_Default PROC				; COMDAT
	ret	0
__JustMyCode_Default ENDP
_TEXT	ENDS
; Function compile flags: /Ogspy
;	COMDAT kernel
_TEXT	SEGMENT
a$ = 64
b$ = 72
c$ = 80
s$ = 88
repeat$ = 96
cur_elements$ = 104
kernel	PROC						; COMDAT
; File C:\Users\phl.bastiani\Projects\OSACA\validation\kernels\triad.c
; Line 22
$LN18:
	mov	rax, rsp
	mov	QWORD PTR [rax+8], rbx
	mov	QWORD PTR [rax+16], rbp
	mov	QWORD PTR [rax+24], rsi
	mov	QWORD PTR [rax+32], rdi
	push	r14
	sub	rsp, 48					; 00000030H
	mov	rbp, rcx
	movaps	XMMWORD PTR [rax-24], xmm6
	lea	rcx, OFFSET FLAT:__FAC6D534_triad@c
	movaps	xmm6, xmm3
	mov	r14, r8
	mov	rdi, rdx
	call	__CheckForDebuggerJustMyCode
	mov	eax, DWORD PTR repeat$[rsp]
	movsxd	rsi, DWORD PTR cur_elements$[rsp]
	test	eax, eax
	jle	SHORT $LN3@kernel
	mov	ebx, eax
$LL4@kernel:
; Line 24
	test	rsi, rsi
	jle	SHORT $LN6@kernel
	mov	rcx, r14
	mov	rdx, rbp
	sub	rcx, rdi
	mov	rax, rdi
	sub	rdx, rdi
	mov	r8, rsi
$LL7@kernel:
; Line 26
	mov	BYTE PTR gs:111, 111			; 0000006fH
; Line 28
	movaps	xmm0, xmm6
	mulsd	xmm0, QWORD PTR [rax+rcx]
	addsd	xmm0, QWORD PTR [rax]
	movsd	QWORD PTR [rdx+rax], xmm0
	add	rax, 8
; Line 30
	mov	BYTE PTR gs:222, 222			; 000000deH
	sub	r8, 1
	jne	SHORT $LL7@kernel
$LN6@kernel:
; Line 33
	mov	rcx, rbp
	call	dummy
	sub	rbx, 1
	jne	SHORT $LL4@kernel
$LN3@kernel:
; Line 35
	mov	rbx, QWORD PTR [rsp+64]
	mov	rbp, QWORD PTR [rsp+72]
	mov	rsi, QWORD PTR [rsp+80]
	mov	rdi, QWORD PTR [rsp+88]
	movaps	xmm6, XMMWORD PTR [rsp+32]
	add	rsp, 48					; 00000030H
	pop	r14
	ret	0
kernel	ENDP
_TEXT	ENDS
END
