Files
stgsharp/源代码/StgSharpC/x64/Debug/mat4.cod
T

1114 lines
35 KiB
Plaintext

; Listing generated by Microsoft (R) Optimizing Compiler Version 19.37.32824.0
include listing.inc
INCLUDELIB MSVCRTD
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM GLAD_WGL_VERSION_1_0:DWORD
COMM GLAD_WGL_3DFX_multisample:DWORD
COMM GLAD_WGL_3DL_stereo_control:DWORD
COMM GLAD_WGL_AMD_gpu_association:DWORD
COMM GLAD_WGL_ARB_buffer_region:DWORD
COMM GLAD_WGL_ARB_context_flush_control:DWORD
COMM GLAD_WGL_ARB_create_context:DWORD
COMM GLAD_WGL_ARB_create_context_no_error:DWORD
COMM GLAD_WGL_ARB_create_context_profile:DWORD
COMM GLAD_WGL_ARB_create_context_robustness:DWORD
COMM GLAD_WGL_ARB_extensions_string:DWORD
COMM GLAD_WGL_ARB_framebuffer_sRGB:DWORD
COMM GLAD_WGL_ARB_make_current_read:DWORD
COMM GLAD_WGL_ARB_multisample:DWORD
COMM GLAD_WGL_ARB_pbuffer:DWORD
COMM GLAD_WGL_ARB_pixel_format:DWORD
COMM GLAD_WGL_ARB_pixel_format_float:DWORD
COMM GLAD_WGL_ARB_render_texture:DWORD
COMM GLAD_WGL_ARB_robustness_application_isolation:DWORD
COMM GLAD_WGL_ARB_robustness_share_group_isolation:DWORD
COMM GLAD_WGL_ATI_pixel_format_float:DWORD
COMM GLAD_WGL_ATI_render_texture_rectangle:DWORD
COMM GLAD_WGL_EXT_colorspace:DWORD
COMM GLAD_WGL_EXT_create_context_es2_profile:DWORD
COMM GLAD_WGL_EXT_create_context_es_profile:DWORD
COMM GLAD_WGL_EXT_depth_float:DWORD
COMM GLAD_WGL_EXT_display_color_table:DWORD
COMM GLAD_WGL_EXT_extensions_string:DWORD
COMM GLAD_WGL_EXT_framebuffer_sRGB:DWORD
COMM GLAD_WGL_EXT_make_current_read:DWORD
COMM GLAD_WGL_EXT_multisample:DWORD
COMM GLAD_WGL_EXT_pbuffer:DWORD
COMM GLAD_WGL_EXT_pixel_format:DWORD
COMM GLAD_WGL_EXT_pixel_format_packed_float:DWORD
COMM GLAD_WGL_EXT_swap_control:DWORD
COMM GLAD_WGL_EXT_swap_control_tear:DWORD
COMM GLAD_WGL_I3D_digital_video_control:DWORD
COMM GLAD_WGL_I3D_gamma:DWORD
COMM GLAD_WGL_I3D_genlock:DWORD
COMM GLAD_WGL_I3D_image_buffer:DWORD
COMM GLAD_WGL_I3D_swap_frame_lock:DWORD
COMM GLAD_WGL_I3D_swap_frame_usage:DWORD
COMM GLAD_WGL_NV_DX_interop:DWORD
COMM GLAD_WGL_NV_DX_interop2:DWORD
COMM GLAD_WGL_NV_copy_image:DWORD
COMM GLAD_WGL_NV_delay_before_swap:DWORD
COMM GLAD_WGL_NV_float_buffer:DWORD
COMM GLAD_WGL_NV_gpu_affinity:DWORD
COMM GLAD_WGL_NV_multigpu_context:DWORD
COMM GLAD_WGL_NV_multisample_coverage:DWORD
COMM GLAD_WGL_NV_present_video:DWORD
COMM GLAD_WGL_NV_render_depth_texture:DWORD
COMM GLAD_WGL_NV_render_texture_rectangle:DWORD
COMM GLAD_WGL_NV_swap_group:DWORD
COMM GLAD_WGL_NV_vertex_array_range:DWORD
COMM GLAD_WGL_NV_video_capture:DWORD
COMM GLAD_WGL_NV_video_output:DWORD
COMM GLAD_WGL_OML_sync_control:DWORD
COMM glad_wglAllocateMemoryNV:QWORD
COMM glad_wglAssociateImageBufferEventsI3D:QWORD
COMM glad_wglBeginFrameTrackingI3D:QWORD
COMM glad_wglBindDisplayColorTableEXT:QWORD
COMM glad_wglBindSwapBarrierNV:QWORD
COMM glad_wglBindTexImageARB:QWORD
COMM glad_wglBindVideoCaptureDeviceNV:QWORD
COMM glad_wglBindVideoDeviceNV:QWORD
COMM glad_wglBindVideoImageNV:QWORD
COMM glad_wglBlitContextFramebufferAMD:QWORD
COMM glad_wglChoosePixelFormatARB:QWORD
COMM glad_wglChoosePixelFormatEXT:QWORD
COMM glad_wglCopyImageSubDataNV:QWORD
COMM glad_wglCreateAffinityDCNV:QWORD
COMM glad_wglCreateAssociatedContextAMD:QWORD
COMM glad_wglCreateAssociatedContextAttribsAMD:QWORD
COMM glad_wglCreateBufferRegionARB:QWORD
COMM glad_wglCreateContextAttribsARB:QWORD
COMM glad_wglCreateDisplayColorTableEXT:QWORD
COMM glad_wglCreateImageBufferI3D:QWORD
COMM glad_wglCreatePbufferARB:QWORD
COMM glad_wglCreatePbufferEXT:QWORD
COMM glad_wglDXCloseDeviceNV:QWORD
COMM glad_wglDXLockObjectsNV:QWORD
COMM glad_wglDXObjectAccessNV:QWORD
COMM glad_wglDXOpenDeviceNV:QWORD
COMM glad_wglDXRegisterObjectNV:QWORD
COMM glad_wglDXSetResourceShareHandleNV:QWORD
COMM glad_wglDXUnlockObjectsNV:QWORD
COMM glad_wglDXUnregisterObjectNV:QWORD
COMM glad_wglDelayBeforeSwapNV:QWORD
COMM glad_wglDeleteAssociatedContextAMD:QWORD
COMM glad_wglDeleteBufferRegionARB:QWORD
COMM glad_wglDeleteDCNV:QWORD
COMM glad_wglDestroyDisplayColorTableEXT:QWORD
COMM glad_wglDestroyImageBufferI3D:QWORD
COMM glad_wglDestroyPbufferARB:QWORD
COMM glad_wglDestroyPbufferEXT:QWORD
COMM glad_wglDisableFrameLockI3D:QWORD
COMM glad_wglDisableGenlockI3D:QWORD
COMM glad_wglEnableFrameLockI3D:QWORD
COMM glad_wglEnableGenlockI3D:QWORD
COMM glad_wglEndFrameTrackingI3D:QWORD
COMM glad_wglEnumGpuDevicesNV:QWORD
COMM glad_wglEnumGpusFromAffinityDCNV:QWORD
COMM glad_wglEnumGpusNV:QWORD
COMM glad_wglEnumerateVideoCaptureDevicesNV:QWORD
COMM glad_wglEnumerateVideoDevicesNV:QWORD
COMM glad_wglFreeMemoryNV:QWORD
COMM glad_wglGenlockSampleRateI3D:QWORD
COMM glad_wglGenlockSourceDelayI3D:QWORD
COMM glad_wglGenlockSourceEdgeI3D:QWORD
COMM glad_wglGenlockSourceI3D:QWORD
COMM glad_wglGetContextGPUIDAMD:QWORD
COMM glad_wglGetCurrentAssociatedContextAMD:QWORD
COMM glad_wglGetCurrentReadDCARB:QWORD
COMM glad_wglGetCurrentReadDCEXT:QWORD
COMM glad_wglGetDigitalVideoParametersI3D:QWORD
COMM glad_wglGetExtensionsStringARB:QWORD
COMM glad_wglGetExtensionsStringEXT:QWORD
COMM glad_wglGetFrameUsageI3D:QWORD
COMM glad_wglGetGPUIDsAMD:QWORD
COMM glad_wglGetGPUInfoAMD:QWORD
COMM glad_wglGetGammaTableI3D:QWORD
COMM glad_wglGetGammaTableParametersI3D:QWORD
COMM glad_wglGetGenlockSampleRateI3D:QWORD
COMM glad_wglGetGenlockSourceDelayI3D:QWORD
COMM glad_wglGetGenlockSourceEdgeI3D:QWORD
COMM glad_wglGetGenlockSourceI3D:QWORD
COMM glad_wglGetMscRateOML:QWORD
COMM glad_wglGetPbufferDCARB:QWORD
COMM glad_wglGetPbufferDCEXT:QWORD
COMM glad_wglGetPixelFormatAttribfvARB:QWORD
COMM glad_wglGetPixelFormatAttribfvEXT:QWORD
COMM glad_wglGetPixelFormatAttribivARB:QWORD
COMM glad_wglGetPixelFormatAttribivEXT:QWORD
COMM glad_wglGetSwapIntervalEXT:QWORD
COMM glad_wglGetSyncValuesOML:QWORD
COMM glad_wglGetVideoDeviceNV:QWORD
COMM glad_wglGetVideoInfoNV:QWORD
COMM glad_wglIsEnabledFrameLockI3D:QWORD
COMM glad_wglIsEnabledGenlockI3D:QWORD
COMM glad_wglJoinSwapGroupNV:QWORD
COMM glad_wglLoadDisplayColorTableEXT:QWORD
COMM glad_wglLockVideoCaptureDeviceNV:QWORD
COMM glad_wglMakeAssociatedContextCurrentAMD:QWORD
COMM glad_wglMakeContextCurrentARB:QWORD
COMM glad_wglMakeContextCurrentEXT:QWORD
COMM glad_wglQueryCurrentContextNV:QWORD
COMM glad_wglQueryFrameCountNV:QWORD
COMM glad_wglQueryFrameLockMasterI3D:QWORD
COMM glad_wglQueryFrameTrackingI3D:QWORD
COMM glad_wglQueryGenlockMaxSourceDelayI3D:QWORD
COMM glad_wglQueryMaxSwapGroupsNV:QWORD
COMM glad_wglQueryPbufferARB:QWORD
COMM glad_wglQueryPbufferEXT:QWORD
COMM glad_wglQuerySwapGroupNV:QWORD
COMM glad_wglQueryVideoCaptureDeviceNV:QWORD
COMM glad_wglReleaseImageBufferEventsI3D:QWORD
COMM glad_wglReleasePbufferDCARB:QWORD
COMM glad_wglReleasePbufferDCEXT:QWORD
COMM glad_wglReleaseTexImageARB:QWORD
COMM glad_wglReleaseVideoCaptureDeviceNV:QWORD
COMM glad_wglReleaseVideoDeviceNV:QWORD
COMM glad_wglReleaseVideoImageNV:QWORD
COMM glad_wglResetFrameCountNV:QWORD
COMM glad_wglRestoreBufferRegionARB:QWORD
COMM glad_wglSaveBufferRegionARB:QWORD
COMM glad_wglSendPbufferToVideoNV:QWORD
COMM glad_wglSetDigitalVideoParametersI3D:QWORD
COMM glad_wglSetGammaTableI3D:QWORD
COMM glad_wglSetGammaTableParametersI3D:QWORD
COMM glad_wglSetPbufferAttribARB:QWORD
COMM glad_wglSetStereoEmitterState3DL:QWORD
COMM glad_wglSwapBuffersMscOML:QWORD
COMM glad_wglSwapIntervalEXT:QWORD
COMM glad_wglSwapLayerBuffersMscOML:QWORD
COMM glad_wglWaitForMscOML:QWORD
COMM glad_wglWaitForSbcOML: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
__CBBACB16_ssgc_framework@h DB 01H
__F0C66064_ssgc_internal@h DB 01H
__ED683015_stdint@h DB 01H
__0E25A6E3_khrplatform@h DB 01H
__4AFAC916_glad_gl@h DB 01H
__D52B075C_glad_wgl@h DB 01H
__13F5961F_stddef@h DB 01H
__94128AEC_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
__9D113FA1_StgSharpC@h DB 01H
__44420885_corecrt_stdio_config@h DB 01H
__AB601D8D_corecrt_wstdio@h DB 01H
__C1EC35D3_stdio@h DB 01H
__506864FF_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 _RTC_CheckStackVars:PROC
EXTRN _RTC_InitBase:PROC
EXTRN _RTC_Shutdown:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$transpose4to2 DD imagerel $LN3
DD imagerel $LN3+226
DD imagerel $unwind$transpose4to2
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$transpose4to4 DD imagerel $LN3
DD imagerel $LN3+415
DD imagerel $unwind$transpose4to4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$det_mat4 DD imagerel $LN3
DD imagerel $LN3+638
DD imagerel $unwind$det_mat4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$deinit_mat4 DD imagerel $LN3
DD imagerel $LN3+54
DD imagerel $unwind$deinit_mat4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$transpose4to3 DD imagerel $LN3
DD imagerel $LN3+383
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 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$transpose4to3 DD 025051801H
DD 01132318H
DD 0700c0035H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$deinit_mat4 DD 025051301H
DD 010e2313H
DD 07007001dH
DD 05006H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$det_mat4 DD 035053101H
DD 01133318H
DD 0700c00a3H
DD 0500bH
xdata ENDS
; COMDAT CONST
CONST SEGMENT
det_mat4$rtcName$0 DB 072H
DB 065H
DB 074H
DB 076H
DB 065H
DB 063H
DB 00H
ORG $+9
det_mat4$rtcVarDesc DD 0130H
DD 010H
DQ FLAT:det_mat4$rtcName$0
ORG $+48
det_mat4$rtcFrameData DD 01H
DD 00H
DQ FLAT:det_mat4$rtcVarDesc
CONST ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose4to4 DD 025051801H
DD 01132318H
DD 0700c0035H
DD 0500bH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose4to2 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\Ô´´úÂë\StgSharpC\mat4.c
; COMDAT transpose4to3
_TEXT SEGMENT
t0$ = 16
t1$ = 64
t2$ = 112
t3$ = 160
source$ = 416
target$ = 424
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 57 push rdi
0000c 48 81 ec a8 01
00 00 sub rsp, 424 ; 000001a8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__506864FF_mat4@c
0001f 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));
00024 b8 10 00 00 00 mov eax, 16
00029 48 6b c0 01 imul rax, rax, 1
0002d 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00056 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0005a 0f 28 c1 movaps xmm0, xmm1
0005d 0f 29 45 10 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));
00061 b8 10 00 00 00 mov eax, 16
00066 48 6b c0 01 imul rax, rax, 1
0006a 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00071 48 03 c8 add rcx, rax
00074 48 8b c1 mov rax, rcx
00077 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0007a b8 10 00 00 00 mov eax, 16
0007f 48 6b c0 00 imul rax, rax, 0
00083 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
0008a 48 03 c8 add rcx, rax
0008d 48 8b c1 mov rax, rcx
00090 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00093 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
00097 0f 28 c1 movaps xmm0, xmm1
0009a 0f 29 45 40 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));
0009e b8 10 00 00 00 mov eax, 16
000a3 48 6b c0 03 imul rax, rax, 3
000a7 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000ae 48 03 c8 add rcx, rax
000b1 48 8b c1 mov rax, rcx
000b4 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000b7 b8 10 00 00 00 mov eax, 16
000bc 48 6b c0 02 imul rax, rax, 2
000c0 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000c7 48 03 c8 add rcx, rax
000ca 48 8b c1 mov rax, rcx
000cd 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000d0 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
000d4 0f 28 c1 movaps xmm0, xmm1
000d7 0f 29 45 70 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));
000db b8 10 00 00 00 mov eax, 16
000e0 48 6b c0 03 imul rax, rax, 3
000e4 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000eb 48 03 c8 add rcx, rax
000ee 48 8b c1 mov rax, rcx
000f1 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000f4 b8 10 00 00 00 mov eax, 16
000f9 48 6b c0 02 imul rax, rax, 2
000fd 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00104 48 03 c8 add rcx, rax
00107 48 8b c1 mov rax, rcx
0010a 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0010d 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
00111 0f 28 c1 movaps xmm0, xmm1
00114 0f 29 85 a0 00
00 00 movaps XMMWORD PTR t3$[rbp], xmm0
; 37 :
; 38 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
0011b 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0011f 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
00124 b8 10 00 00 00 mov eax, 16
00129 48 6b c0 00 imul rax, rax, 0
0012d 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00134 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));
00138 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0013c 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
00141 b8 10 00 00 00 mov eax, 16
00146 48 6b c0 01 imul rax, rax, 1
0014a 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00151 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));
00155 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
00159 0f c6 85 a0 00
00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H
00161 b8 10 00 00 00 mov eax, 16
00166 48 6b c0 02 imul rax, rax, 2
0016a 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00171 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 41 :
; 42 : }
00175 48 8d a5 88 01
00 00 lea rsp, QWORD PTR [rbp+392]
0017c 5f pop rdi
0017d 5d pop rbp
0017e c3 ret 0
transpose4to3 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgSharpC\mat4.c
; COMDAT deinit_mat4
_TEXT SEGMENT
matPtr$ = 224
deinit_mat4 PROC ; COMDAT
; 67 : {
$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:__506864FF_mat4@c
0001a e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 68 : _aligned_free(matPtr);
0001f 48 8b 8d e0 00
00 00 mov rcx, QWORD PTR matPtr$[rbp]
00026 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_free
; 69 : }
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_mat4 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgSharpC\mat4.c
; COMDAT det_mat4
_TEXT SEGMENT
mc0$ = 16
mc1$ = 64
mc2$ = 112
mc3$ = 160
cogeneration$ = 208
retvec$ = 256
$T4 = 688
$T5 = 736
$T6 = 784
$T7 = 832
$T8 = 880
$T9 = 928
$T10 = 976
$T11 = 1024
$T12 = 1072
$T13 = 1120
$T14 = 1168
$T15 = 1216
tv85 = 1236
tv90 = 1240
tv95 = 1244
matPtr$ = 1280
transpose$ = 1288
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 57 push rdi
0000c 48 81 ec 18 05
00 00 sub rsp, 1304 ; 00000518H
00013 48 8d 6c 24 30 lea rbp, QWORD PTR [rsp+48]
00018 48 8d 7c 24 30 lea rdi, QWORD PTR [rsp+48]
0001d b9 da 00 00 00 mov ecx, 218 ; 000000daH
00022 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00027 f3 ab rep stosd
00029 48 8b 8c 24 38
05 00 00 mov rcx, QWORD PTR [rsp+1336]
00031 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__506864FF_mat4@c
00038 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
; 48 : __m128 mc0 = ALIGN(matPtr->colum[0]);
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d 00 05
00 00 mov rcx, QWORD PTR matPtr$[rbp]
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00056 0f 29 45 10 movaps XMMWORD PTR mc0$[rbp], xmm0
; 49 : __m128 mc1 = ALIGN(matPtr->colum[1]);
0005a b8 10 00 00 00 mov eax, 16
0005f 48 6b c0 01 imul rax, rax, 1
00063 48 8b 8d 00 05
00 00 mov rcx, QWORD PTR matPtr$[rbp]
0006a 48 03 c8 add rcx, rax
0006d 48 8b c1 mov rax, rcx
00070 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00073 0f 29 45 40 movaps XMMWORD PTR mc1$[rbp], xmm0
; 50 : __m128 mc2 = ALIGN(matPtr->colum[2]);
00077 b8 10 00 00 00 mov eax, 16
0007c 48 6b c0 02 imul rax, rax, 2
00080 48 8b 8d 00 05
00 00 mov rcx, QWORD PTR matPtr$[rbp]
00087 48 03 c8 add rcx, rax
0008a 48 8b c1 mov rax, rcx
0008d 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00090 0f 29 45 70 movaps XMMWORD PTR mc2$[rbp], xmm0
; 51 : __m128 mc3 = ALIGN(matPtr->colum[3]);
00094 b8 10 00 00 00 mov eax, 16
00099 48 6b c0 03 imul rax, rax, 3
0009d 48 8b 8d 00 05
00 00 mov rcx, QWORD PTR matPtr$[rbp]
000a4 48 03 c8 add rcx, rax
000a7 48 8b c1 mov rax, rcx
000aa 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000ad 0f 29 85 a0 00
00 00 movaps XMMWORD PTR mc3$[rbp], xmm0
; 52 :
; 53 : __m128 cogeneration = _mm_set_ps(
000b4 0f 28 85 a0 00
00 00 movaps xmm0, XMMWORD PTR mc3$[rbp]
000bb 0f 29 85 10 03
00 00 movaps XMMWORD PTR $T6[rbp], xmm0
000c2 0f 28 45 70 movaps xmm0, XMMWORD PTR mc2$[rbp]
000c6 0f 29 85 e0 02
00 00 movaps XMMWORD PTR $T5[rbp], xmm0
000cd 0f 28 45 40 movaps xmm0, XMMWORD PTR mc1$[rbp]
000d1 0f 29 85 b0 02
00 00 movaps XMMWORD PTR $T4[rbp], xmm0
000d8 4c 8d 85 10 03
00 00 lea r8, QWORD PTR $T6[rbp]
000df 48 8d 95 e0 02
00 00 lea rdx, QWORD PTR $T5[rbp]
000e6 48 8d 8d b0 02
00 00 lea rcx, QWORD PTR $T4[rbp]
000ed e8 00 00 00 00 call det_mat3_internal
000f2 f3 0f 11 85 d4
04 00 00 movss DWORD PTR tv85[rbp], xmm0
000fa 0f 28 8d a0 00
00 00 movaps xmm1, XMMWORD PTR mc3$[rbp]
00101 0f 29 8d a0 03
00 00 movaps XMMWORD PTR $T9[rbp], xmm1
00108 0f 28 4d 70 movaps xmm1, XMMWORD PTR mc2$[rbp]
0010c 0f 29 8d 70 03
00 00 movaps XMMWORD PTR $T8[rbp], xmm1
00113 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp]
00117 0f 29 8d 40 03
00 00 movaps XMMWORD PTR $T7[rbp], xmm1
0011e 4c 8d 85 a0 03
00 00 lea r8, QWORD PTR $T9[rbp]
00125 48 8d 95 70 03
00 00 lea rdx, QWORD PTR $T8[rbp]
0012c 48 8d 8d 40 03
00 00 lea rcx, QWORD PTR $T7[rbp]
00133 e8 00 00 00 00 call det_mat3_internal
00138 f3 0f 11 85 d8
04 00 00 movss DWORD PTR tv90[rbp], xmm0
00140 0f 28 8d a0 00
00 00 movaps xmm1, XMMWORD PTR mc3$[rbp]
00147 0f 29 8d 30 04
00 00 movaps XMMWORD PTR $T12[rbp], xmm1
0014e 0f 28 4d 40 movaps xmm1, XMMWORD PTR mc1$[rbp]
00152 0f 29 8d 00 04
00 00 movaps XMMWORD PTR $T11[rbp], xmm1
00159 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp]
0015d 0f 29 8d d0 03
00 00 movaps XMMWORD PTR $T10[rbp], xmm1
00164 4c 8d 85 30 04
00 00 lea r8, QWORD PTR $T12[rbp]
0016b 48 8d 95 00 04
00 00 lea rdx, QWORD PTR $T11[rbp]
00172 48 8d 8d d0 03
00 00 lea rcx, QWORD PTR $T10[rbp]
00179 e8 00 00 00 00 call det_mat3_internal
0017e f3 0f 11 85 dc
04 00 00 movss DWORD PTR tv95[rbp], xmm0
00186 0f 28 4d 70 movaps xmm1, XMMWORD PTR mc2$[rbp]
0018a 0f 29 8d c0 04
00 00 movaps XMMWORD PTR $T15[rbp], xmm1
00191 0f 28 4d 40 movaps xmm1, XMMWORD PTR mc1$[rbp]
00195 0f 29 8d 90 04
00 00 movaps XMMWORD PTR $T14[rbp], xmm1
0019c 0f 28 4d 10 movaps xmm1, XMMWORD PTR mc0$[rbp]
001a0 0f 29 8d 60 04
00 00 movaps XMMWORD PTR $T13[rbp], xmm1
001a7 4c 8d 85 c0 04
00 00 lea r8, QWORD PTR $T15[rbp]
001ae 48 8d 95 90 04
00 00 lea rdx, QWORD PTR $T14[rbp]
001b5 48 8d 8d 60 04
00 00 lea rcx, QWORD PTR $T13[rbp]
001bc e8 00 00 00 00 call det_mat3_internal
001c1 f3 0f 10 8d dc
04 00 00 movss xmm1, DWORD PTR tv95[rbp]
001c9 f3 0f 10 95 d8
04 00 00 movss xmm2, DWORD PTR tv90[rbp]
001d1 f3 0f 10 9d d4
04 00 00 movss xmm3, DWORD PTR tv85[rbp]
001d9 0f 14 c8 unpcklps xmm1, xmm0
001dc 0f 14 da unpcklps xmm3, xmm2
001df 0f 28 c3 movaps xmm0, xmm3
001e2 0f 16 c1 movlhps xmm0, xmm1
001e5 0f 29 85 d0 00
00 00 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);
001ec b8 10 00 00 00 mov eax, 16
001f1 48 6b c0 03 imul rax, rax, 3
001f5 48 8b 8d 08 05
00 00 mov rcx, QWORD PTR transpose$[rbp]
001fc 48 03 c8 add rcx, rax
001ff 48 8b c1 mov rax, rcx
00202 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00205 0f 59 85 d0 00
00 00 mulps xmm0, XMMWORD PTR cogeneration$[rbp]
0020c 0f 29 85 00 01
00 00 movaps XMMWORD PTR retvec$[rbp], xmm0
; 60 : retvec = _mm_hsub_ps(retvec, retvec);
00213 0f 28 85 00 01
00 00 movaps xmm0, XMMWORD PTR retvec$[rbp]
0021a f2 0f 7d 85 00
01 00 00 hsubps xmm0, XMMWORD PTR retvec$[rbp]
00222 0f 29 85 00 01
00 00 movaps XMMWORD PTR retvec$[rbp], xmm0
; 61 : retvec = _mm_hadd_ps(retvec, retvec);
00229 0f 28 85 00 01
00 00 movaps xmm0, XMMWORD PTR retvec$[rbp]
00230 f2 0f 7c 85 00
01 00 00 haddps xmm0, XMMWORD PTR retvec$[rbp]
00238 0f 29 85 00 01
00 00 movaps XMMWORD PTR retvec$[rbp], xmm0
; 62 : return -retvec.m128_f32[0];
0023f b8 04 00 00 00 mov eax, 4
00244 48 6b c0 00 imul rax, rax, 0
00248 f3 0f 10 84 05
00 01 00 00 movss xmm0, DWORD PTR retvec$[rbp+rax]
00251 0f 57 05 00 00
00 00 xorps xmm0, DWORD PTR __xmm@80000000800000008000000080000000
; 63 :
; 64 : }
00258 f3 0f 7f 44 24
20 movdqu XMMWORD PTR [rsp+32], xmm0
0025e 48 8d 4d d0 lea rcx, QWORD PTR [rbp-48]
00262 48 8d 15 00 00
00 00 lea rdx, OFFSET FLAT:det_mat4$rtcFrameData
00269 e8 00 00 00 00 call _RTC_CheckStackVars
0026e f3 0f 6f 44 24
20 movdqu xmm0, XMMWORD PTR [rsp+32]
00274 48 8d a5 e8 04
00 00 lea rsp, QWORD PTR [rbp+1256]
0027b 5f pop rdi
0027c 5d pop rbp
0027d c3 ret 0
det_mat4 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgSharpC\mat4.c
; COMDAT transpose4to4
_TEXT SEGMENT
t0$ = 16
t1$ = 64
t2$ = 112
t3$ = 160
source$ = 416
target$ = 424
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 57 push rdi
0000c 48 81 ec a8 01
00 00 sub rsp, 424 ; 000001a8H
00013 48 8d 6c 24 20 lea rbp, QWORD PTR [rsp+32]
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__506864FF_mat4@c
0001f 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));
00024 b8 10 00 00 00 mov eax, 16
00029 48 6b c0 01 imul rax, rax, 1
0002d 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00034 48 03 c8 add rcx, rax
00037 48 8b c1 mov rax, rcx
0003a 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00056 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0005a 0f 28 c1 movaps xmm0, xmm1
0005d 0f 29 45 10 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));
00061 b8 10 00 00 00 mov eax, 16
00066 48 6b c0 01 imul rax, rax, 1
0006a 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00071 48 03 c8 add rcx, rax
00074 48 8b c1 mov rax, rcx
00077 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0007a b8 10 00 00 00 mov eax, 16
0007f 48 6b c0 00 imul rax, rax, 0
00083 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
0008a 48 03 c8 add rcx, rax
0008d 48 8b c1 mov rax, rcx
00090 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00093 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
00097 0f 28 c1 movaps xmm0, xmm1
0009a 0f 29 45 40 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));
0009e b8 10 00 00 00 mov eax, 16
000a3 48 6b c0 03 imul rax, rax, 3
000a7 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000ae 48 03 c8 add rcx, rax
000b1 48 8b c1 mov rax, rcx
000b4 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000b7 b8 10 00 00 00 mov eax, 16
000bc 48 6b c0 02 imul rax, rax, 2
000c0 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000c7 48 03 c8 add rcx, rax
000ca 48 8b c1 mov rax, rcx
000cd 0f 10 08 movups xmm1, XMMWORD PTR [rax]
000d0 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
000d4 0f 28 c1 movaps xmm0, xmm1
000d7 0f 29 45 70 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));
000db b8 10 00 00 00 mov eax, 16
000e0 48 6b c0 03 imul rax, rax, 3
000e4 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
000eb 48 03 c8 add rcx, rax
000ee 48 8b c1 mov rax, rcx
000f1 0f 10 00 movups xmm0, XMMWORD PTR [rax]
000f4 b8 10 00 00 00 mov eax, 16
000f9 48 6b c0 02 imul rax, rax, 2
000fd 48 8b 8d a0 01
00 00 mov rcx, QWORD PTR source$[rbp]
00104 48 03 c8 add rcx, rax
00107 48 8b c1 mov rax, rcx
0010a 0f 10 08 movups xmm1, XMMWORD PTR [rax]
0010d 0f c6 c8 ee shufps xmm1, xmm0, 238 ; 000000eeH
00111 0f 28 c1 movaps xmm0, xmm1
00114 0f 29 85 a0 00
00 00 movaps XMMWORD PTR t3$[rbp], xmm0
; 23 :
; 24 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
0011b 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0011f 0f c6 45 70 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
00124 b8 10 00 00 00 mov eax, 16
00129 48 6b c0 00 imul rax, rax, 0
0012d 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00134 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));
00138 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
0013c 0f c6 45 70 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
00141 b8 10 00 00 00 mov eax, 16
00146 48 6b c0 01 imul rax, rax, 1
0014a 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00151 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));
00155 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
00159 0f c6 85 a0 00
00 00 88 shufps xmm0, XMMWORD PTR t3$[rbp], 136 ; 00000088H
00161 b8 10 00 00 00 mov eax, 16
00166 48 6b c0 02 imul rax, rax, 2
0016a 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00171 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));
00175 0f 28 45 40 movaps xmm0, XMMWORD PTR t1$[rbp]
00179 0f c6 85 a0 00
00 00 dd shufps xmm0, XMMWORD PTR t3$[rbp], 221 ; 000000ddH
00181 b8 10 00 00 00 mov eax, 16
00186 48 6b c0 03 imul rax, rax, 3
0018a 48 8b 8d a8 01
00 00 mov rcx, QWORD PTR target$[rbp]
00191 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 28 :
; 29 : }
00195 48 8d a5 88 01
00 00 lea rsp, QWORD PTR [rbp+392]
0019c 5f pop rdi
0019d 5d pop rbp
0019e c3 ret 0
transpose4to4 ENDP
_TEXT ENDS
; Function compile flags: /Odtp /RTCsu /ZI
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgSharpC\mat4.c
; COMDAT transpose4to2
_TEXT SEGMENT
t0$ = 16
t2$ = 64
source$ = 320
target$ = 328
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 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:__506864FF_mat4@c
0001f 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));
00024 b8 10 00 00 00 mov eax, 16
00029 48 6b c0 01 imul rax, rax, 1
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 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0003d b8 10 00 00 00 mov eax, 16
00042 48 6b c0 00 imul rax, rax, 0
00046 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
0004d 48 03 c8 add rcx, rax
00050 48 8b c1 mov rax, rcx
00053 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00056 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0005a 0f 28 c1 movaps xmm0, xmm1
0005d 0f 29 45 10 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));
00061 b8 10 00 00 00 mov eax, 16
00066 48 6b c0 03 imul rax, rax, 3
0006a 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
00071 48 03 c8 add rcx, rax
00074 48 8b c1 mov rax, rcx
00077 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0007a b8 10 00 00 00 mov eax, 16
0007f 48 6b c0 02 imul rax, rax, 2
00083 48 8b 8d 40 01
00 00 mov rcx, QWORD PTR source$[rbp]
0008a 48 03 c8 add rcx, rax
0008d 48 8b c1 mov rax, rcx
00090 0f 10 08 movups xmm1, XMMWORD PTR [rax]
00093 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
00097 0f 28 c1 movaps xmm0, xmm1
0009a 0f 29 45 40 movaps XMMWORD PTR t2$[rbp], xmm0
; 12 :
; 13 : target->colum[0] = _mm_shuffle_ps(t0, t2, _MM_SHUFFLE(2, 0, 2, 0));
0009e 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000a2 0f c6 45 40 88 shufps xmm0, XMMWORD PTR t2$[rbp], 136 ; 00000088H
000a7 b8 10 00 00 00 mov eax, 16
000ac 48 6b c0 00 imul rax, rax, 0
000b0 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
000b7 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));
000bb 0f 28 45 10 movaps xmm0, XMMWORD PTR t0$[rbp]
000bf 0f c6 45 40 dd shufps xmm0, XMMWORD PTR t2$[rbp], 221 ; 000000ddH
000c4 b8 10 00 00 00 mov eax, 16
000c9 48 6b c0 01 imul rax, rax, 1
000cd 48 8b 8d 48 01
00 00 mov rcx, QWORD PTR target$[rbp]
000d4 0f 11 04 01 movups XMMWORD PTR [rcx+rax], xmm0
; 15 : }
000d8 48 8d a5 28 01
00 00 lea rsp, QWORD PTR [rbp+296]
000df 5f pop rdi
000e0 5d pop rbp
000e1 c3 ret 0
transpose4to2 ENDP
_TEXT ENDS
END