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

include listing.inc

INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES

msvcjmc	SEGMENT
__FAC6D534_triad@c DB 01H
msvcjmc	ENDS
PUBLIC	kernel
PUBLIC	__JustMyCode_Default
EXTRN	dummy:PROC
EXTRN	_RTC_InitBase:PROC
EXTRN	_RTC_Shutdown:PROC
EXTRN	__CheckForDebuggerJustMyCode:PROC
EXTRN	_fltused:DWORD
;	COMDAT pdata
pdata	SEGMENT
$pdata$kernel DD imagerel $LN9
	DD	imagerel $LN9+194
	DD	imagerel $unwind$kernel
pdata	ENDS
;	COMDAT rtc$TMZ
rtc$TMZ	SEGMENT
_RTC_Shutdown.rtc$TMZ DQ FLAT:_RTC_Shutdown
rtc$TMZ	ENDS
;	COMDAT rtc$IMZ
rtc$IMZ	SEGMENT
_RTC_InitBase.rtc$IMZ DQ FLAT:_RTC_InitBase
rtc$IMZ	ENDS
;	COMDAT xdata
xdata	SEGMENT
$unwind$kernel DD 025052301H
	DD	011e2323H
	DD	070170025H
	DD	05016H
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: /Odtp /RTCsu /ZI
;	COMDAT kernel
_TEXT	SEGMENT
r$1 = 4
i$2 = 36
a$ = 288
b$ = 296
c$ = 304
s$ = 312
repeat$ = 320
cur_elements$ = 328
kernel	PROC						; COMDAT
; File C:\Users\phl.bastiani\Projects\OSACA\validation\kernels\triad.c
; Line 16
$LN9:
	movsd	QWORD PTR [rsp+32], xmm3
	mov	QWORD PTR [rsp+24], r8
	mov	QWORD PTR [rsp+16], rdx
	mov	QWORD PTR [rsp+8], rcx
	push	rbp
	push	rdi
	sub	rsp, 296				; 00000128H
	lea	rbp, QWORD PTR [rsp+32]
	lea	rcx, OFFSET FLAT:__FAC6D534_triad@c
	call	__CheckForDebuggerJustMyCode
	npad	1
; Line 17
	mov	DWORD PTR r$1[rbp], 0
	jmp	SHORT $LN4@kernel
$LN2@kernel:
	mov	eax, DWORD PTR r$1[rbp]
	inc	eax
	mov	DWORD PTR r$1[rbp], eax
$LN4@kernel:
	mov	eax, DWORD PTR repeat$[rbp]
	cmp	DWORD PTR r$1[rbp], eax
	jge	SHORT $LN3@kernel
; Line 18
	mov	DWORD PTR i$2[rbp], 0
	jmp	SHORT $LN7@kernel
$LN5@kernel:
	mov	eax, DWORD PTR i$2[rbp]
	inc	eax
	mov	DWORD PTR i$2[rbp], eax
$LN7@kernel:
	mov	eax, DWORD PTR cur_elements$[rbp]
	cmp	DWORD PTR i$2[rbp], eax
	jge	SHORT $LN6@kernel
; Line 19
	movsxd	rax, DWORD PTR i$2[rbp]
	movsxd	rcx, DWORD PTR i$2[rbp]
	mov	rdx, QWORD PTR c$[rbp]
	movsd	xmm0, QWORD PTR s$[rbp]
	mulsd	xmm0, QWORD PTR [rdx+rcx*8]
	mov	rcx, QWORD PTR b$[rbp]
	movsd	xmm1, QWORD PTR [rcx+rax*8]
	addsd	xmm1, xmm0
	movaps	xmm0, xmm1
	movsxd	rax, DWORD PTR i$2[rbp]
	mov	rcx, QWORD PTR a$[rbp]
	movsd	QWORD PTR [rcx+rax*8], xmm0
; Line 20
	jmp	SHORT $LN5@kernel
$LN6@kernel:
; Line 21
	mov	rcx, QWORD PTR a$[rbp]
	call	dummy
	npad	1
; Line 22
	jmp	SHORT $LN2@kernel
$LN3@kernel:
; Line 23
	lea	rsp, QWORD PTR [rbp+264]
	pop	rdi
	pop	rbp
	ret	0
kernel	ENDP
_TEXT	ENDS
END
