; 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