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

965 lines
27 KiB
Plaintext

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.33.31629.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM m128ptr:BYTE:048H
_DATA ENDS
msvcjmc SEGMENT
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__E7EC9AD1_concurrencysal@h DB 01H
__ADCB3D40_sal@h DB 01H
__63527AC6_vadefs@h DB 01H
__979672E1_vcruntime@h DB 01H
__B193B045_corecrt@h DB 01H
__887B5571_stddef@h DB 01H
__1B5F14A0_stdint@h DB 01H
__986CAB3E_glfw3@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__203A43BB_SSGinternal@h DB 01H
__B45635C8_mmintrin@h DB 01H
__FF268430_corecrt_malloc@h DB 01H
__61F92E22_malloc@h DB 01H
__17431EB5_xmmintrin@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 InitM128
PUBLIC DeinitM128
PUBLIC VecAddVec
PUBLIC VecSubVec
PUBLIC VecMulVec
PUBLIC __local_stdio_printf_options
PUBLIC _vfprintf_l
PUBLIC printf
PUBLIC __JustMyCode_Default
PUBLIC ??_C@_05JMLLFKBP@?$CFllu?6@ ; `string'
PUBLIC ??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@ ; `string'
EXTRN __imp_free:PROC
EXTRN __imp__aligned_malloc:PROC
EXTRN __imp___acrt_iob_func:PROC
EXTRN __imp___stdio_common_vfprintf:PROC
EXTRN _RTC_CheckStackVars:PROC
EXTRN _RTC_InitBase:PROC
EXTRN _RTC_Shutdown:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN __GSHandlerCheck:PROC
EXTRN __security_check_cookie:PROC
EXTRN __security_cookie:QWORD
EXTRN _fltused:DWORD
_DATA SEGMENT
COMM ?_OptionsStorage@?1??__local_stdio_printf_options@@9@9:QWORD ; `__local_stdio_printf_options'::`2'::_OptionsStorage
_DATA ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$InitM128 DD imagerel $LN5
DD imagerel $LN5+206
DD imagerel $unwind$InitM128
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$DeinitM128 DD imagerel $LN3
DD imagerel $LN3+54
DD imagerel $unwind$DeinitM128
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$VecAddVec DD imagerel $LN3
DD imagerel $LN3+555
DD imagerel $unwind$VecAddVec
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$VecSubVec DD imagerel $LN3
DD imagerel $LN3+555
DD imagerel $unwind$VecSubVec
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$VecMulVec DD imagerel $LN3
DD imagerel $LN3+81
DD imagerel $unwind$VecMulVec
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$__local_stdio_printf_options DD imagerel $LN3
DD imagerel $LN3+44
DD imagerel $unwind$__local_stdio_printf_options
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_vfprintf_l DD imagerel $LN3
DD imagerel $LN3+103
DD imagerel $unwind$_vfprintf_l
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$printf DD imagerel $LN3
DD imagerel $LN3+191
DD imagerel $unwind$printf
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 ??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@
CONST SEGMENT
??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@ DB '%f', 09H, '%f', 09H
DB '%f', 09H, '%f', 09H, 0aH, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_05JMLLFKBP@?$CFllu?6@
CONST SEGMENT
??_C@_05JMLLFKBP@?$CFllu?6@ DB '%llu', 0aH, 00H ; `string'
CONST ENDS
; COMDAT voltbl
voltbl SEGMENT
_volmd DB 045H
DB 0a6H
voltbl ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$printf DD 025054c19H
DD 011d2322H
DD 070160025H
DD 05015H
DD imagerel __GSHandlerCheck
DD 0118H
xdata ENDS
; COMDAT CONST
CONST SEGMENT
printf$rtcName$0 DB 05fH
DB 041H
DB 072H
DB 067H
DB 04cH
DB 069H
DB 073H
DB 074H
DB 00H
ORG $+7
printf$rtcVarDesc DD 048H
DD 08H
DQ FLAT:printf$rtcName$0
ORG $+48
printf$rtcFrameData DD 01H
DD 00H
DQ FLAT:printf$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$_vfprintf_l DD 035052201H
DD 011d3322H
DD 07016001fH
DD 05015H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$__local_stdio_printf_options DD 025050f01H
DD 010a230fH
DD 07003001dH
DD 05002H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$VecMulVec DD 025051d01H
DD 0118231dH
DD 07011001dH
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$VecSubVec DD 035051d01H
DD 0118331dH
DD 070110021H
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$VecAddVec DD 035051d01H
DD 0118331dH
DD 070110021H
DD 05010H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$DeinitM128 DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$InitM128 DD 025052601H
DD 01212326H
DD 0701a0021H
DD 05019H
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: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\stdio.h
; COMDAT printf
_TEXT SEGMENT
_Result$ = 4
_ArgList$ = 40
__$ArrayPad$ = 248
_Format$ = 288
printf PROC ; COMDAT
; 956 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00014 55 push rbp
00015 57 push rdi
00016 48 81 ec 28 01
00 00 sub rsp, 296 ; 00000128H
0001d 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00022 48 8d 7c 24 20 lea rdi, QWORD PTR [rsp+32]
00027 b9 12 00 00 00 mov ecx, 18
0002c b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00031 f3 ab rep stosd
00033 48 8b 8c 24 48
01 00 00 mov rcx, QWORD PTR [rsp+328]
0003b 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
00042 48 33 c5 xor rax, rbp
00045 48 89 85 f8 00
00 00 mov QWORD PTR __$ArrayPad$[rbp], rax
0004c 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__2BEDEB13_stdio@h
00053 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 957 : int _Result;
; 958 : va_list _ArgList;
; 959 : __crt_va_start(_ArgList, _Format);
00058 48 8d 85 28 01
00 00 lea rax, QWORD PTR _Format$[rbp+8]
0005f 48 89 45 28 mov QWORD PTR _ArgList$[rbp], rax
; 960 : _Result = _vfprintf_l(stdout, _Format, NULL, _ArgList);
00063 b9 01 00 00 00 mov ecx, 1
00068 ff 15 00 00 00
00 call QWORD PTR __imp___acrt_iob_func
0006e 4c 8b 4d 28 mov r9, QWORD PTR _ArgList$[rbp]
00072 45 33 c0 xor r8d, r8d
00075 48 8b 95 20 01
00 00 mov rdx, QWORD PTR _Format$[rbp]
0007c 48 8b c8 mov rcx, rax
0007f e8 00 00 00 00 call _vfprintf_l
00084 89 45 04 mov DWORD PTR _Result$[rbp], eax
; 961 : __crt_va_end(_ArgList);
00087 48 c7 45 28 00
00 00 00 mov QWORD PTR _ArgList$[rbp], 0
; 962 : return _Result;
0008f 8b 45 04 mov eax, DWORD PTR _Result$[rbp]
; 963 : }
00092 8b f8 mov edi, eax
00094 48 8d 4d e0 lea rcx, QWORD PTR [rbp-32]
00098 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:printf$rtcFrameData
0009f e8 00 00 00 00 call _RTC_CheckStackVars
000a4 8b c7 mov eax, edi
000a6 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR __$ArrayPad$[rbp]
000ad 48 33 cd xor rcx, rbp
000b0 e8 00 00 00 00 call __security_check_cookie
000b5 48 8d a5 08 01
00 00 lea rsp, QWORD PTR [rbp+264]
000bc 5f pop rdi
000bd 5d pop rbp
000be c3 ret 0
printf ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\stdio.h
; COMDAT _vfprintf_l
_TEXT SEGMENT
_Stream$ = 224
_Format$ = 232
_Locale$ = 240
_ArgList$ = 248
_vfprintf_l PROC ; COMDAT
; 644 : {
$LN3:
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00014 55 push rbp
00015 57 push rdi
00016 48 81 ec f8 00
00 00 sub rsp, 248 ; 000000f8H
0001d 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00022 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__2BEDEB13_stdio@h
00029 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 645 : return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
0002e e8 00 00 00 00 call __local_stdio_printf_options
00033 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR _ArgList$[rbp]
0003a 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
0003f 4c 8b 8d f0 00
00 00 mov r9, QWORD PTR _Locale$[rbp]
00046 4c 8b 85 e8 00
00 00 mov r8, QWORD PTR _Format$[rbp]
0004d 48 8b 95 e0 00
00 00 mov rdx, QWORD PTR _Stream$[rbp]
00054 48 8b 08 mov rcx, QWORD PTR [rax]
00057 ff 15 00 00 00
00 call QWORD PTR __imp___stdio_common_vfprintf
; 646 : }
0005d 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00064 5f pop rdi
00065 5d pop rbp
00066 c3 ret 0
_vfprintf_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\corecrt_stdio_config.h
; COMDAT __local_stdio_printf_options
_TEXT SEGMENT
__local_stdio_printf_options PROC ; COMDAT
; 90 : {
$LN3:
00000 40 55 push rbp
00002 57 push rdi
00003 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0000f 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__D0E9C0B0_corecrt_stdio_config@h
00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 91 : static unsigned __int64 _OptionsStorage;
; 92 : return &_OptionsStorage;
0001b 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 ; `__local_stdio_printf_options'::`2'::_OptionsStorage
; 93 : }
00022 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00029 5f pop rdi
0002a 5d pop rbp
0002b c3 ret 0
__local_stdio_printf_options ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT VecMulVec
_TEXT SEGMENT
ptr1$ = 224
ptr2$ = 232
ret$ = 240
VecMulVec PROC ; COMDAT
; 77 : {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
00018 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 78 : *ret = _mm_mul_ps(*ptr1, *ptr2);
00029 48 8b 85 e0 00
00 00 mov rax, QWORD PTR ptr1$[rbp]
00030 48 8b 8d e8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
00037 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003a 0f 59 01 mulps xmm0, XMMWORD PTR [rcx]
0003d 48 8b 85 f0 00
00 00 mov rax, QWORD PTR ret$[rbp]
00044 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 79 : }
00047 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
0004e 5f pop rdi
0004f 5d pop rbp
00050 c3 ret 0
VecMulVec ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT VecSubVec
_TEXT SEGMENT
tv166 = 192
tv142 = 192
tv89 = 192
ptr1$ = 240
ptr2$ = 248
ret$ = 256
VecSubVec PROC ; COMDAT
; 55 : {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 56 : printf("%llu\n", (uint64_t)ptr1);
00029 48 8b 95 f0 00
00 00 mov rdx, QWORD PTR ptr1$[rbp]
00030 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_05JMLLFKBP@?$CFllu?6@
00037 e8 00 00 00 00 call printf
; 57 : printf("%llu\n", (uint64_t)ptr2);
0003c 48 8b 95 f8 00
00 00 mov rdx, QWORD PTR ptr2$[rbp]
00043 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_05JMLLFKBP@?$CFllu?6@
0004a e8 00 00 00 00 call printf
; 58 : printf("%llu\n", (uint64_t)ret);
0004f 48 8b 95 00 01
00 00 mov rdx, QWORD PTR ret$[rbp]
00056 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_05JMLLFKBP@?$CFllu?6@
0005d e8 00 00 00 00 call printf
; 59 :
; 60 : printf("%f\t%f\t%f\t%f\t\n",
00062 b8 04 00 00 00 mov eax, 4
00067 48 6b c0 03 imul rax, rax, 3
0006b 48 8b 8d f0 00
00 00 mov rcx, QWORD PTR ptr1$[rbp]
00072 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
00077 b8 04 00 00 00 mov eax, 4
0007c 48 6b c0 02 imul rax, rax, 2
00080 48 8b 8d f0 00
00 00 mov rcx, QWORD PTR ptr1$[rbp]
00087 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
0008c b8 04 00 00 00 mov eax, 4
00091 48 6b c0 01 imul rax, rax, 1
00095 48 8b 8d f0 00
00 00 mov rcx, QWORD PTR ptr1$[rbp]
0009c f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
000a1 b8 04 00 00 00 mov eax, 4
000a6 48 6b c0 00 imul rax, rax, 0
000aa 48 8b 8d f0 00
00 00 mov rcx, QWORD PTR ptr1$[rbp]
000b1 f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
000b6 f2 0f 11 9d c0
00 00 00 movsd QWORD PTR tv89[rbp], xmm3
000be f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
000c4 0f 28 d9 movaps xmm3, xmm1
000c7 66 49 0f 7e d9 movq r9, xmm3
000cc 66 49 0f 7e d0 movq r8, xmm2
000d1 f2 0f 10 85 c0
00 00 00 movsd xmm0, QWORD PTR tv89[rbp]
000d9 0f 28 c8 movaps xmm1, xmm0
000dc 66 48 0f 7e ca movq rdx, xmm1
000e1 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@
000e8 e8 00 00 00 00 call printf
; 61 : ptr1->m128_f32[0], ptr1->m128_f32[1], ptr1->m128_f32[2], ptr1->m128_f32[3]
; 62 : );
; 63 : printf("%f\t%f\t%f\t%f\t\n",
000ed b8 04 00 00 00 mov eax, 4
000f2 48 6b c0 03 imul rax, rax, 3
000f6 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
000fd f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
00102 b8 04 00 00 00 mov eax, 4
00107 48 6b c0 02 imul rax, rax, 2
0010b 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
00112 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
00117 b8 04 00 00 00 mov eax, 4
0011c 48 6b c0 01 imul rax, rax, 1
00120 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
00127 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
0012c b8 04 00 00 00 mov eax, 4
00131 48 6b c0 00 imul rax, rax, 0
00135 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
0013c f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
00141 f2 0f 11 9d c0
00 00 00 movsd QWORD PTR tv142[rbp], xmm3
00149 f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
0014f 0f 28 d9 movaps xmm3, xmm1
00152 66 49 0f 7e d9 movq r9, xmm3
00157 66 49 0f 7e d0 movq r8, xmm2
0015c f2 0f 10 85 c0
00 00 00 movsd xmm0, QWORD PTR tv142[rbp]
00164 0f 28 c8 movaps xmm1, xmm0
00167 66 48 0f 7e ca movq rdx, xmm1
0016c 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@
00173 e8 00 00 00 00 call printf
; 64 : ptr2->m128_f32[0], ptr2->m128_f32[1], ptr2->m128_f32[2], ptr2->m128_f32[3]
; 65 : );
; 66 :
; 67 :
; 68 : *ret = _mm_sub_ps(*ptr1, *ptr2);
00178 48 8b 85 f0 00
00 00 mov rax, QWORD PTR ptr1$[rbp]
0017f 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
00186 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00189 0f 5c 01 subps xmm0, XMMWORD PTR [rcx]
0018c 48 8b 85 00 01
00 00 mov rax, QWORD PTR ret$[rbp]
00193 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 69 :
; 70 : printf("%f\t%f\t%f\t%f\t\n",
00196 b8 04 00 00 00 mov eax, 4
0019b 48 6b c0 03 imul rax, rax, 3
0019f 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR ret$[rbp]
001a6 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
001ab b8 04 00 00 00 mov eax, 4
001b0 48 6b c0 02 imul rax, rax, 2
001b4 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR ret$[rbp]
001bb f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
001c0 b8 04 00 00 00 mov eax, 4
001c5 48 6b c0 01 imul rax, rax, 1
001c9 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR ret$[rbp]
001d0 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
001d5 b8 04 00 00 00 mov eax, 4
001da 48 6b c0 00 imul rax, rax, 0
001de 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR ret$[rbp]
001e5 f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
001ea f2 0f 11 9d c0
00 00 00 movsd QWORD PTR tv166[rbp], xmm3
001f2 f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
001f8 0f 28 d9 movaps xmm3, xmm1
001fb 66 49 0f 7e d9 movq r9, xmm3
00200 66 49 0f 7e d0 movq r8, xmm2
00205 f2 0f 10 85 c0
00 00 00 movsd xmm0, QWORD PTR tv166[rbp]
0020d 0f 28 c8 movaps xmm1, xmm0
00210 66 48 0f 7e ca movq rdx, xmm1
00215 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@
0021c e8 00 00 00 00 call printf
; 71 : ret->m128_f32[0], ret->m128_f32[1], ret->m128_f32[2], ret->m128_f32[3]
; 72 : );
; 73 :
; 74 : }
00221 48 8d a5 d8 00
00 00 lea rsp, QWORD PTR [rbp+216]
00228 5f pop rdi
00229 5d pop rbp
0022a c3 ret 0
VecSubVec ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT VecAddVec
_TEXT SEGMENT
tv166 = 192
tv142 = 192
tv89 = 192
ptr1$ = 240
ptr2$ = 248
ret$ = 256
VecAddVec PROC ; COMDAT
; 34 : {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 55 push rbp
00010 57 push rdi
00011 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
00018 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
0001d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00024 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 35 : printf("%llu\n",(uint64_t)ptr1);
00029 48 8b 95 f0 00
00 00 mov rdx, QWORD PTR ptr1$[rbp]
00030 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_05JMLLFKBP@?$CFllu?6@
00037 e8 00 00 00 00 call printf
; 36 : printf("%llu\n",(uint64_t)ptr2);
0003c 48 8b 95 f8 00
00 00 mov rdx, QWORD PTR ptr2$[rbp]
00043 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_05JMLLFKBP@?$CFllu?6@
0004a e8 00 00 00 00 call printf
; 37 : printf("%llu\n",(uint64_t)ret);
0004f 48 8b 95 00 01
00 00 mov rdx, QWORD PTR ret$[rbp]
00056 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_05JMLLFKBP@?$CFllu?6@
0005d e8 00 00 00 00 call printf
; 38 :
; 39 : printf("%f\t%f\t%f\t%f\t\n",
00062 b8 04 00 00 00 mov eax, 4
00067 48 6b c0 03 imul rax, rax, 3
0006b 48 8b 8d f0 00
00 00 mov rcx, QWORD PTR ptr1$[rbp]
00072 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
00077 b8 04 00 00 00 mov eax, 4
0007c 48 6b c0 02 imul rax, rax, 2
00080 48 8b 8d f0 00
00 00 mov rcx, QWORD PTR ptr1$[rbp]
00087 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
0008c b8 04 00 00 00 mov eax, 4
00091 48 6b c0 01 imul rax, rax, 1
00095 48 8b 8d f0 00
00 00 mov rcx, QWORD PTR ptr1$[rbp]
0009c f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
000a1 b8 04 00 00 00 mov eax, 4
000a6 48 6b c0 00 imul rax, rax, 0
000aa 48 8b 8d f0 00
00 00 mov rcx, QWORD PTR ptr1$[rbp]
000b1 f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
000b6 f2 0f 11 9d c0
00 00 00 movsd QWORD PTR tv89[rbp], xmm3
000be f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
000c4 0f 28 d9 movaps xmm3, xmm1
000c7 66 49 0f 7e d9 movq r9, xmm3
000cc 66 49 0f 7e d0 movq r8, xmm2
000d1 f2 0f 10 85 c0
00 00 00 movsd xmm0, QWORD PTR tv89[rbp]
000d9 0f 28 c8 movaps xmm1, xmm0
000dc 66 48 0f 7e ca movq rdx, xmm1
000e1 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@
000e8 e8 00 00 00 00 call printf
; 40 : ptr1->m128_f32[0], ptr1->m128_f32[1], ptr1->m128_f32[2], ptr1->m128_f32[3]
; 41 : );
; 42 : printf("%f\t%f\t%f\t%f\t\n",
000ed b8 04 00 00 00 mov eax, 4
000f2 48 6b c0 03 imul rax, rax, 3
000f6 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
000fd f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
00102 b8 04 00 00 00 mov eax, 4
00107 48 6b c0 02 imul rax, rax, 2
0010b 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
00112 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
00117 b8 04 00 00 00 mov eax, 4
0011c 48 6b c0 01 imul rax, rax, 1
00120 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
00127 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
0012c b8 04 00 00 00 mov eax, 4
00131 48 6b c0 00 imul rax, rax, 0
00135 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
0013c f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
00141 f2 0f 11 9d c0
00 00 00 movsd QWORD PTR tv142[rbp], xmm3
00149 f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
0014f 0f 28 d9 movaps xmm3, xmm1
00152 66 49 0f 7e d9 movq r9, xmm3
00157 66 49 0f 7e d0 movq r8, xmm2
0015c f2 0f 10 85 c0
00 00 00 movsd xmm0, QWORD PTR tv142[rbp]
00164 0f 28 c8 movaps xmm1, xmm0
00167 66 48 0f 7e ca movq rdx, xmm1
0016c 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@
00173 e8 00 00 00 00 call printf
; 43 : ptr2->m128_f32[0], ptr2->m128_f32[1], ptr2->m128_f32[2], ptr2->m128_f32[3]
; 44 : );
; 45 :
; 46 : *ret = _mm_add_ps(*ptr1, *ptr2);
00178 48 8b 85 f0 00
00 00 mov rax, QWORD PTR ptr1$[rbp]
0017f 48 8b 8d f8 00
00 00 mov rcx, QWORD PTR ptr2$[rbp]
00186 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00189 0f 58 01 addps xmm0, XMMWORD PTR [rcx]
0018c 48 8b 85 00 01
00 00 mov rax, QWORD PTR ret$[rbp]
00193 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 47 :
; 48 : printf("%f\t%f\t%f\t%f\t\n",
00196 b8 04 00 00 00 mov eax, 4
0019b 48 6b c0 03 imul rax, rax, 3
0019f 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR ret$[rbp]
001a6 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
001ab b8 04 00 00 00 mov eax, 4
001b0 48 6b c0 02 imul rax, rax, 2
001b4 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR ret$[rbp]
001bb f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
001c0 b8 04 00 00 00 mov eax, 4
001c5 48 6b c0 01 imul rax, rax, 1
001c9 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR ret$[rbp]
001d0 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
001d5 b8 04 00 00 00 mov eax, 4
001da 48 6b c0 00 imul rax, rax, 0
001de 48 8b 8d 00 01
00 00 mov rcx, QWORD PTR ret$[rbp]
001e5 f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
001ea f2 0f 11 9d c0
00 00 00 movsd QWORD PTR tv166[rbp], xmm3
001f2 f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
001f8 0f 28 d9 movaps xmm3, xmm1
001fb 66 49 0f 7e d9 movq r9, xmm3
00200 66 49 0f 7e d0 movq r8, xmm2
00205 f2 0f 10 85 c0
00 00 00 movsd xmm0, QWORD PTR tv166[rbp]
0020d 0f 28 c8 movaps xmm1, xmm0
00210 66 48 0f 7e ca movq rdx, xmm1
00215 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0O@EPAANBON@?$CFf?7?$CFf?7?$CFf?7?$CFf?7?6@
0021c e8 00 00 00 00 call printf
; 49 : ret->m128_f32[0], ret->m128_f32[1], ret->m128_f32[2], ret->m128_f32[3]
; 50 : );
; 51 :
; 52 : }
00221 48 8d a5 d8 00
00 00 lea rsp, QWORD PTR [rbp+216]
00228 5f pop rdi
00229 5d pop rbp
0022a c3 ret 0
VecAddVec ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT DeinitM128
_TEXT SEGMENT
m128Ptr$ = 224
DeinitM128 PROC ; COMDAT
; 29 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 55 push rbp
00006 57 push rdi
00007 48 81 ec e8 00
00 00 sub rsp, 232 ; 000000e8H
0000e 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00013 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 30 : free(m128Ptr);
0001f 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR m128Ptr$[rbp]
00026 ff 15 00 00 00
00 call QWORD PTR __imp_free
; 31 : }
0002c 48 8d a5 c8 00
00 00 lea rsp, QWORD PTR [rbp+200]
00033 5f pop rdi
00034 5d pop rbp
00035 c3 ret 0
DeinitM128 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT InitM128
_TEXT SEGMENT
Ptr$ = 8
x$ = 256
y$ = 264
z$ = 272
w$ = 280
InitM128 PROC ; COMDAT
; 11 : {
$LN5:
00000 f3 0f 11 5c 24
20 movss DWORD PTR [rsp+32], xmm3
00006 f3 0f 11 54 24
18 movss DWORD PTR [rsp+24], xmm2
0000c f3 0f 11 4c 24
10 movss DWORD PTR [rsp+16], xmm1
00012 f3 0f 11 44 24
08 movss DWORD PTR [rsp+8], xmm0
00018 55 push rbp
00019 57 push rdi
0001a 48 81 ec 08 01
00 00 sub rsp, 264 ; 00000108H
00021 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00026 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
0002d e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 12 : __m128* Ptr = _aligned_malloc(16, sizeof(__m128));
00032 ba 10 00 00 00 mov edx, 16
00037 b9 10 00 00 00 mov ecx, 16
0003c ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
00042 48 89 45 08 mov QWORD PTR Ptr$[rbp], rax
; 13 :
; 14 : if (NULL==Ptr)
00046 48 83 7d 08 00 cmp QWORD PTR Ptr$[rbp], 0
0004b 75 0b jne SHORT $LN2@InitM128
; 15 : {
; 16 : return (__m128*) - 1;
0004d 48 c7 c0 ff ff
ff ff mov rax, -1
00054 eb 6e jmp SHORT $LN1@InitM128
; 17 : }
00056 eb 6c jmp SHORT $LN3@InitM128
$LN2@InitM128:
; 18 : else
; 19 : {
; 20 : Ptr->m128_f32[0] = x;
00058 b8 04 00 00 00 mov eax, 4
0005d 48 6b c0 00 imul rax, rax, 0
00061 48 8b 4d 08 mov rcx, QWORD PTR Ptr$[rbp]
00065 f3 0f 10 85 00
01 00 00 movss xmm0, DWORD PTR x$[rbp]
0006d f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
; 21 : Ptr->m128_f32[1] = y;
00072 b8 04 00 00 00 mov eax, 4
00077 48 6b c0 01 imul rax, rax, 1
0007b 48 8b 4d 08 mov rcx, QWORD PTR Ptr$[rbp]
0007f f3 0f 10 85 08
01 00 00 movss xmm0, DWORD PTR y$[rbp]
00087 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
; 22 : Ptr->m128_f32[2] = z;
0008c b8 04 00 00 00 mov eax, 4
00091 48 6b c0 02 imul rax, rax, 2
00095 48 8b 4d 08 mov rcx, QWORD PTR Ptr$[rbp]
00099 f3 0f 10 85 10
01 00 00 movss xmm0, DWORD PTR z$[rbp]
000a1 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
; 23 : Ptr->m128_f32[3] = w;
000a6 b8 04 00 00 00 mov eax, 4
000ab 48 6b c0 03 imul rax, rax, 3
000af 48 8b 4d 08 mov rcx, QWORD PTR Ptr$[rbp]
000b3 f3 0f 10 85 18
01 00 00 movss xmm0, DWORD PTR w$[rbp]
000bb f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
; 24 : return Ptr;
000c0 48 8b 45 08 mov rax, QWORD PTR Ptr$[rbp]
$LN3@InitM128:
$LN1@InitM128:
; 25 : }
; 26 : }
000c4 48 8d a5 e8 00
00 00 lea rsp, QWORD PTR [rbp+232]
000cb 5f pop rdi
000cc 5d pop rbp
000cd c3 ret 0
InitM128 ENDP
_TEXT ENDS
END