; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB MSVCRTD INCLUDELIB OLDNAMES _DATA SEGMENT COMM infolog:QWORD:0200H _DATA ENDS msvcjmc SEGMENT __0ED14FEE_winpackagefamily@h DB 01H __F92EF742_winapifamily@h DB 01H __22E515EB_sdkddkver@h DB 01H __9C03CD75_concurrencysal@h DB 01H __CA64BAF1_sal@h DB 01H __95655E73_vadefs@h DB 01H __1D560A45_vcruntime@h DB 01H __F214EFBF_excpt@h DB 01H __D9B78EDA_stdarg@h DB 01H __29F49F40_specstrings_undef@h DB 01H __D0F42932_specstrings_strict@h DB 01H __F00405FD_sdv_driverspecs@h DB 01H __173E09CA_driverspecs@h DB 01H __9A452361_specstrings@h DB 01H __1B0272D9_corecrt@h DB 01H __74484FB3_corecrt_wctype@h DB 01H __1EC467ED_ctype@h DB 01H __98517906_kernelspecs@h DB 01H __D3497022_basetsd@h DB 01H __61CC25A1_errno@h DB 01H __7061C667_vcruntime_string@h DB 01H __E4C945B4_corecrt_memcpy_s@h DB 01H __8EAFF484_corecrt_memory@h DB 01H __6490AEC5_corecrt_wstring@h DB 01H __E8295E1E_string@h DB 01H __7FCB5136_guiddef@h DB 01H __FF8A9E11_pshpack4@h DB 01H __D5438902_poppack@h DB 01H __FB07E2A3_pshpack2@h DB 01H __F6906775_pshpack8@h DB 01H __F9415CFA_pshpack1@h DB 01H __E58C6F1C_apiset@h DB 01H __A5C52262_ktmtypes@h DB 01H __FBBA8F9D_winnt@h DB 01H __A32D3D2C_minwindef@h DB 01H __7D798299_windef@h DB 01H __9AE108E9_apisetcconv@h DB 01H __9CE53D2C_minwinbase@h DB 01H __5D0AA210_apiquery2@h DB 01H __4DD4E726_processenv@h DB 01H __3575CC96_fileapi@h DB 01H __8EA220E6_fileapifromapp@h DB 01H __BF9B31FE_debugapi@h DB 01H __C3AFE134_utilapiset@h DB 01H __76F69E51_handleapi@h DB 01H __7E63D784_errhandlingapi@h DB 01H __FFA7003C_fibersapi@h DB 01H __8971CECF_namedpipeapi@h DB 01H __46C9D8A6_profileapi@h DB 01H __98D4F0A3_heapapi@h DB 01H __50EF2A88_ioapiset@h DB 01H __92EA1464_synchapi@h DB 01H __A53D8AED_interlockedapi@h DB 01H __B506CAAF_processthreadsapi@h DB 01H __FF735694_sysinfoapi@h DB 01H __29589789_memoryapi@h DB 01H __E9C7A663_enclaveapi@h DB 01H __D035F9F7_threadpoollegacyapiset@h DB 01H __C899130C_threadpoolapiset@h DB 01H __E0441EE7_jobapi@h DB 01H __CEF86838_jobapi2@h DB 01H __35AC6B9A_wow64apiset@h DB 01H __C8AE41A5_libloaderapi@h DB 01H __CC9E232D_securitybaseapi@h DB 01H __C9D0C9B8_namespaceapi@h DB 01H __30FF9CAD_systemtopologyapi@h DB 01H __4D358795_processtopologyapi@h DB 01H __40446D10_securityappcontainer@h DB 01H __3A952EDF_realtimeapiset@h DB 01H __F4865F4B_winerror@h DB 01H __53C1BD93_timezoneapi@h DB 01H __1FFBEDBF_winbase@h DB 01H __43D3FA34_wingdi@h DB 01H __D24A7391_tvout@h DB 01H __7713A6C8_winuser@h DB 01H __0B345F71_datetimeapi@h DB 01H __9AC6960C_winnls@h DB 01H __973A40A8_stringapiset@h DB 01H __CC46FEE2_wincontypes@h DB 01H __97D70BE1_consoleapi@h DB 01H __27EC5E18_consoleapi2@h DB 01H __262E342F_consoleapi3@h DB 01H __641DCD70_wincon@h DB 01H __5A96C7A7_verrsrc@h DB 01H __B69C6FF2_winver@h DB 01H __7AEB8C37_reason@h DB 01H __59F1A8A9_winreg@h DB 01H __EE0E2B7F_wnnc@h DB 01H __DCDB7054_winnetwk@h DB 01H __81DDEDE3_stralign@h DB 01H __2134D1B4_winsvc@h DB 01H __11C07376_mcx@h DB 01H __577CE3E7_ime_cmodes@h DB 01H __1E72C31E_imm@h DB 01H __E15BF856_windows@h DB 01H __DB6DF2FB_framework@h DB 01H __ED683015_stdint@h DB 01H __0A43AFA2_khrplatform@h DB 01H __76346090_gl@h DB 01H __2AAB3559_wgl@h DB 01H __13F5961F_stddef@h DB 01H __937078CB_glfw3@h DB 01H __11E77DD3_mmintrin@h DB 01H __45DED006_corecrt_malloc@h DB 01H __FA77ED4C_malloc@h DB 01H __9D836611_xmmintrin@h DB 01H __F8E1EFDD_emmintrin@h DB 01H __27408754_pmmintrin@h DB 01H __9799F4D6_tmmintrin@h DB 01H __BEA2E155_smmintrin@h DB 01H __DBC06899_nmmintrin@h DB 01H __0E7B92D7_wmmintrin@h DB 01H __C5EFDFD0_zmmintrin@h DB 01H __F2FB7D1A_immintrin@h DB 01H __09B04B44_StgSharpGraphic@h DB 01H __95997DE0_mat2@c DB 01H msvcjmc ENDS PUBLIC transpose2to3 PUBLIC transpose2to4 PUBLIC deinit_mat2 PUBLIC __JustMyCode_Default EXTRN __imp__aligned_free:PROC EXTRN _RTC_InitBase:PROC EXTRN _RTC_Shutdown:PROC EXTRN __CheckForDebuggerJustMyCode:PROC EXTRN defaultVecPtr:QWORD ; COMDAT pdata pdata SEGMENT $pdata$transpose2to3 DD imagerel $LN3 DD imagerel $LN3+321 DD imagerel $unwind$transpose2to3 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$transpose2to4 DD imagerel $LN3 DD imagerel $LN3+356 DD imagerel $unwind$transpose2to4 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$deinit_mat2 DD imagerel $LN3 DD imagerel $LN3+54 DD imagerel $unwind$deinit_mat2 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$deinit_mat2 DD 025051301H DD 010e2313H DD 07007001dH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$transpose2to4 DD 025051801H DD 01132318H DD 0700c0029H DD 0500bH xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$transpose2to3 DD 025051801H DD 01132318H DD 0700c0029H DD 0500bH 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 D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat2.c ; COMDAT deinit_mat2 _TEXT SEGMENT mat$ = 224 deinit_mat2 PROC ; COMDAT ; 28 : { $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:__95997DE0_mat2@c 0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 29 : _aligned_free(mat); 0001f 48 8b 8d e0 00 00 00 mov rcx, QWORD PTR mat$[rbp] 00026 ff 15 00 00 00 00 call QWORD PTR __imp__aligned_free ; 30 : } 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 deinit_mat2 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat2.c ; COMDAT transpose2to4 _TEXT SEGMENT t0$ = 16 t1$ = 64 source$ = 320 target$ = 328 transpose2to4 PROC ; COMDAT ; 17 : { $LN3: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 55 push rbp 0000b 57 push rdi 0000c 48 81 ec 48 01 00 00 sub rsp, 328 ; 00000148H 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00018 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__95997DE0_mat2@c 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 18 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0)); 00024 b8 08 00 00 00 mov eax, 8 00029 48 6b c0 00 imul rax, rax, 0 0002d 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR source$[rbp] 00034 48 03 c8 add rcx, rax 00037 48 8b c1 mov rax, rcx 0003a b9 04 00 00 00 mov ecx, 4 0003f 48 6b c9 01 imul rcx, rcx, 1 00043 48 03 c1 add rax, rcx 00046 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00049 b8 08 00 00 00 mov eax, 8 0004e 48 6b c0 00 imul rax, rax, 0 00052 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR source$[rbp] 00059 48 03 c8 add rcx, rax 0005c 48 8b c1 mov rax, rcx 0005f b9 04 00 00 00 mov ecx, 4 00064 48 6b c9 00 imul rcx, rcx, 0 00068 48 03 c1 add rax, rcx 0006b 0f 10 08 movups xmm1, XMMWORD PTR [rax] 0006e 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 00072 0f 28 c1 movaps xmm0, xmm1 00075 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 ; 19 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2)); 00079 b8 08 00 00 00 mov eax, 8 0007e 48 6b c0 00 imul rax, rax, 0 00082 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR source$[rbp] 00089 48 03 c8 add rcx, rax 0008c 48 8b c1 mov rax, rcx 0008f b9 04 00 00 00 mov ecx, 4 00094 48 6b c9 01 imul rcx, rcx, 1 00098 48 03 c1 add rax, rcx 0009b 0f 10 00 movups xmm0, XMMWORD PTR [rax] 0009e b8 08 00 00 00 mov eax, 8 000a3 48 6b c0 00 imul rax, rax, 0 000a7 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR source$[rbp] 000ae 48 03 c8 add rcx, rax 000b1 48 8b c1 mov rax, rcx 000b4 b9 04 00 00 00 mov ecx, 4 000b9 48 6b c9 00 imul rcx, rcx, 0 000bd 48 03 c1 add rax, rcx 000c0 0f 10 08 movups xmm1, XMMWORD PTR [rax] 000c3 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH 000c7 0f 28 c1 movaps xmm0, xmm1 000ca 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0 ; 20 : ; 21 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0)); 000ce 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 000d5 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] 000d9 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H 000dd b8 10 00 00 00 mov eax, 16 000e2 48 6b c0 00 imul rax, rax, 0 000e6 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR target$[rbp] 000ed 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 22 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1)); 000f1 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 000f8 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] 000fc 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH 00100 b8 10 00 00 00 mov eax, 16 00105 48 6b c0 01 imul rax, rax, 1 00109 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR target$[rbp] 00110 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 23 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0)); 00114 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 0011b 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] 0011f 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H 00123 b8 10 00 00 00 mov eax, 16 00128 48 6b c0 02 imul rax, rax, 2 0012c 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR target$[rbp] 00133 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 24 : target->colum[3] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1)); 00137 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 0013e 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] 00142 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH 00146 b8 10 00 00 00 mov eax, 16 0014b 48 6b c0 03 imul rax, rax, 3 0014f 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR target$[rbp] 00156 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 25 : } 0015a 48 8d a5 28 01 00 00 lea rsp, QWORD PTR [rbp+296] 00161 5f pop rdi 00162 5d pop rbp 00163 c3 ret 0 transpose2to4 ENDP _TEXT ENDS ; Function compile flags: /Odtp /RTCsu /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic\code\mat2.c ; COMDAT transpose2to3 _TEXT SEGMENT t0$ = 16 t1$ = 64 source$ = 320 target$ = 328 transpose2to3 PROC ; COMDAT ; 7 : { $LN3: 00000 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx 00005 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 0000a 55 push rbp 0000b 57 push rdi 0000c 48 81 ec 48 01 00 00 sub rsp, 328 ; 00000148H 00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00018 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__95997DE0_mat2@c 0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 8 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(1, 0, 1, 0)); 00024 b8 08 00 00 00 mov eax, 8 00029 48 6b c0 00 imul rax, rax, 0 0002d 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR source$[rbp] 00034 48 03 c8 add rcx, rax 00037 48 8b c1 mov rax, rcx 0003a b9 04 00 00 00 mov ecx, 4 0003f 48 6b c9 01 imul rcx, rcx, 1 00043 48 03 c1 add rax, rcx 00046 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00049 b8 08 00 00 00 mov eax, 8 0004e 48 6b c0 00 imul rax, rax, 0 00052 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR source$[rbp] 00059 48 03 c8 add rcx, rax 0005c 48 8b c1 mov rax, rcx 0005f b9 04 00 00 00 mov ecx, 4 00064 48 6b c9 00 imul rcx, rcx, 0 00068 48 03 c1 add rax, rcx 0006b 0f 10 08 movups xmm1, XMMWORD PTR [rax] 0006e 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 00072 0f 28 c1 movaps xmm0, xmm1 00075 0f 29 45 10 movaps XMMWORD PTR t0$[rbp], xmm0 ; 9 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->m[0][0]), ALIGN(source->m[0][1]), _MM_SHUFFLE(3, 2, 3, 2)); 00079 b8 08 00 00 00 mov eax, 8 0007e 48 6b c0 00 imul rax, rax, 0 00082 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR source$[rbp] 00089 48 03 c8 add rcx, rax 0008c 48 8b c1 mov rax, rcx 0008f b9 04 00 00 00 mov ecx, 4 00094 48 6b c9 01 imul rcx, rcx, 1 00098 48 03 c1 add rax, rcx 0009b 0f 10 00 movups xmm0, XMMWORD PTR [rax] 0009e b8 08 00 00 00 mov eax, 8 000a3 48 6b c0 00 imul rax, rax, 0 000a7 48 8b 8d 40 01 00 00 mov rcx, QWORD PTR source$[rbp] 000ae 48 03 c8 add rcx, rax 000b1 48 8b c1 mov rax, rcx 000b4 b9 04 00 00 00 mov ecx, 4 000b9 48 6b c9 00 imul rcx, rcx, 0 000bd 48 03 c1 add rax, rcx 000c0 0f 10 08 movups xmm1, XMMWORD PTR [rax] 000c3 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH 000c7 0f 28 c1 movaps xmm0, xmm1 000ca 0f 29 45 40 movaps XMMWORD PTR t1$[rbp], xmm0 ; 10 : ; 11 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0)); 000ce 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 000d5 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] 000d9 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H 000dd b8 10 00 00 00 mov eax, 16 000e2 48 6b c0 00 imul rax, rax, 0 000e6 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR target$[rbp] 000ed 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 12 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1)); 000f1 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 000f8 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp] 000fc 0f c6 00 dd shufps xmm0, XMMWORD PTR [rax], 221 ; 000000ddH 00100 b8 10 00 00 00 mov eax, 16 00105 48 6b c0 01 imul rax, rax, 1 00109 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR target$[rbp] 00110 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 13 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0)); 00114 48 8b 05 00 00 00 00 mov rax, QWORD PTR defaultVecPtr 0011b 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp] 0011f 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H 00123 b8 10 00 00 00 mov eax, 16 00128 48 6b c0 02 imul rax, rax, 2 0012c 48 8b 8d 48 01 00 00 mov rcx, QWORD PTR target$[rbp] 00133 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 14 : } 00137 48 8d a5 28 01 00 00 lea rsp, QWORD PTR [rbp+296] 0013e 5f pop rdi 0013f 5d pop rbp 00140 c3 ret 0 transpose2to3 ENDP _TEXT ENDS END