Files
stgsharp/源代码/StgShqrpGraphic/x64/Debug/linear.cod
T

325 lines
8.0 KiB
Plaintext

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.33.31629.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM sseFunc:BYTE:018H
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
__E7EC9AD1_concurrencysal@h DB 01H
__ADCB3D40_sal@h DB 01H
__63527AC6_vadefs@h DB 01H
__979672E1_vcruntime@h DB 01H
__1B5F14A0_stdint@h DB 01H
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__B193B045_corecrt@h DB 01H
__887B5571_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__B45635C8_mmintrin@h DB 01H
__FF268430_corecrt_malloc@h DB 01H
__61F92E22_malloc@h DB 01H
__17431EB5_xmmintrin@h DB 01H
__203A43BB_SSGinternal@h DB 01H
__D0E9C0B0_corecrt_stdio_config@h DB 01H
__119849BB_corecrt_wstdio@h DB 01H
__2BEDEB13_stdio@h DB 01H
__70BD074A_stdalign@h DB 01H
__B5461FF6_linear@c DB 01H
msvcjmc ENDS
PUBLIC load
PUBLIC addps
PUBLIC subps
PUBLIC deinitM128
PUBLIC __JustMyCode_Default
EXTRN __imp_free:PROC
EXTRN __imp__aligned_malloc:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$load DD imagerel $LN6
DD imagerel $LN6+140
DD imagerel $unwind$load
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$addps DD imagerel $LN6
DD imagerel $LN6+85
DD imagerel $unwind$addps
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$subps DD imagerel $LN6
DD imagerel $LN6+85
DD imagerel $unwind$subps
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$deinitM128 DD imagerel $LN4
DD imagerel $LN4+36
DD imagerel $unwind$deinitM128
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$deinitM128 DD 020601H
DD 030023206H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$subps DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$addps DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$load DD 092701H
DD 039827H
DD 04881eH
DD 057815H
DD 066809H
DD 0e204H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
__JustMyCode_Default PROC ; COMDAT
00000 c2 00 00 ret 0
__JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT deinitM128
_TEXT SEGMENT
ptr$ = 48
deinitM128 PROC ; COMDAT
; 59 : {
$LN4:
00000 40 53 push rbx
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
00006 48 8b d9 mov rbx, rcx
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00015 48 8b cb mov rcx, rbx
; 60 : free(ptr);
; 61 : }
00018 48 83 c4 20 add rsp, 32 ; 00000020H
0001c 5b pop rbx
0001d 48 ff 25 00 00
00 00 rex_jmp QWORD PTR __imp_free
deinitM128 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT subps
_TEXT SEGMENT
ptr1$ = 48
ptr2$ = 56
subps PROC ; COMDAT
; 44 : {
$LN6:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8d 4a f8 lea ecx, QWORD PTR [rdx-8]
00024 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002a 48 85 c0 test rax, rax
0002d 74 14 je SHORT $LN2@subps
; 45 : __m128* ret = _aligned_malloc(sizeof(__m128*), 16);
; 46 :
; 47 : if (NULL != ret)
; 48 : {
; 49 : *ret = _mm_sub_ps(*ptr1, *ptr2);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 5c 03 subps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 50 : return ret;
; 51 : }
; 52 : else
; 53 : {
; 54 : return -1;
; 55 : }
; 56 : }
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
00041 5f pop rdi
00042 c3 ret 0
$LN2@subps:
00043 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00048 48 c7 c0 ff ff
ff ff mov rax, -1
0004f 48 83 c4 20 add rsp, 32 ; 00000020H
00053 5f pop rdi
00054 c3 ret 0
subps ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT addps
_TEXT SEGMENT
ptr1$ = 48
ptr2$ = 56
addps PROC ; COMDAT
; 27 : {
$LN6:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8d 4a f8 lea ecx, QWORD PTR [rdx-8]
00024 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002a 48 85 c0 test rax, rax
0002d 74 14 je SHORT $LN2@addps
; 28 :
; 29 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
; 30 :
; 31 : if (NULL != ret)
; 32 : {
; 33 : *ret = _mm_add_ps(*ptr1, *ptr2);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 58 03 addps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 34 : return ret;
; 35 : }
; 36 : else
; 37 : {
; 38 : return -1;
; 39 : }
; 40 :
; 41 : }
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
00041 5f pop rdi
00042 c3 ret 0
$LN2@addps:
00043 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00048 48 c7 c0 ff ff
ff ff mov rax, -1
0004f 48 83 c4 20 add rsp, 32 ; 00000020H
00053 5f pop rdi
00054 c3 ret 0
addps ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT load
_TEXT SEGMENT
array$ = 32
x$ = 128
y$ = 136
z$ = 144
w$ = 152
load PROC ; COMDAT
; 11 : {
$LN6:
00000 48 83 ec 78 sub rsp, 120 ; 00000078H
00004 0f 29 74 24 60 movaps XMMWORD PTR [rsp+96], xmm6
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00010 0f 29 7c 24 50 movaps XMMWORD PTR [rsp+80], xmm7
00015 0f 28 f0 movaps xmm6, xmm0
00018 44 0f 29 44 24
40 movaps XMMWORD PTR [rsp+64], xmm8
0001e 0f 28 f9 movaps xmm7, xmm1
00021 44 0f 29 4c 24
30 movaps XMMWORD PTR [rsp+48], xmm9
00027 44 0f 28 c2 movaps xmm8, xmm2
0002b 44 0f 28 cb movaps xmm9, xmm3
0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00034 ba 10 00 00 00 mov edx, 16
00039 f3 0f 11 74 24
20 movss DWORD PTR array$[rsp], xmm6
0003f 8b ca mov ecx, edx
00041 f3 0f 11 7c 24
24 movss DWORD PTR array$[rsp+4], xmm7
00047 f3 44 0f 11 44
24 28 movss DWORD PTR array$[rsp+8], xmm8
0004e f3 44 0f 11 4c
24 2c movss DWORD PTR array$[rsp+12], xmm9
00055 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0005b 48 85 c0 test rax, rax
0005e 74 0a je SHORT $LN2@load
; 12 : float array[4] = {x,y,z,w};
; 13 : __m128* ptr = _aligned_malloc(sizeof(__m128),16);
; 14 :
; 15 : if (NULL != ptr)
; 16 : {
; 17 : *ptr = _mm_loadu_ps(&array);
00060 0f 10 44 24 20 movups xmm0, XMMWORD PTR array$[rsp]
00065 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 18 : return ptr;
00068 eb 07 jmp SHORT $LN3@load
$LN2@load:
; 19 : }
; 20 : else
; 21 : {
; 22 : return -1;
0006a 48 c7 c0 ff ff
ff ff mov rax, -1
$LN3@load:
; 23 : }
; 24 : }
00071 0f 28 74 24 60 movaps xmm6, XMMWORD PTR [rsp+96]
00076 0f 28 7c 24 50 movaps xmm7, XMMWORD PTR [rsp+80]
0007b 44 0f 28 44 24
40 movaps xmm8, XMMWORD PTR [rsp+64]
00081 44 0f 28 4c 24
30 movaps xmm9, XMMWORD PTR [rsp+48]
00087 48 83 c4 78 add rsp, 120 ; 00000078H
0008b c3 ret 0
load ENDP
_TEXT ENDS
END