; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0 include listing.inc INCLUDELIB MSVCRT INCLUDELIB OLDNAMES _DATA SEGMENT COMM report:QWORD 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 __F7492337_framework@h DB 01H __ED683015_stdint@h DB 01H __018B5678_khrplatform@h DB 01H __79FC18F0_glad@h DB 01H __13F5961F_stddef@h DB 01H __986CAB3E_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 __C508448F_StgSharpGraphic@h DB 01H __44420885_corecrt_stdio_config@h DB 01H __AB601D8D_corecrt_wstdio@h DB 01H __C1EC35D3_stdio@h DB 01H __6DC84844_mat4@c DB 01H msvcjmc ENDS PUBLIC transpose4to2 PUBLIC transpose4to4 PUBLIC det_mat4 PUBLIC deinit_mat4 PUBLIC transpose4to3 PUBLIC __JustMyCode_Default PUBLIC __xmm@80000000800000008000000080000000 EXTRN __imp__aligned_free:PROC EXTRN det_mat3_internal:PROC EXTRN __CheckForDebuggerJustMyCode:PROC EXTRN _fltused:DWORD ; COMDAT pdata pdata SEGMENT $pdata$transpose4to2 DD imagerel $LN3 DD imagerel $LN3+203 DD imagerel $unwind$transpose4to2 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$transpose4to4 DD imagerel $LN3 DD imagerel $LN3+404 DD imagerel $unwind$transpose4to4 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$det_mat4 DD imagerel $LN3 DD imagerel $LN3+541 DD imagerel $unwind$det_mat4 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$deinit_mat4 DD imagerel $LN3 DD imagerel $LN3+43 DD imagerel $unwind$deinit_mat4 pdata ENDS ; COMDAT pdata pdata SEGMENT $pdata$transpose4to3 DD imagerel $LN3 DD imagerel $LN3+375 DD imagerel $unwind$transpose4to3 pdata ENDS ; COMDAT __xmm@80000000800000008000000080000000 CONST SEGMENT __xmm@80000000800000008000000080000000 DB 00H, 00H, 00H, 080H, 00H, 00H, 00H DB 080H, 00H, 00H, 00H, 080H, 00H, 00H, 00H, 080H CONST ENDS ; COMDAT xdata xdata SEGMENT $unwind$transpose4to3 DD 025041701H DD 01122317H DD 0500b0014H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$deinit_mat4 DD 025030f01H DD 0b20a230fH DD 05006H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$det_mat4 DD 025041701H DD 01122317H DD 0500b0032H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$transpose4to4 DD 025041701H DD 01122317H DD 0500b0014H xdata ENDS ; COMDAT xdata xdata SEGMENT $unwind$transpose4to2 DD 025031701H DD 0f2122317H 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 /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat4.c ; COMDAT transpose4to3 _TEXT SEGMENT t0$ = 0 t1$ = 16 t2$ = 32 t3$ = 48 source$ = 144 target$ = 152 transpose4to3 PROC ; COMDAT ; 32 : { $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 48 81 ec a0 00 00 00 sub rsp, 160 ; 000000a0H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6DC84844_mat4@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 33 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0)); 00023 b8 10 00 00 00 mov eax, 16 00028 48 6b c0 01 imul rax, rax, 1 0002c 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 00033 48 03 c8 add rcx, rax 00036 48 8b c1 mov rax, rcx 00039 0f 10 00 movups xmm0, XMMWORD PTR [rax] 0003c b8 10 00 00 00 mov eax, 16 00041 48 6b c0 00 imul rax, rax, 0 00045 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 0004c 48 03 c8 add rcx, rax 0004f 48 8b c1 mov rax, rcx 00052 0f 10 08 movups xmm1, XMMWORD PTR [rax] 00055 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 00059 0f 28 c1 movaps xmm0, xmm1 0005c 0f 29 45 00 movaps XMMWORD PTR t0$[rbp], xmm0 ; 34 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2)); 00060 b8 10 00 00 00 mov eax, 16 00065 48 6b c0 01 imul rax, rax, 1 00069 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 00070 48 03 c8 add rcx, rax 00073 48 8b c1 mov rax, rcx 00076 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00079 b8 10 00 00 00 mov eax, 16 0007e 48 6b c0 00 imul rax, rax, 0 00082 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 00089 48 03 c8 add rcx, rax 0008c 48 8b c1 mov rax, rcx 0008f 0f 10 08 movups xmm1, XMMWORD PTR [rax] 00092 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH 00096 0f 28 c1 movaps xmm0, xmm1 00099 0f 29 45 10 movaps XMMWORD PTR t1$[rbp], xmm0 ; 35 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), ALIGN(source->colum[3]), _MM_SHUFFLE(1, 0, 1, 0)); 0009d b8 10 00 00 00 mov eax, 16 000a2 48 6b c0 03 imul rax, rax, 3 000a6 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 000ad 48 03 c8 add rcx, rax 000b0 48 8b c1 mov rax, rcx 000b3 0f 10 00 movups xmm0, XMMWORD PTR [rax] 000b6 b8 10 00 00 00 mov eax, 16 000bb 48 6b c0 02 imul rax, rax, 2 000bf 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 000c6 48 03 c8 add rcx, rax 000c9 48 8b c1 mov rax, rcx 000cc 0f 10 08 movups xmm1, XMMWORD PTR [rax] 000cf 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 000d3 0f 28 c1 movaps xmm0, xmm1 000d6 0f 29 45 20 movaps XMMWORD PTR t2$[rbp], xmm0 ; 36 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->colum[2]), ALIGN(source->colum[3]), _MM_SHUFFLE(3, 2, 3, 2)); 000da b8 10 00 00 00 mov eax, 16 000df 48 6b c0 03 imul rax, rax, 3 000e3 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 000ea 48 03 c8 add rcx, rax 000ed 48 8b c1 mov rax, rcx 000f0 0f 10 00 movups xmm0, XMMWORD PTR [rax] 000f3 b8 10 00 00 00 mov eax, 16 000f8 48 6b c0 02 imul rax, rax, 2 000fc 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 00103 48 03 c8 add rcx, rax 00106 48 8b c1 mov rax, rcx 00109 0f 10 08 movups xmm1, XMMWORD PTR [rax] 0010c 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH 00110 0f 28 c1 movaps xmm0, xmm1 00113 0f 29 45 30 movaps XMMWORD PTR t3$[rbp], xmm0 ; 37 : ; 38 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); 00117 0f 28 45 00 movaps xmm0, XMMWORD PTR t0$[rbp] 0011b 0f c6 45 20 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H 00120 b8 10 00 00 00 mov eax, 16 00125 48 6b c0 00 imul rax, rax, 0 00129 48 8b 8d 98 00 00 00 mov rcx, QWORD PTR target$[rbp] 00130 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 39 : target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); 00134 0f 28 45 00 movaps xmm0, XMMWORD PTR t0$[rbp] 00138 0f c6 45 20 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH 0013d b8 10 00 00 00 mov eax, 16 00142 48 6b c0 01 imul rax, rax, 1 00146 48 8b 8d 98 00 00 00 mov rcx, QWORD PTR target$[rbp] 0014d 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 40 : target->colum[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0)); 00151 0f 28 45 10 movaps xmm0, XMMWORD PTR t1$[rbp] 00155 0f c6 45 30 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H 0015a b8 10 00 00 00 mov eax, 16 0015f 48 6b c0 02 imul rax, rax, 2 00163 48 8b 8d 98 00 00 00 mov rcx, QWORD PTR target$[rbp] 0016a 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 41 : ; 42 : } 0016e 48 8d a5 80 00 00 00 lea rsp, QWORD PTR [rbp+128] 00175 5d pop rbp 00176 c3 ret 0 transpose4to3 ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat4.c ; COMDAT deinit_mat4 _TEXT SEGMENT matPtr$ = 80 deinit_mat4 PROC ; COMDAT ; 67 : { $LN3: 00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx 00005 55 push rbp 00006 48 83 ec 60 sub rsp, 96 ; 00000060H 0000a 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 0000f 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6DC84844_mat4@c 00016 e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 68 : _aligned_free(matPtr); 0001b 48 8b 4d 50 mov rcx, QWORD PTR matPtr$[rbp] 0001f ff 15 00 00 00 00 call QWORD PTR __imp__aligned_free ; 69 : } 00025 48 8d 65 40 lea rsp, QWORD PTR [rbp+64] 00029 5d pop rbp 0002a c3 ret 0 deinit_mat4 ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat4.c ; COMDAT det_mat4 _TEXT SEGMENT mc0$ = 0 mc1$ = 16 mc2$ = 32 mc3$ = 48 cogeneration$ = 64 retvec$ = 80 $T1 = 160 $T2 = 176 $T3 = 192 $T4 = 208 $T5 = 224 $T6 = 240 $T7 = 256 $T8 = 272 $T9 = 288 $T10 = 304 $T11 = 320 $T12 = 336 tv85 = 352 tv90 = 356 tv95 = 360 matPtr$ = 384 transpose$ = 392 det_mat4 PROC ; COMDAT ; 47 : { $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 48 81 ec 90 01 00 00 sub rsp, 400 ; 00000190H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6DC84844_mat4@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 48 : __m128 mc0 = ALIGN(matPtr->colum[0]); 00023 b8 10 00 00 00 mov eax, 16 00028 48 6b c0 00 imul rax, rax, 0 0002c 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR matPtr$[rbp] 00033 48 03 c8 add rcx, rax 00036 48 8b c1 mov rax, rcx 00039 0f 10 00 movups xmm0, XMMWORD PTR [rax] 0003c 0f 29 45 00 movaps XMMWORD PTR mc0$[rbp], xmm0 ; 49 : __m128 mc1 = ALIGN(matPtr->colum[1]); 00040 b8 10 00 00 00 mov eax, 16 00045 48 6b c0 01 imul rax, rax, 1 00049 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR matPtr$[rbp] 00050 48 03 c8 add rcx, rax 00053 48 8b c1 mov rax, rcx 00056 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00059 0f 29 45 10 movaps XMMWORD PTR mc1$[rbp], xmm0 ; 50 : __m128 mc2 = ALIGN(matPtr->colum[2]); 0005d b8 10 00 00 00 mov eax, 16 00062 48 6b c0 02 imul rax, rax, 2 00066 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR matPtr$[rbp] 0006d 48 03 c8 add rcx, rax 00070 48 8b c1 mov rax, rcx 00073 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00076 0f 29 45 20 movaps XMMWORD PTR mc2$[rbp], xmm0 ; 51 : __m128 mc3 = ALIGN(matPtr->colum[3]); 0007a b8 10 00 00 00 mov eax, 16 0007f 48 6b c0 03 imul rax, rax, 3 00083 48 8b 8d 80 01 00 00 mov rcx, QWORD PTR matPtr$[rbp] 0008a 48 03 c8 add rcx, rax 0008d 48 8b c1 mov rax, rcx 00090 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00093 0f 29 45 30 movaps XMMWORD PTR mc3$[rbp], xmm0 ; 52 : ; 53 : __m128 cogeneration = _mm_set_ps( 00097 0f 28 45 30 movaps xmm0, XMMWORD PTR mc3$[rbp] 0009b 0f 29 85 c0 00 00 00 movaps XMMWORD PTR $T3[rbp], xmm0 000a2 0f 28 45 20 movaps xmm0, XMMWORD PTR mc2$[rbp] 000a6 0f 29 85 b0 00 00 00 movaps XMMWORD PTR $T2[rbp], xmm0 000ad 0f 28 45 10 movaps xmm0, XMMWORD PTR mc1$[rbp] 000b1 0f 29 85 a0 00 00 00 movaps XMMWORD PTR $T1[rbp], xmm0 000b8 4c 8d 85 c0 00 00 00 lea r8, QWORD PTR $T3[rbp] 000bf 48 8d 95 b0 00 00 00 lea rdx, QWORD PTR $T2[rbp] 000c6 48 8d 8d a0 00 00 00 lea rcx, QWORD PTR $T1[rbp] 000cd e8 00 00 00 00 call det_mat3_internal 000d2 f3 0f 11 85 60 01 00 00 movss DWORD PTR tv85[rbp], xmm0 000da 0f 28 4d 30 movaps xmm1, XMMWORD PTR mc3$[rbp] 000de 0f 29 8d f0 00 00 00 movaps XMMWORD PTR $T6[rbp], xmm1 000e5 0f 28 4d 20 movaps xmm1, XMMWORD PTR mc2$[rbp] 000e9 0f 29 8d e0 00 00 00 movaps XMMWORD PTR $T5[rbp], xmm1 000f0 0f 28 4d 00 movaps xmm1, XMMWORD PTR mc0$[rbp] 000f4 0f 29 8d d0 00 00 00 movaps XMMWORD PTR $T4[rbp], xmm1 000fb 4c 8d 85 f0 00 00 00 lea r8, QWORD PTR $T6[rbp] 00102 48 8d 95 e0 00 00 00 lea rdx, QWORD PTR $T5[rbp] 00109 48 8d 8d d0 00 00 00 lea rcx, QWORD PTR $T4[rbp] 00110 e8 00 00 00 00 call det_mat3_internal 00115 f3 0f 11 85 64 01 00 00 movss DWORD PTR tv90[rbp], xmm0 0011d 0f 28 4d 30 movaps xmm1, XMMWORD PTR mc3$[rbp] 00121 0f 29 8d 20 01 00 00 movaps XMMWORD PTR $T9[rbp], xmm1 00128 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc1$[rbp] 0012c 0f 29 8d 10 01 00 00 movaps XMMWORD PTR $T8[rbp], xmm1 00133 0f 28 4d 00 movaps xmm1, XMMWORD PTR mc0$[rbp] 00137 0f 29 8d 00 01 00 00 movaps XMMWORD PTR $T7[rbp], xmm1 0013e 4c 8d 85 20 01 00 00 lea r8, QWORD PTR $T9[rbp] 00145 48 8d 95 10 01 00 00 lea rdx, QWORD PTR $T8[rbp] 0014c 48 8d 8d 00 01 00 00 lea rcx, QWORD PTR $T7[rbp] 00153 e8 00 00 00 00 call det_mat3_internal 00158 f3 0f 11 85 68 01 00 00 movss DWORD PTR tv95[rbp], xmm0 00160 0f 28 4d 20 movaps xmm1, XMMWORD PTR mc2$[rbp] 00164 0f 29 8d 50 01 00 00 movaps XMMWORD PTR $T12[rbp], xmm1 0016b 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc1$[rbp] 0016f 0f 29 8d 40 01 00 00 movaps XMMWORD PTR $T11[rbp], xmm1 00176 0f 28 4d 00 movaps xmm1, XMMWORD PTR mc0$[rbp] 0017a 0f 29 8d 30 01 00 00 movaps XMMWORD PTR $T10[rbp], xmm1 00181 4c 8d 85 50 01 00 00 lea r8, QWORD PTR $T12[rbp] 00188 48 8d 95 40 01 00 00 lea rdx, QWORD PTR $T11[rbp] 0018f 48 8d 8d 30 01 00 00 lea rcx, QWORD PTR $T10[rbp] 00196 e8 00 00 00 00 call det_mat3_internal 0019b f3 0f 10 8d 68 01 00 00 movss xmm1, DWORD PTR tv95[rbp] 001a3 f3 0f 10 95 64 01 00 00 movss xmm2, DWORD PTR tv90[rbp] 001ab f3 0f 10 9d 60 01 00 00 movss xmm3, DWORD PTR tv85[rbp] 001b3 0f 14 c8 unpcklps xmm1, xmm0 001b6 0f 14 da unpcklps xmm3, xmm2 001b9 0f 28 c3 movaps xmm0, xmm3 001bc 0f 16 c1 movlhps xmm0, xmm1 001bf 0f 29 45 40 movaps XMMWORD PTR cogeneration$[rbp], xmm0 ; 54 : det_mat3_internal(mc0, mc1, mc2), ; 55 : det_mat3_internal(mc0, mc1, mc3), ; 56 : det_mat3_internal(mc0, mc2, mc3), ; 57 : det_mat3_internal(mc1, mc2, mc3) ; 58 : ); ; 59 : __m128 retvec = _mm_mul_ps(ALIGN(transpose->colum[3]),cogeneration); 001c3 b8 10 00 00 00 mov eax, 16 001c8 48 6b c0 03 imul rax, rax, 3 001cc 48 8b 8d 88 01 00 00 mov rcx, QWORD PTR transpose$[rbp] 001d3 48 03 c8 add rcx, rax 001d6 48 8b c1 mov rax, rcx 001d9 0f 10 00 movups xmm0, XMMWORD PTR [rax] 001dc 0f 59 45 40 mulps xmm0, XMMWORD PTR cogeneration$[rbp] 001e0 0f 29 45 50 movaps XMMWORD PTR retvec$[rbp], xmm0 ; 60 : retvec = _mm_hsub_ps(retvec,retvec); 001e4 0f 28 45 50 movaps xmm0, XMMWORD PTR retvec$[rbp] 001e8 f2 0f 7d 45 50 hsubps xmm0, XMMWORD PTR retvec$[rbp] 001ed 0f 29 45 50 movaps XMMWORD PTR retvec$[rbp], xmm0 ; 61 : retvec = _mm_hadd_ps(retvec,retvec); 001f1 0f 28 45 50 movaps xmm0, XMMWORD PTR retvec$[rbp] 001f5 f2 0f 7c 45 50 haddps xmm0, XMMWORD PTR retvec$[rbp] 001fa 0f 29 45 50 movaps XMMWORD PTR retvec$[rbp], xmm0 ; 62 : return -retvec.m128_f32[0]; 001fe b8 04 00 00 00 mov eax, 4 00203 48 6b c0 00 imul rax, rax, 0 00207 f3 0f 10 44 05 50 movss xmm0, DWORD PTR retvec$[rbp+rax] 0020d 0f 57 05 00 00 00 00 xorps xmm0, DWORD PTR __xmm@80000000800000008000000080000000 ; 63 : ; 64 : } 00214 48 8d a5 70 01 00 00 lea rsp, QWORD PTR [rbp+368] 0021b 5d pop rbp 0021c c3 ret 0 det_mat4 ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat4.c ; COMDAT transpose4to4 _TEXT SEGMENT t0$ = 0 t1$ = 16 t2$ = 32 t3$ = 48 source$ = 144 target$ = 152 transpose4to4 PROC ; COMDAT ; 18 : { $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 48 81 ec a0 00 00 00 sub rsp, 160 ; 000000a0H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6DC84844_mat4@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 19 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0)); 00023 b8 10 00 00 00 mov eax, 16 00028 48 6b c0 01 imul rax, rax, 1 0002c 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 00033 48 03 c8 add rcx, rax 00036 48 8b c1 mov rax, rcx 00039 0f 10 00 movups xmm0, XMMWORD PTR [rax] 0003c b8 10 00 00 00 mov eax, 16 00041 48 6b c0 00 imul rax, rax, 0 00045 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 0004c 48 03 c8 add rcx, rax 0004f 48 8b c1 mov rax, rcx 00052 0f 10 08 movups xmm1, XMMWORD PTR [rax] 00055 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 00059 0f 28 c1 movaps xmm0, xmm1 0005c 0f 29 45 00 movaps XMMWORD PTR t0$[rbp], xmm0 ; 20 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2)); 00060 b8 10 00 00 00 mov eax, 16 00065 48 6b c0 01 imul rax, rax, 1 00069 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 00070 48 03 c8 add rcx, rax 00073 48 8b c1 mov rax, rcx 00076 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00079 b8 10 00 00 00 mov eax, 16 0007e 48 6b c0 00 imul rax, rax, 0 00082 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 00089 48 03 c8 add rcx, rax 0008c 48 8b c1 mov rax, rcx 0008f 0f 10 08 movups xmm1, XMMWORD PTR [rax] 00092 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH 00096 0f 28 c1 movaps xmm0, xmm1 00099 0f 29 45 10 movaps XMMWORD PTR t1$[rbp], xmm0 ; 21 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), ALIGN(source->colum[3]), _MM_SHUFFLE(1, 0, 1, 0)); 0009d b8 10 00 00 00 mov eax, 16 000a2 48 6b c0 03 imul rax, rax, 3 000a6 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 000ad 48 03 c8 add rcx, rax 000b0 48 8b c1 mov rax, rcx 000b3 0f 10 00 movups xmm0, XMMWORD PTR [rax] 000b6 b8 10 00 00 00 mov eax, 16 000bb 48 6b c0 02 imul rax, rax, 2 000bf 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 000c6 48 03 c8 add rcx, rax 000c9 48 8b c1 mov rax, rcx 000cc 0f 10 08 movups xmm1, XMMWORD PTR [rax] 000cf 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 000d3 0f 28 c1 movaps xmm0, xmm1 000d6 0f 29 45 20 movaps XMMWORD PTR t2$[rbp], xmm0 ; 22 : __m128 t3 = _mm_shuffle_ps(ALIGN(source->colum[2]), ALIGN(source->colum[3]), _MM_SHUFFLE(3, 2, 3, 2)); 000da b8 10 00 00 00 mov eax, 16 000df 48 6b c0 03 imul rax, rax, 3 000e3 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 000ea 48 03 c8 add rcx, rax 000ed 48 8b c1 mov rax, rcx 000f0 0f 10 00 movups xmm0, XMMWORD PTR [rax] 000f3 b8 10 00 00 00 mov eax, 16 000f8 48 6b c0 02 imul rax, rax, 2 000fc 48 8b 8d 90 00 00 00 mov rcx, QWORD PTR source$[rbp] 00103 48 03 c8 add rcx, rax 00106 48 8b c1 mov rax, rcx 00109 0f 10 08 movups xmm1, XMMWORD PTR [rax] 0010c 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH 00110 0f 28 c1 movaps xmm0, xmm1 00113 0f 29 45 30 movaps XMMWORD PTR t3$[rbp], xmm0 ; 23 : ; 24 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); 00117 0f 28 45 00 movaps xmm0, XMMWORD PTR t0$[rbp] 0011b 0f c6 45 20 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H 00120 b8 10 00 00 00 mov eax, 16 00125 48 6b c0 00 imul rax, rax, 0 00129 48 8b 8d 98 00 00 00 mov rcx, QWORD PTR target$[rbp] 00130 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 25 : target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); 00134 0f 28 45 00 movaps xmm0, XMMWORD PTR t0$[rbp] 00138 0f c6 45 20 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH 0013d b8 10 00 00 00 mov eax, 16 00142 48 6b c0 01 imul rax, rax, 1 00146 48 8b 8d 98 00 00 00 mov rcx, QWORD PTR target$[rbp] 0014d 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 26 : target->colum[2] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(2, 0, 2, 0)); 00151 0f 28 45 10 movaps xmm0, XMMWORD PTR t1$[rbp] 00155 0f c6 45 30 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H 0015a b8 10 00 00 00 mov eax, 16 0015f 48 6b c0 02 imul rax, rax, 2 00163 48 8b 8d 98 00 00 00 mov rcx, QWORD PTR target$[rbp] 0016a 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 27 : target->colum[3] = _mm_shuffle_ps(t1, t3, _MM_SHUFFLE(3, 1, 3, 1)); 0016e 0f 28 45 10 movaps xmm0, XMMWORD PTR t1$[rbp] 00172 0f c6 45 30 dd shufps xmm0, XMMWORD PTR t3$[rbp], 221 ; 000000ddH 00177 b8 10 00 00 00 mov eax, 16 0017c 48 6b c0 03 imul rax, rax, 3 00180 48 8b 8d 98 00 00 00 mov rcx, QWORD PTR target$[rbp] 00187 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 28 : ; 29 : } 0018b 48 8d a5 80 00 00 00 lea rsp, QWORD PTR [rbp+128] 00192 5d pop rbp 00193 c3 ret 0 transpose4to4 ENDP _TEXT ENDS ; Function compile flags: /Odtp /ZI ; File D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat4.c ; COMDAT transpose4to2 _TEXT SEGMENT t0$ = 0 t2$ = 16 source$ = 112 target$ = 120 transpose4to2 PROC ; COMDAT ; 9 : { $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 48 81 ec 80 00 00 00 sub rsp, 128 ; 00000080H 00012 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32] 00017 48 8d 0d 00 00 00 00 lea rcx, OFFSET FLAT:__6DC84844_mat4@c 0001e e8 00 00 00 00 call __CheckForDebuggerJustMyCode ; 10 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0)); 00023 b8 10 00 00 00 mov eax, 16 00028 48 6b c0 01 imul rax, rax, 1 0002c 48 8b 4d 70 mov rcx, QWORD PTR source$[rbp] 00030 48 03 c8 add rcx, rax 00033 48 8b c1 mov rax, rcx 00036 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00039 b8 10 00 00 00 mov eax, 16 0003e 48 6b c0 00 imul rax, rax, 0 00042 48 8b 4d 70 mov rcx, QWORD PTR source$[rbp] 00046 48 03 c8 add rcx, rax 00049 48 8b c1 mov rax, rcx 0004c 0f 10 08 movups xmm1, XMMWORD PTR [rax] 0004f 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 00053 0f 28 c1 movaps xmm0, xmm1 00056 0f 29 45 00 movaps XMMWORD PTR t0$[rbp], xmm0 ; 11 : __m128 t2 = _mm_shuffle_ps(ALIGN(source->colum[2]), ALIGN(source->colum[3]), _MM_SHUFFLE(1, 0, 1, 0)); 0005a b8 10 00 00 00 mov eax, 16 0005f 48 6b c0 03 imul rax, rax, 3 00063 48 8b 4d 70 mov rcx, QWORD PTR source$[rbp] 00067 48 03 c8 add rcx, rax 0006a 48 8b c1 mov rax, rcx 0006d 0f 10 00 movups xmm0, XMMWORD PTR [rax] 00070 b8 10 00 00 00 mov eax, 16 00075 48 6b c0 02 imul rax, rax, 2 00079 48 8b 4d 70 mov rcx, QWORD PTR source$[rbp] 0007d 48 03 c8 add rcx, rax 00080 48 8b c1 mov rax, rcx 00083 0f 10 08 movups xmm1, XMMWORD PTR [rax] 00086 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H 0008a 0f 28 c1 movaps xmm0, xmm1 0008d 0f 29 45 10 movaps XMMWORD PTR t2$[rbp], xmm0 ; 12 : ; 13 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0)); 00091 0f 28 45 00 movaps xmm0, XMMWORD PTR t0$[rbp] 00095 0f c6 45 10 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H 0009a b8 10 00 00 00 mov eax, 16 0009f 48 6b c0 00 imul rax, rax, 0 000a3 48 8b 4d 78 mov rcx, QWORD PTR target$[rbp] 000a7 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 14 : target->colum[1] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(3, 1, 3, 1)); 000ab 0f 28 45 00 movaps xmm0, XMMWORD PTR t0$[rbp] 000af 0f c6 45 10 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH 000b4 b8 10 00 00 00 mov eax, 16 000b9 48 6b c0 01 imul rax, rax, 1 000bd 48 8b 4d 78 mov rcx, QWORD PTR target$[rbp] 000c1 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0 ; 15 : } 000c5 48 8d 65 60 lea rsp, QWORD PTR [rbp+96] 000c9 5d pop rbp 000ca c3 ret 0 transpose4to2 ENDP _TEXT ENDS END