daily update on 20230829 by nitload youmu

This commit is contained in:
Nitload
2023-08-29 22:29:47 +08:00
parent 8aac9fee87
commit 1fcbfb972b
125 changed files with 6505 additions and 2077 deletions
@@ -1,27 +1,32 @@
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\vc143.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\vc143.idb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\dllmain.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\glad.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\linear.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\linear.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\dllmain.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\dllmain.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\glad.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\glad.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgshqrpgraphic.ilk
d:\nitloadindustry\研究项目\1-flagship\huftdt cooperation\2023固火方案4\cfs\cadc_flight_simulator\x64\debug\stgshqrpgraphic.dll
d:\nitloadindustry\研究项目\1-flagship\huftdt cooperation\2023固火方案4\cfs\cadc_flight_simulator\x64\debug\stgshqrpgraphic.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.dll
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\mat4.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\mat4.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\mat3.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\mat3.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\mat2.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\mat2.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.ilk
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.pdb
d:\nitloadindustry\研究项目\1-flagship\huftdt cooperation\2023固火方案4\cfs\cadc_flight_simulator\x64\debug\stgshqrpgraphic.lib
d:\nitloadindustry\研究项目\1-flagship\huftdt cooperation\2023固火方案4\cfs\cadc_flight_simulator\x64\debug\stgshqrpgraphic.exp
d:\nitloadindustry\研究项目\1-flagship\huftdt cooperation\2023固火方案4\cfs\cadc_flight_simulator\stgsharpgraphic.dll
d:\nitloadindustry\研究项目\1-flagship\huftdt cooperation\2023固火方案4\cfs\cadc_flight_simulator\stgsharpgraphic.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.lib
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.exp
d:\nitloadindustry\研究项目\1-flagship\huftdt cooperation\2023固火方案4\cfs\cadc_flight_simulator\stgsharpgraphic.lib
d:\nitloadindustry\研究项目\1-flagship\huftdt cooperation\2023固火方案4\cfs\cadc_flight_simulator\stgsharpgraphic.exp
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\cl.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\cl.items.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\cl.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\cl.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\link.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\link.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\link.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\link.write.2u.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\debug\stgsharpgraphic.tlog\stgsharpgraphic.write.1u.tlog
@@ -6,7 +6,6 @@ INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM sseFunc:BYTE:018H
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
@@ -111,12 +110,19 @@ __BC6D10F5_ime_cmodes@h DB 01H
__1D49718C_imm@h DB 01H
__95734585_windows@h DB 01H
__F7492337_framework@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__203A43BB_SSGinternal@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__52DA9D07_StgSharpGraphic@c DB 01H
msvcjmc ENDS
PUBLIC loadGLApi
@@ -2,7 +2,7 @@
<Project>
<ProjectOutputs>
<ProjectOutput>
<FullPath>D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgSharpGraphic.dll</FullPath>
<FullPath>D:\NitloadIndustry\研究项目\1-Flagship\HUFTDT Cooperation\2023固火方案4\CFS\CADC_flight_simulator\StgSharpGraphic.dll</FullPath>
</ProjectOutput>
</ProjectOutputs>
<ContentFiles />
@@ -1,4 +1,7 @@
D:\Programmer\GLenv\glad.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Debug\glad.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\dllmain.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Debug\dllmain.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\linear.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Debug\linear.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Debug\mat2.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat3.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Debug\mat3.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat4.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Debug\mat4.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\StgSharpGraphic.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Debug\StgSharpGraphic.obj
@@ -1,2 +1,2 @@
PlatformToolSet=v143:VCToolArchitecture=Native64Bit:VCToolsVersion=14.36.32532:TargetPlatformVersion=10.0.22000.0:
Debug|x64|D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\|
Debug|x64|D:\NitloadIndustry\研究项目\1-Flagship\HUFTDT Cooperation\2023固火方案4\CFS\CADC_flight_simulator\|
File diff suppressed because it is too large Load Diff
+66 -24
View File
@@ -5,8 +5,11 @@ include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
PUBLIC defaultVecPtr
_BSS SEGMENT
defaultVecPtr DQ 01H DUP (?)
_BSS ENDS
_DATA SEGMENT
COMM sseFunc:BYTE:018H
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
@@ -111,27 +114,35 @@ __018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__203A43BB_SSGinternal@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__BA7172FA_dllmain@c DB 01H
msvcjmc ENDS
PUBLIC DllMain
PUBLIC __JustMyCode_Default
EXTRN __imp__aligned_malloc:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
; COMDAT pdata
pdata SEGMENT
$pdata$DllMain DD imagerel $LN10
DD imagerel $LN10+26
$pdata$DllMain DD imagerel $LN24
DD imagerel $LN24+68
DD imagerel $unwind$DllMain
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$DllMain DD 010401H
DD 04204H
$unwind$DllMain DD 020601H
DD 030023206H
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
@@ -151,29 +162,60 @@ DllMain PROC ; COMDAT
; 17 : {
$LN10:
00000 48 83 ec 28 sub rsp, 40 ; 00000028H
00004 48 8d 0d 00 00
$LN24:
00000 40 53 push rbx
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
00006 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__BA7172FA_dllmain@c
0000b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00010 b8 01 00 00 00 mov eax, 1
0000d 8b da mov ebx, edx
0000f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00014 83 fb 01 cmp ebx, 1
00017 75 20 jne SHORT $LN20@DllMain
00019 0f 1f 80 00 00
00 00 npad 7
$LL6@DllMain:
; 18 : switch (ul_reason_for_call)
; 19 : {
; 20 : case DLL_PROCESS_ATTACH:
; 21 :
; 22 : case DLL_THREAD_ATTACH:
; 23 :
; 24 :
; 25 : case DLL_THREAD_DETACH:
; 26 : case DLL_PROCESS_DETACH:
; 27 : break;
; 28 : }
; 29 : return TRUE;
; 30 : }
; 21 : do
; 22 : {
; 23 : defaultVecPtr = _aligned_malloc(sizeof(__m128),16);
00015 48 83 c4 28 add rsp, 40 ; 00000028H
00019 c3 ret 0
00020 ba 10 00 00 00 mov edx, 16
00025 8b ca mov ecx, edx
00027 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002d 48 89 05 00 00
00 00 mov QWORD PTR defaultVecPtr, rax
; 24 : } while (defaultVecPtr == NULL);
00034 48 85 c0 test rax, rax
00037 74 e7 je SHORT $LL6@DllMain
$LN20@DllMain:
; 25 :
; 26 :
; 27 : case DLL_THREAD_ATTACH:
; 28 :
; 29 :
; 30 : case DLL_THREAD_DETACH:
; 31 :
; 32 :
; 33 : case DLL_PROCESS_DETACH:
; 34 :
; 35 :
; 36 :
; 37 : break;
; 38 : }
; 39 : return TRUE;
; 40 : }
00039 b8 01 00 00 00 mov eax, 1
0003e 48 83 c4 20 add rsp, 32 ; 00000020H
00042 5b pop rbx
00043 c3 ret 0
DllMain ENDP
_TEXT ENDS
END
Binary file not shown.
Binary file not shown.
+326 -133
View File
@@ -6,7 +6,6 @@ INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM sseFunc:BYTE:018H
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
@@ -20,20 +19,27 @@ __79FC18F0_glad@h DB 01H
__04C75F1C_corecrt@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__203A43BB_SSGinternal@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__C44F8F6B_corecrt_stdio_config@h DB 01H
__A7F89B2B_corecrt_wstdio@h DB 01H
__B5C48800_stdio@h DB 01H
__62BFBAF5_stdalign@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__B5461FF6_linear@c DB 01H
msvcjmc ENDS
PUBLIC mulps_sum_internal
PUBLIC mulps_total_internal
PUBLIC load
PUBLIC load_cpy
PUBLIC addps
@@ -44,14 +50,26 @@ PUBLIC mulps_sum
PUBLIC divps_const
PUBLIC divps
PUBLIC sqrtss_const
PUBLIC set_m128ptr_default
PUBLIC deinitM128
PUBLIC load_matmap
PUBLIC __JustMyCode_Default
EXTRN __imp_free:PROC
EXTRN __imp__aligned_free:PROC
EXTRN __imp__aligned_malloc:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN __GSHandlerCheck:PROC
EXTRN __security_check_cookie:PROC
EXTRN defaultVecPtr:QWORD
EXTRN __security_cookie:QWORD
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$mulps_sum_internal DD imagerel $LN4
DD imagerel $LN4+53
DD imagerel $unwind$mulps_sum_internal
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$load DD imagerel $LN7
DD imagerel $LN7+140
DD imagerel $unwind$load
@@ -112,10 +130,32 @@ $pdata$sqrtss_const DD imagerel $LN4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$set_m128ptr_default DD imagerel $LN4
DD imagerel $LN4+28
DD imagerel $unwind$set_m128ptr_default
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$deinitM128 DD imagerel $LN4
DD imagerel $LN4+36
DD imagerel $unwind$deinitM128
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$load_matmap DD imagerel $LN7
DD imagerel $LN7+146
DD imagerel $unwind$load_matmap
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$load_matmap DD 082419H
DD 0e7415H
DD 0d6415H
DD 0c3415H
DD 0e0119215H
DD imagerel __GSHandlerCheck
DD 040H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$deinitM128 DD 020601H
@@ -123,6 +163,11 @@ $unwind$deinitM128 DD 020601H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$set_m128ptr_default DD 010401H
DD 04204H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$sqrtss_const DD 030901H
DD 026809H
DD 06204H
@@ -183,6 +228,12 @@ $unwind$load DD 092701H
DD 066809H
DD 0e204H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$mulps_sum_internal DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; Function compile flags: /Odt
; COMDAT __JustMyCode_Default
_TEXT SEGMENT
@@ -192,12 +243,85 @@ __JustMyCode_Default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT load_matmap
_TEXT SEGMENT
ptr$ = 32
__$ArrayPad$ = 64
c0$ = 96
c1$ = 104
c2$ = 112
c3$ = 120
load_matmap PROC ; COMDAT
; 182 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi
0000a 48 89 7c 24 18 mov QWORD PTR [rsp+24], rdi
0000f 41 56 push r14
00011 48 83 ec 50 sub rsp, 80 ; 00000050H
00015 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001c 48 33 c4 xor rax, rsp
0001f 48 89 44 24 40 mov QWORD PTR __$ArrayPad$[rsp], rax
00024 48 8b d9 mov rbx, rcx
00027 4d 8b f1 mov r14, r9
0002a 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00031 49 8b f0 mov rsi, r8
00034 48 8b fa mov rdi, rdx
00037 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0003c ba 20 00 00 00 mov edx, 32 ; 00000020H
00041 8b ca mov ecx, edx
00043 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
00049 48 89 5c 24 20 mov QWORD PTR ptr$[rsp], rbx
0004e 48 89 7c 24 28 mov QWORD PTR ptr$[rsp+8], rdi
00053 48 89 74 24 30 mov QWORD PTR ptr$[rsp+16], rsi
00058 4c 89 74 24 38 mov QWORD PTR ptr$[rsp+24], r14
0005d 48 85 c0 test rax, rax
00060 74 0d je SHORT $LN4@load_matma
; 183 : __m256i* retPtr = _aligned_malloc(sizeof(__m256i), sizeof(__m256i));
; 184 :
; 185 : uint64_t ptr[4] = {c0,c1,c2,c3 };
; 186 :
; 187 : if (NULL != retPtr)
; 188 : {
; 189 : *retPtr = _mm256_loadu_epi64(&ptr);
00062 c5 fe 6f 44 24
20 vmovdqu ymm0, YMMWORD PTR ptr$[rsp]
00068 c5 fe 7f 00 vmovdqu YMMWORD PTR [rax], ymm0
0006c c5 f8 77 vzeroupper
$LN4@load_matma:
; 190 : }
; 191 :
; 192 : return retPtr;
; 193 :
; 194 : }
0006f 48 8b 4c 24 40 mov rcx, QWORD PTR __$ArrayPad$[rsp]
00074 48 33 cc xor rcx, rsp
00077 e8 00 00 00 00 call __security_check_cookie
0007c 48 8b 5c 24 60 mov rbx, QWORD PTR [rsp+96]
00081 48 8b 74 24 68 mov rsi, QWORD PTR [rsp+104]
00086 48 8b 7c 24 70 mov rdi, QWORD PTR [rsp+112]
0008b 48 83 c4 50 add rsp, 80 ; 00000050H
0008f 41 5e pop r14
00091 c3 ret 0
load_matmap ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT deinitM128
_TEXT SEGMENT
ptr$ = 48
deinitM128 PROC ; COMDAT
; 162 : {
; 212 : {
$LN4:
00000 40 53 push rbx
@@ -208,23 +332,46 @@ $LN4:
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00015 48 8b cb mov rcx, rbx
; 163 : free(ptr);
; 164 : }
; 213 : _aligned_free(ptr);
; 214 : }
00018 48 83 c4 20 add rsp, 32 ; 00000020H
0001c 5b pop rbx
0001d 48 ff 25 00 00
00 00 rex_jmp QWORD PTR __imp_free
00 00 rex_jmp QWORD PTR __imp__aligned_free
deinitM128 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT set_m128ptr_default
_TEXT SEGMENT
set_m128ptr_default PROC ; COMDAT
; 199 : {
$LN4:
00000 48 83 ec 28 sub rsp, 40 ; 00000028H
00004 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
0000b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00010 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
; 200 : return defaultVecPtr;
; 201 : }
00017 48 83 c4 28 add rsp, 40 ; 00000028H
0001b c3 ret 0
set_m128ptr_default ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT sqrtss_const
_TEXT SEGMENT
a$ = 64
sqrtss_const PROC ; COMDAT
; 147 : {
; 169 : {
$LN4:
00000 48 83 ec 38 sub rsp, 56 ; 00000038H
@@ -238,11 +385,10 @@ $LN4:
00021 0f 28 74 24 20 movaps xmm6, XMMWORD PTR [rsp+32]
00026 f3 0f 51 c0 sqrtss xmm0, xmm0
; 148 : __m128 ret = _mm_sqrt_ss(*(__m128*) & a);
; 149 :
; 150 : return ret.m128_f32[0];
; 151 :
; 152 : }
; 170 : __m128 ret = _mm_sqrt_ss(*(__m128*) & a);
; 171 :
; 172 : return ret.m128_f32[0];
; 173 : }
0002a 48 83 c4 38 add rsp, 56 ; 00000038H
0002e c3 ret 0
@@ -256,7 +402,7 @@ ptr1$ = 48
ptr2$ = 56
divps PROC ; COMDAT
; 132 : {
; 154 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
@@ -274,23 +420,23 @@ $LN7:
00029 48 85 c0 test rax, rax
0002c 74 14 je SHORT $LN2@divps
; 133 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 134 :
; 135 : if (NULL != ret)
; 136 : {
; 137 : *ret = _mm_div_ps(*ptr1, *ptr2);
; 155 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 156 :
; 157 : if (NULL != ret)
; 158 : {
; 159 : *ret = _mm_div_ps(*ptr1, *ptr2);
0002e 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00031 0f 5e 03 divps xmm0, XMMWORD PTR [rbx]
00034 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 138 : return ret;
; 139 : }
; 140 : else
; 141 : {
; 142 : return -1;
; 143 : }
; 144 : }
; 160 : return ret;
; 161 : }
; 162 : else
; 163 : {
; 164 : return -1;
; 165 : }
; 166 : }
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
@@ -314,7 +460,7 @@ ptr$ = 80
value$ = 88
divps_const PROC ; COMDAT
; 113 : {
; 135 : {
$LN7:
00000 40 53 push rbx
@@ -334,28 +480,28 @@ $LN7:
00033 48 85 c0 test rax, rax
00036 74 17 je SHORT $LN2@divps_cons
; 114 :
; 115 : float c[4] = { value, value, value, value };
; 116 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 117 :
; 118 : __m128 valueVec = _mm_loadu_ps(&c);
; 119 :
; 120 : if (NULL != ret)
; 121 : {
; 122 : *ret = _mm_div_ps(*ptr, valueVec);
; 136 :
; 137 : float c[4] = { value, value, value, value };
; 138 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 139 :
; 140 : __m128 valueVec = _mm_loadu_ps(&c);
; 141 :
; 142 : if (NULL != ret)
; 143 : {
; 144 : *ret = _mm_div_ps(*ptr, valueVec);
00038 0f 10 0b movups xmm1, XMMWORD PTR [rbx]
0003b 0f 10 c6 movups xmm0, xmm6
0003e 0f 5e ce divps xmm1, xmm6
00041 0f 11 08 movups XMMWORD PTR [rax], xmm1
; 123 : return ret;
; 124 : }
; 125 : else
; 126 : {
; 127 : return -1;
; 128 : }
; 129 : }
; 145 : return ret;
; 146 : }
; 147 : else
; 148 : {
; 149 : return -1;
; 150 : }
; 151 : }
00044 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
00049 48 83 c4 40 add rsp, 64 ; 00000040H
@@ -378,7 +524,7 @@ ptr1$ = 48
ptr2$ = 56
mulps_sum PROC ; COMDAT
; 105 : {
; 114 : {
$LN4:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
@@ -395,11 +541,11 @@ $LN4:
00027 f2 0f 7c c0 haddps xmm0, xmm0
0002b f2 0f 7c c0 haddps xmm0, xmm0
; 106 : __m128 ret = _mm_mul_ps(*ptr1,*ptr2);
; 107 : ret = _mm_hadd_ps(ret,ret);
; 108 : ret = _mm_hadd_ps(ret,ret);
; 109 : return *(float*)&ret;
; 110 : }
; 115 : __m128 ret = _mm_mul_ps(*ptr1,*ptr2);
; 116 : ret = _mm_hadd_ps(ret,ret);
; 117 : ret = _mm_hadd_ps(ret,ret);
; 118 : return *(float*)&ret;
; 119 : }
0002f 48 83 c4 20 add rsp, 32 ; 00000020H
00033 5f pop rdi
@@ -414,7 +560,7 @@ ptr1$ = 48
ptr2$ = 56
mulps PROC ; COMDAT
; 90 : {
; 99 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
@@ -432,23 +578,23 @@ $LN7:
00029 48 85 c0 test rax, rax
0002c 74 14 je SHORT $LN2@mulps
; 91 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 92 :
; 93 : if (NULL != ret)
; 94 : {
; 95 : *ret = _mm_mul_ps(*ptr1, *ptr2);
; 100 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
; 101 :
; 102 : if (NULL != ret)
; 103 : {
; 104 : *ret = _mm_mul_ps(*ptr1, *ptr2);
0002e 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00031 0f 59 03 mulps xmm0, XMMWORD PTR [rbx]
00034 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 96 : return ret;
; 97 : }
; 98 : else
; 99 : {
; 100 : return -1;
; 101 : }
; 102 : }
; 105 : return ret;
; 106 : }
; 107 : else
; 108 : {
; 109 : return -1;
; 110 : }
; 111 : }
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
@@ -472,7 +618,7 @@ ptr$ = 80
value$ = 88
mulps_const PROC ; COMDAT
; 72 : {
; 81 : {
$LN7:
00000 40 53 push rbx
@@ -492,26 +638,26 @@ $LN7:
00033 48 85 c0 test rax, rax
00036 74 14 je SHORT $LN2@mulps_cons
; 73 : float c[4] = { value, value, value, value };
; 74 : __m128* ret = _aligned_malloc(sizeof(__m128),16);
; 75 :
; 76 : __m128 valueVec = _mm_loadu_ps(&c);
; 77 :
; 78 : if (NULL != ret)
; 79 : {
; 80 : *ret = _mm_mul_ps(*ptr,valueVec);
; 82 : float c[4] = { value, value, value, value };
; 83 : __m128* ret = _aligned_malloc(sizeof(__m128),16);
; 84 :
; 85 : __m128 valueVec = _mm_loadu_ps(&c);
; 86 :
; 87 : if (NULL != ret)
; 88 : {
; 89 : *ret = _mm_mul_ps(*ptr,valueVec);
00038 0f 10 c6 movups xmm0, xmm6
0003b 0f 59 03 mulps xmm0, XMMWORD PTR [rbx]
0003e 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 81 : return ret;
; 82 : }
; 83 : else
; 84 : {
; 85 : return -1;
; 86 : }
; 87 : }
; 90 : return ret;
; 91 : }
; 92 : else
; 93 : {
; 94 : return -1;
; 95 : }
; 96 : }
00041 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
00046 48 83 c4 40 add rsp, 64 ; 00000040H
@@ -534,7 +680,7 @@ ptr1$ = 48
ptr2$ = 56
subps PROC ; COMDAT
; 57 : {
; 66 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
@@ -552,23 +698,23 @@ $LN7:
0002a 48 85 c0 test rax, rax
0002d 74 14 je SHORT $LN2@subps
; 58 : __m128* ret = _aligned_malloc(sizeof(__m128*), 16);
; 59 :
; 60 : if (NULL != ret)
; 61 : {
; 62 : *ret = _mm_sub_ps(*ptr1, *ptr2);
; 67 : __m128* ret = _aligned_malloc(sizeof(__m128*), 16);
; 68 :
; 69 : if (NULL != ret)
; 70 : {
; 71 : *ret = _mm_sub_ps(*ptr1, *ptr2);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 5c 03 subps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 63 : return ret;
; 64 : }
; 65 : else
; 66 : {
; 67 : return -1;
; 68 : }
; 69 : }
; 72 : return ret;
; 73 : }
; 74 : else
; 75 : {
; 76 : return -1;
; 77 : }
; 78 : }
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
@@ -591,7 +737,7 @@ ptr1$ = 48
ptr2$ = 56
addps PROC ; COMDAT
; 40 : {
; 49 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
@@ -609,25 +755,25 @@ $LN7:
0002a 48 85 c0 test rax, rax
0002d 74 14 je SHORT $LN2@addps
; 41 :
; 42 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
; 43 :
; 44 : if (NULL != ret)
; 45 : {
; 46 : *ret = _mm_add_ps(*ptr1, *ptr2);
; 50 :
; 51 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
; 52 :
; 53 : if (NULL != ret)
; 54 : {
; 55 : *ret = _mm_add_ps(*ptr1, *ptr2);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 58 03 addps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 47 : return ret;
; 48 : }
; 49 : else
; 50 : {
; 51 : return -1;
; 52 : }
; 53 :
; 54 : }
; 56 : return ret;
; 57 : }
; 58 : else
; 59 : {
; 60 : return (__m128*) - 1;
; 61 : }
; 62 :
; 63 : }
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
@@ -649,7 +795,7 @@ _TEXT SEGMENT
ptr$ = 48
load_cpy PROC ; COMDAT
; 28 : {
; 37 : {
$LN7:
00000 40 53 push rbx
@@ -665,20 +811,20 @@ $LN7:
00023 48 85 c0 test rax, rax
00026 74 06 je SHORT $LN4@load_cpy
; 29 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
; 30 :
; 31 : if (NULL != ret)
; 32 : {
; 33 : *ret = *ptr;
; 38 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
; 39 :
; 40 : if (NULL != ret)
; 41 : {
; 42 : *ret = *ptr;
00028 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
0002b 0f 11 00 movups XMMWORD PTR [rax], xmm0
$LN4@load_cpy:
; 34 : }
; 35 :
; 36 : return ret;
; 37 : }
; 43 : }
; 44 :
; 45 : return ret;
; 46 : }
0002e 48 83 c4 20 add rsp, 32 ; 00000020H
00032 5b pop rbx
@@ -696,7 +842,7 @@ z$ = 144
w$ = 152
load PROC ; COMDAT
; 12 : {
; 21 : {
$LN7:
00000 48 83 ec 78 sub rsp, 120 ; 00000078H
@@ -728,32 +874,32 @@ $LN7:
0005b 48 85 c0 test rax, rax
0005e 74 0a je SHORT $LN2@load
; 13 : float array[4] = {x,y,z,w};
; 14 : __m128* ptr = _aligned_malloc(sizeof(__m128),16);
; 15 :
; 16 : if (NULL != ptr)
; 17 : {
; 18 : *ptr = _mm_loadu_ps(&array);
; 22 : float array[4] = {x,y,z,w};
; 23 : __m128* ptr = _aligned_malloc(sizeof(__m128),16);
; 24 :
; 25 : if (NULL != ptr)
; 26 : {
; 27 : *ptr = _mm_loadu_ps(&array);
00060 0f 10 44 24 20 movups xmm0, XMMWORD PTR array$[rsp]
00065 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 19 : return ptr;
; 28 : return ptr;
00068 eb 07 jmp SHORT $LN3@load
$LN2@load:
; 20 : }
; 21 : else
; 22 : {
; 23 : return -1;
; 29 : }
; 30 : else
; 31 : {
; 32 : return -1;
0006a 48 c7 c0 ff ff
ff ff mov rax, -1
$LN3@load:
; 24 : }
; 25 : }
; 33 : }
; 34 : }
00071 0f 28 74 24 60 movaps xmm6, XMMWORD PTR [rsp+96]
00076 0f 28 7c 24 50 movaps xmm7, XMMWORD PTR [rsp+80]
@@ -765,4 +911,51 @@ $LN3@load:
0008b c3 ret 0
load ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT mulps_total_internal
_TEXT SEGMENT
vec$ = 8
mulps_total_internal PROC ; COMDAT
00000 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00007 e9 00 00 00 00 jmp __CheckForDebuggerJustMyCode
mulps_total_internal ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT mulps_sum_internal
_TEXT SEGMENT
left$ = 48
right$ = 56
mulps_sum_internal PROC ; COMDAT
; 122 : {
$LN4:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b d9 mov rbx, rcx
0000d 48 8b fa mov rdi, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
0001f 0f 59 07 mulps xmm0, XMMWORD PTR [rdi]
00022 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00027 f2 0f 7c c0 haddps xmm0, xmm0
0002b f2 0f 7c c0 haddps xmm0, xmm0
; 123 : __m128 ret = _mm_mul_ps(left, right);
; 124 : ret = _mm_hadd_ps(ret, ret);
; 125 : ret = _mm_hadd_ps(ret, ret);
; 126 : return *(float*)&ret;
; 127 : }
0002f 48 83 c4 20 add rsp, 32 ; 00000020H
00033 5f pop rdi
00034 c3 ret 0
mulps_sum_internal ENDP
_TEXT ENDS
END
Binary file not shown.
@@ -0,0 +1,293 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
__0998321F_concurrencysal@h DB 01H
__E9680BEC_sal@h DB 01H
__75F3BDA1_vadefs@h DB 01H
__FF647DA5_vcruntime@h DB 01H
__0DFED3C7_stdint@h DB 01H
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__04C75F1C_corecrt@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__694534F6_mat2@c DB 01H
msvcjmc ENDS
PUBLIC add_mat2
PUBLIC sub_mat2
PUBLIC transmpose2to4
PUBLIC deinit_mat2
PUBLIC __JustMyCode_Default
EXTRN __imp__aligned_free:PROC
EXTRN __imp__aligned_malloc:PROC
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN defaultVecPtr:QWORD
; COMDAT pdata
pdata SEGMENT
$pdata$add_mat2 DD imagerel $LN7
DD imagerel $LN7+79
DD imagerel $unwind$add_mat2
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$sub_mat2 DD imagerel $LN7
DD imagerel $LN7+79
DD imagerel $unwind$sub_mat2
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$transmpose2to4 DD imagerel $LN4
DD imagerel $LN4+122
DD imagerel $unwind$transmpose2to4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$deinit_mat2 DD imagerel $LN4
DD imagerel $LN4+36
DD imagerel $unwind$deinit_mat2
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$deinit_mat2 DD 020601H
DD 030023206H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transmpose2to4 DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$sub_mat2 DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$add_mat2 DD 040a01H
DD 06340aH
DD 07006320aH
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: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat2.c
; COMDAT deinit_mat2
_TEXT SEGMENT
mat$ = 48
deinit_mat2 PROC ; COMDAT
; 43 : {
$LN4:
00000 40 53 push rbx
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
00006 48 8b d9 mov rbx, rcx
00009 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__694534F6_mat2@c
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00015 48 8b cb mov rcx, rbx
; 44 : _aligned_free(mat);
; 45 : }
00018 48 83 c4 20 add rsp, 32 ; 00000020H
0001c 5b pop rbx
0001d 48 ff 25 00 00
00 00 rex_jmp QWORD PTR __imp__aligned_free
deinit_mat2 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat2.c
; COMDAT transmpose2to4
_TEXT SEGMENT
source$ = 48
target$ = 56
transmpose2to4 PROC ; COMDAT
; 32 : {
$LN4:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b d9 mov rbx, rcx
0000d 48 8b fa mov rdi, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__694534F6_mat2@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c 0f 10 43 10 movups xmm0, XMMWORD PTR [rbx+16]
00020 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
00027 0f 10 13 movups xmm2, XMMWORD PTR [rbx]
0002a 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
0002f 0f 28 ca movaps xmm1, xmm2
00032 0f c6 d0 ee shufps xmm2, xmm0, 238 ; 000000eeH
00036 0f c6 c8 44 shufps xmm1, xmm0, 68 ; 00000044H
0003a 0f 28 c1 movaps xmm0, xmm1
0003d 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
00041 0f 11 07 movups XMMWORD PTR [rdi], xmm0
00044 0f 28 c2 movaps xmm0, xmm2
00047 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0004e 0f c6 08 dd shufps xmm1, XMMWORD PTR [rax], 221 ; 000000ddH
00052 0f 11 4f 10 movups XMMWORD PTR [rdi+16], xmm1
00056 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0005d 0f c6 00 88 shufps xmm0, XMMWORD PTR [rax], 136 ; 00000088H
00061 0f 11 47 20 movups XMMWORD PTR [rdi+32], xmm0
00065 48 8b 05 00 00
00 00 mov rax, QWORD PTR defaultVecPtr
0006c 0f c6 10 dd shufps xmm2, XMMWORD PTR [rax], 221 ; 000000ddH
00070 0f 11 57 30 movups XMMWORD PTR [rdi+48], xmm2
; 33 : __m128 t0 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(1, 0, 1, 0));
; 34 : __m128 t1 = _mm_shuffle_ps(ALIGN(source->colum[0]), ALIGN(source->colum[1]), _MM_SHUFFLE(3, 2, 3, 2));
; 35 :
; 36 : target->colum[0] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
; 37 : target->colum[1] = _mm_shuffle_ps(t0, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
; 38 : target->colum[2] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(2, 0, 2, 0));
; 39 : target->colum[3] = _mm_shuffle_ps(t1, *defaultVecPtr, _MM_SHUFFLE(3, 1, 3, 1));
; 40 : }
00074 48 83 c4 20 add rsp, 32 ; 00000020H
00078 5f pop rdi
00079 c3 ret 0
transmpose2to4 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat2.c
; COMDAT sub_mat2
_TEXT SEGMENT
mat1$ = 48
mat2$ = 56
sub_mat2 PROC ; COMDAT
; 18 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__694534F6_mat2@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8d 4a 10 lea ecx, QWORD PTR [rdx+16]
00024 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002a 48 85 c0 test rax, rax
0002d 74 15 je SHORT $LN4@sub_mat2
; 19 : matrix2map* ret = _aligned_malloc(sizeof(matrix2map), 16);
; 20 :
; 21 : if (ret != 0)
; 22 : {
; 23 : ret->colum[0] = _mm_sub_ps(mat1->colum[0], mat2->colum[0]);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 5c 03 subps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 24 : ret->colum[1] = _mm_sub_ps(mat1->colum[1], mat2->colum[1]);
00038 0f 10 4f 10 movups xmm1, XMMWORD PTR [rdi+16]
0003c 0f 5c 4b 10 subps xmm1, XMMWORD PTR [rbx+16]
00040 0f 11 48 10 movups XMMWORD PTR [rax+16], xmm1
$LN4@sub_mat2:
; 25 : }
; 26 :
; 27 : return ret;
; 28 : }
00044 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00049 48 83 c4 20 add rsp, 32 ; 00000020H
0004d 5f pop rdi
0004e c3 ret 0
sub_mat2 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat2.c
; COMDAT add_mat2
_TEXT SEGMENT
mat1$ = 48
mat2$ = 56
add_mat2 PROC ; COMDAT
; 5 : {
$LN7:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b f9 mov rdi, rcx
0000d 48 8b da mov rbx, rdx
00010 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__694534F6_mat2@c
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
0001c ba 10 00 00 00 mov edx, 16
00021 8d 4a 10 lea ecx, QWORD PTR [rdx+16]
00024 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002a 48 85 c0 test rax, rax
0002d 74 15 je SHORT $LN4@add_mat2
; 6 : matrix2map* ret = _aligned_malloc(sizeof(matrix2map), 16);
; 7 :
; 8 : if (ret != 0)
; 9 : {
; 10 : ret->colum[0] = _mm_add_ps(mat1->colum[0], mat2->colum[0]);
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
00032 0f 58 03 addps xmm0, XMMWORD PTR [rbx]
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 11 : ret->colum[1] = _mm_add_ps(mat1->colum[1], mat2->colum[1]);
00038 0f 10 4f 10 movups xmm1, XMMWORD PTR [rdi+16]
0003c 0f 58 4b 10 addps xmm1, XMMWORD PTR [rbx+16]
00040 0f 11 48 10 movups XMMWORD PTR [rax+16], xmm1
$LN4@add_mat2:
; 12 : }
; 13 :
; 14 : return ret;
; 15 : }
00044 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00049 48 83 c4 20 add rsp, 32 ; 00000020H
0004d 5f pop rdi
0004e c3 ret 0
add_mat2 ENDP
_TEXT ENDS
END
Binary file not shown.
@@ -0,0 +1,138 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
include listing.inc
INCLUDELIB MSVCRT
INCLUDELIB OLDNAMES
_DATA SEGMENT
COMM pack:BYTE:038H
_DATA ENDS
msvcjmc SEGMENT
__0998321F_concurrencysal@h DB 01H
__E9680BEC_sal@h DB 01H
__75F3BDA1_vadefs@h DB 01H
__FF647DA5_vcruntime@h DB 01H
__0DFED3C7_stdint@h DB 01H
__018B5678_khrplatform@h DB 01H
__79FC18F0_glad@h DB 01H
__04C75F1C_corecrt@h DB 01H
__0C5B3DCC_stddef@h DB 01H
__986CAB3E_glfw3@h DB 01H
__9BEA891A_mmintrin@h DB 01H
__494656A0_corecrt_malloc@h DB 01H
__E5D9469F_malloc@h DB 01H
__7FB111F1_xmmintrin@h DB 01H
__1AD3983D_emmintrin@h DB 01H
__C572F0B4_pmmintrin@h DB 01H
__75AB8336_tmmintrin@h DB 01H
__5C9096B5_smmintrin@h DB 01H
__39F21F79_nmmintrin@h DB 01H
__EC49E537_wmmintrin@h DB 01H
__27DDA830_zmmintrin@h DB 01H
__10C90AFA_immintrin@h DB 01H
__C508448F_StgSharpGraphic@h DB 01H
__C44F8F6B_corecrt_stdio_config@h DB 01H
__A7F89B2B_corecrt_wstdio@h DB 01H
__B5C48800_stdio@h DB 01H
__68875EC1_mat3@c DB 01H
msvcjmc ENDS
PUBLIC det_mat3_internal
PUBLIC __JustMyCode_Default
EXTRN __CheckForDebuggerJustMyCode:PROC
EXTRN _fltused:DWORD
; COMDAT pdata
pdata SEGMENT
$pdata$det_mat3_internal DD imagerel $LN4
DD imagerel $LN4+109
DD imagerel $unwind$det_mat3_internal
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$det_mat3_internal DD 060f01H
DD 07640fH
DD 06340fH
DD 0700b320fH
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: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat3.c
; COMDAT det_mat3_internal
_TEXT SEGMENT
c0$ = 48
c1$ = 56
c2$ = 64
det_mat3_internal PROC ; COMDAT
; 5 : {
$LN4:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi
0000a 57 push rdi
0000b 48 83 ec 20 sub rsp, 32 ; 00000020H
0000f 48 8b f9 mov rdi, rcx
00012 49 8b f0 mov rsi, r8
00015 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:__68875EC1_mat3@c
0001c 48 8b da mov rbx, rdx
0001f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
00024 0f 10 1b movups xmm3, XMMWORD PTR [rbx]
00027 0f 10 16 movups xmm2, XMMWORD PTR [rsi]
0002a 0f 28 e3 movaps xmm4, xmm3
0002d 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00032 0f 28 c2 movaps xmm0, xmm2
00035 48 8b 74 24 38 mov rsi, QWORD PTR [rsp+56]
0003a 0f c6 e3 c9 shufps xmm4, xmm3, 201 ; 000000c9H
0003e 0f 59 27 mulps xmm4, XMMWORD PTR [rdi]
00041 0f c6 c2 d2 shufps xmm0, xmm2, 210 ; 000000d2H
00045 0f c6 db d2 shufps xmm3, xmm3, 210 ; 000000d2H
00049 0f 59 1f mulps xmm3, XMMWORD PTR [rdi]
0004c 0f 59 e0 mulps xmm4, xmm0
0004f 0f c6 d2 c9 shufps xmm2, xmm2, 201 ; 000000c9H
00053 0f 59 da mulps xmm3, xmm2
00056 0f 5c e3 subps xmm4, xmm3
00059 0f 28 c4 movaps xmm0, xmm4
0005c f2 0f 7c c4 haddps xmm0, xmm4
00060 0f 58 c4 addps xmm0, xmm4
00063 0f c6 c0 aa shufps xmm0, xmm0, 170 ; 000000aaH
; 6 :
; 7 : //let adding row aligned
; 8 : __m128 addc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 0, 2, 1));
; 9 : __m128 addc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 1, 0, 2));
; 10 :
; 11 : //let sub row aligned
; 12 : __m128 subc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 1, 0, 2));
; 13 : __m128 subc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 0, 2, 1));
; 14 :
; 15 : //multple all add row
; 16 : __m128 cache = _mm_mul_ps(c0,addc1);
; 17 : cache = _mm_mul_ps(cache,addc2);
; 18 :
; 19 : //multiple all sub row
; 20 : __m128 sub = _mm_mul_ps(c0, subc1);
; 21 : sub = _mm_mul_ps(sub, subc2);
; 22 :
; 23 : //main-corner sub sub-corner
; 24 : cache = _mm_sub_ps(cache,sub);
; 25 :
; 26 : __m128 ret = _mm_hadd_ps(cache,cache); //element 1 add element 2
; 27 : ret = _mm_add_ps(ret, cache); //(e1 add e2) add element 3
; 28 :
; 29 :
; 30 : return ret.m128_f32[2];
; 31 : }
00067 48 83 c4 20 add rsp, 32 ; 00000020H
0006b 5f pop rdi
0006c c3 ret 0
det_mat3_internal ENDP
_TEXT ENDS
END
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -4,227 +4,5 @@ include listing.inc
INCLUDELIB OLDNAMES
PUBLIC ??_C@_09OKFGCEAB@?$CFf?7?$CFf?7?$CFf?6@ ; `string'
PUBLIC ??_C@_0L@INACIODI@?$CFf?7?$CFf?7?$CFf?6?6@ ; `string'
EXTRN __imp___stdio_common_vfprintf:PROC
EXTRN __imp___acrt_iob_func:PROC
; COMDAT ??_C@_0L@INACIODI@?$CFf?7?$CFf?7?$CFf?6?6@
CONST SEGMENT
??_C@_0L@INACIODI@?$CFf?7?$CFf?7?$CFf?6?6@ DB '%f', 09H, '%f', 09H, '%f', 0aH
DB 0aH, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_09OKFGCEAB@?$CFf?7?$CFf?7?$CFf?6@
CONST SEGMENT
??_C@_09OKFGCEAB@?$CFf?7?$CFf?7?$CFf?6@ DB '%f', 09H, '%f', 09H, '%f', 0aH
DB 00H ; `string'
PUBLIC det_mat3_internal
PUBLIC printf
PUBLIC _vfprintf_l
PUBLIC __local_stdio_printf_options
; COMDAT pdata
pdata SEGMENT
$pdata$det_mat3_internal DD imagerel $LN4
DD imagerel $LN4+400
DD imagerel $unwind$det_mat3_internal
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$printf DD imagerel $LN6@printf
DD imagerel $LN6@printf+85
DD imagerel $unwind$printf
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_vfprintf_l DD imagerel $LN4@vfprintf_l
DD imagerel $LN4@vfprintf_l+68
DD imagerel $unwind$_vfprintf_l
; COMDAT xdata
xdata SEGMENT
$unwind$_vfprintf_l DQ 00009640f00060f01r ; 1.30596e-308
DQ 0700b520f0008340fr ; 5.30195e+231
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$printf DQ 07017521b00041b01r ; 9.05146e+231
DD 030156016H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$det_mat3_internal DD 0a3401H
DD 029834H
DD 038823H
DD 04781aH
DD 05680bH
DD 03002b206H
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat3.c
; COMDAT det_mat3_internal
_TEXT SEGMENT
c0$ = 112
c1$ = 120
c2$ = 128
det_mat3_internal PROC ; COMDAT
; 5 : {
$LN4:
00000 40 53 push rbx
00002 48 83 ec 60 sub rsp, 96 ; 00000060H
00006 0f 29 74 24 50 movaps XMMWORD PTR [rsp+80], xmm6
; 6 : //let adding row aligned
; 7 : __m128 addc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 0, 2, 1));
; 8 : __m128 addc2 = _mm_shuffle_ps(c2, c1, _MM_SHUFFLE(3, 1, 0, 2));
; 9 :
; 10 : printf("%f\t%f\t%f\n", addc1.m128_f32[0], addc1.m128_f32[1], addc1.m128_f32[2]);
0000b 0f 57 d2 xorps xmm2, xmm2
0000e 41 0f 10 30 movups xmm6, XMMWORD PTR [r8]
00012 0f 57 db xorps xmm3, xmm3
00015 0f 29 7c 24 40 movaps XMMWORD PTR [rsp+64], xmm7
0001a 48 8b d9 mov rbx, rcx
0001d 44 0f 29 44 24
30 movaps XMMWORD PTR [rsp+48], xmm8
00023 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_09OKFGCEAB@?$CFf?7?$CFf?7?$CFf?6@
0002a 44 0f 10 02 movups xmm8, XMMWORD PTR [rdx]
0002e 44 0f 29 4c 24
20 movaps XMMWORD PTR [rsp+32], xmm9
00034 45 0f 28 c8 movaps xmm9, xmm8
00038 45 0f c6 c8 c9 shufps xmm9, xmm8, 201 ; 000000c9H
0003d 41 0f 28 c9 movaps xmm1, xmm9
00041 41 0f c6 f0 d2 shufps xmm6, xmm8, 210 ; 000000d2H
00046 41 0f c6 c9 55 shufps xmm1, xmm9, 85 ; 00000055H
0004b 41 0f 28 c1 movaps xmm0, xmm9
0004f f3 0f 5a d1 cvtss2sd xmm2, xmm1
00053 0f 57 c9 xorps xmm1, xmm1
00056 41 0f c6 c1 aa shufps xmm0, xmm9, 170 ; 000000aaH
0005b f3 41 0f 5a c9 cvtss2sd xmm1, xmm9
00060 f3 0f 5a d8 cvtss2sd xmm3, xmm0
00064 66 48 0f 7e ca movq rdx, xmm1
00069 66 49 0f 7e d0 movq r8, xmm2
0006e 66 49 0f 7e d9 movq r9, xmm3
00073 e8 00 00 00 00 call printf
; 11 : printf("%f\t%f\t%f\n\n", addc2.m128_f32[0], addc2.m128_f32[1], addc2.m128_f32[2]);
00078 0f 28 ce movaps xmm1, xmm6
0007b 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0L@INACIODI@?$CFf?7?$CFf?7?$CFf?6?6@
00082 0f c6 ce 55 shufps xmm1, xmm6, 85 ; 00000055H
00086 0f 57 d2 xorps xmm2, xmm2
00089 f3 0f 5a d1 cvtss2sd xmm2, xmm1
0008d 0f 28 c6 movaps xmm0, xmm6
00090 0f 57 c9 xorps xmm1, xmm1
00093 0f c6 c6 aa shufps xmm0, xmm6, 170 ; 000000aaH
00097 0f 57 db xorps xmm3, xmm3
0009a f3 0f 5a ce cvtss2sd xmm1, xmm6
0009e f3 0f 5a d8 cvtss2sd xmm3, xmm0
000a2 66 48 0f 7e ca movq rdx, xmm1
000a7 66 49 0f 7e d0 movq r8, xmm2
000ac 66 49 0f 7e d9 movq r9, xmm3
000b1 e8 00 00 00 00 call printf
; 12 :
; 13 : //let sub row aligned
; 14 : __m128 subc1 = _mm_shuffle_ps(c1, c1, _MM_SHUFFLE(3, 1, 0, 2));
; 15 : __m128 subc2 = _mm_shuffle_ps(c2, c2, _MM_SHUFFLE(3, 0, 2, 1));
; 16 :
; 17 : //multple all add row
; 18 : __m128 cache = _mm_mul_ps(c0,addc1);
000b6 0f 10 3b movups xmm7, XMMWORD PTR [rbx]
; 19 : cache = _mm_mul_ps(cache,addc2);
; 20 :
; 21 : printf("%f\t%f\t%f\n\n", cache.m128_f32[0], cache.m128_f32[1], cache.m128_f32[2]);
000b9 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0L@INACIODI@?$CFf?7?$CFf?7?$CFf?6?6@
000c0 44 0f 59 cf mulps xmm9, xmm7
000c4 0f 57 d2 xorps xmm2, xmm2
000c7 0f 57 db xorps xmm3, xmm3
000ca 45 0f c6 c0 d2 shufps xmm8, xmm8, 210 ; 000000d2H
000cf 44 0f 59 ce mulps xmm9, xmm6
000d3 41 0f 28 c9 movaps xmm1, xmm9
000d7 41 0f 28 c1 movaps xmm0, xmm9
000db 41 0f c6 c9 55 shufps xmm1, xmm9, 85 ; 00000055H
000e0 f3 0f 5a d1 cvtss2sd xmm2, xmm1
000e4 0f 57 c9 xorps xmm1, xmm1
000e7 41 0f c6 c1 aa shufps xmm0, xmm9, 170 ; 000000aaH
000ec f3 41 0f 5a c9 cvtss2sd xmm1, xmm9
000f1 f3 0f 5a d8 cvtss2sd xmm3, xmm0
000f5 66 48 0f 7e ca movq rdx, xmm1
000fa 66 49 0f 7e d0 movq r8, xmm2
000ff 66 49 0f 7e d9 movq r9, xmm3
00104 e8 00 00 00 00 call printf
; 22 :
; 23 : //multiple all sub row
; 24 : __m128 sub = _mm_mul_ps(c0, subc1);
00109 41 0f 59 f8 mulps xmm7, xmm8
; 25 : sub = _mm_mul_ps(sub, subc1);
; 26 :
; 27 : printf("%f\t%f\t%f\n\n", sub.m128_f32[0], sub.m128_f32[1], sub.m128_f32[2]);
0010d 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_0L@INACIODI@?$CFf?7?$CFf?7?$CFf?6?6@
00114 0f 57 d2 xorps xmm2, xmm2
00117 0f 57 db xorps xmm3, xmm3
0011a 41 0f 59 f8 mulps xmm7, xmm8
0011e 0f 28 cf movaps xmm1, xmm7
00121 0f 28 c7 movaps xmm0, xmm7
00124 0f c6 cf 55 shufps xmm1, xmm7, 85 ; 00000055H
00128 f3 0f 5a d1 cvtss2sd xmm2, xmm1
0012c 0f 57 c9 xorps xmm1, xmm1
0012f 0f c6 c7 aa shufps xmm0, xmm7, 170 ; 000000aaH
00133 f3 0f 5a cf cvtss2sd xmm1, xmm7
00137 f3 0f 5a d8 cvtss2sd xmm3, xmm0
0013b 66 48 0f 7e ca movq rdx, xmm1
00140 66 49 0f 7e d0 movq r8, xmm2
00145 66 49 0f 7e d9 movq r9, xmm3
0014a e8 00 00 00 00 call printf
; 28 :
; 29 : //main-corner sub sub-corner
; 30 : cache = _mm_sub_ps(cache,sub);
0014f 44 0f 5c cf subps xmm9, xmm7
00153 0f 57 c0 xorps xmm0, xmm0
; 31 :
; 32 : __m128 ret = _mm_hadd_ps(cache,cache); //element 1 add element 2
00156 41 0f 28 c9 movaps xmm1, xmm9
0015a f2 41 0f 7c c9 haddps xmm1, xmm9
; 33 : ret = _mm_add_ps(ret, cache); //(e1 add e2) add element 3
0015f 41 0f 58 c9 addps xmm1, xmm9
; 34 :
; 35 : int a = *(int*)0; //for debug, all an excepotion
; 36 :
; 37 : return ret.m128_f32[3] + a;
00163 f3 0f 2a 04 25
00 00 00 00 cvtsi2ss xmm0, DWORD PTR ds:0
; 38 : }
0016c 0f 28 74 24 50 movaps xmm6, XMMWORD PTR [rsp+80]
00171 0f 28 7c 24 40 movaps xmm7, XMMWORD PTR [rsp+64]
00176 44 0f 28 44 24
30 movaps xmm8, XMMWORD PTR [rsp+48]
0017c 44 0f 28 4c 24
20 movaps xmm9, XMMWORD PTR [rsp+32]
00182 0f c6 c9 ff shufps xmm1, xmm1, 255 ; 000000ffH
00186 f3 0f 58 c1 addss xmm0, xmm1
0018a 48 83 c4 60 add rsp, 96 ; 00000060H
0018e 5b pop rbx
0018f c3 ret 0
det_mat3_internal ENDP
_TEXT ENDS
END
Binary file not shown.
+510 -135
View File
@@ -4,32 +4,42 @@ include listing.inc
INCLUDELIB OLDNAMES
PUBLIC ??_C@_04NJMJGNBF@?$CFf?6?6@ ; `string'
; COMDAT ??_C@_04NJMJGNBF@?$CFf?6?6@
CONST SEGMENT
??_C@_04NJMJGNBF@?$CFf?6?6@ DB '%f', 0aH, 0aH, 00H ; `string'
PUBLIC deinit_mat4
PUBLIC det_mat4
PUBLIC transpose4to3
PUBLIC transpose4to4
PUBLIC transpose4to2
PUBLIC mul_4_4
PUBLIC mul_4_2
PUBLIC mul_const
PUBLIC sub_mat4
PUBLIC add_mat4
; COMDAT pdata
pdata SEGMENT
$pdata$det_mat4 DD imagerel $LN4
DD imagerel $LN4+344
$pdata$det_mat4 DD imagerel $LN12@det_mat4
DD imagerel $LN12@det_mat4+293
DD imagerel $unwind$det_mat4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$mul_4_4 DD imagerel $LN27@mul_4_4
DD imagerel $LN27@mul_4_4+167
$pdata$transpose4to3 DD imagerel $LN4@transpose4
DD imagerel $LN4@transpose4+80
DD imagerel $unwind$transpose4to3
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$mul_4_4 DD imagerel $LN39
DD imagerel $LN39+406
DD imagerel $unwind$mul_4_4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$mul_4_2 DD imagerel $LN22
DD imagerel $LN22+218
DD imagerel $unwind$mul_4_2
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$mul_const DD imagerel $LN15@mul_const
DD imagerel $LN15@mul_const+98
DD imagerel $unwind$mul_const
@@ -62,149 +72,514 @@ $unwind$mul_const DQ 00003680b00040b01r ; 4.73721e-309
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$mul_4_4 DQ 00006340a00040a01r ; 8.62672e-309
$unwind$mul_4_2 DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$det_mat4 DD 0d4601H
DD 0e9846H
DD 0f8841H
DD 010783cH
DD 0116838H
DD 0263413H
DD 0240113H
DD 05008H
$unwind$mul_4_4 DD 040a01H
DD 06340aH
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$transpose4to3 DQ 00000681400031401r ; 5.65385e-310
DD 02204H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$det_mat4 DQ 00000a835000b3501r ; 9.13753e-310
DQ 00002881b0001982cr ; 3.52071e-309
DQ 00004680e00037816r ; 6.12794e-309
DD 0a207H
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; COMDAT det_mat4
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; COMDAT mul_4_2
_TEXT SEGMENT
$T15 = 32
$T1 = 32
$T14 = 48
$T2 = 48
$T13 = 64
$T3 = 64
$T10 = 80
$T11 = 96
$T12 = 112
$T7 = 128
$T8 = 144
$T9 = 160
$T4 = 176
$T5 = 192
$T6 = 208
matPtr$ = 304
det_mat4 PROC ; COMDAT
left$ = 48
right$ = 56
mul_4_2 PROC ; COMDAT
; 98 : {
; 57 : {
$LN4:
00000 48 8b c4 mov rax, rsp
00003 48 89 58 08 mov QWORD PTR [rax+8], rbx
00007 55 push rbp
00008 48 8d 68 d8 lea rbp, QWORD PTR [rax-40]
0000c 48 81 ec 20 01
00 00 sub rsp, 288 ; 00000120H
$LN22:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b fa mov rdi, rdx
0000d 48 8b d9 mov rbx, rcx
; 99 : __m128 cogeneration = _mm_set_ps(
; 58 : matrix2map* retPtr = _aligned_malloc(sizeof(matrix2map), 16);
00013 0f 10 59 20 movups xmm3, XMMWORD PTR [rcx+32]
00017 4c 8d 44 24 50 lea r8, QWORD PTR $T10[rsp]
0001c 0f 10 51 10 movups xmm2, XMMWORD PTR [rcx+16]
00020 48 8d 54 24 60 lea rdx, QWORD PTR $T11[rsp]
00025 0f 10 09 movups xmm1, XMMWORD PTR [rcx]
00028 48 8b d9 mov rbx, rcx
0002b 0f 10 41 30 movups xmm0, XMMWORD PTR [rcx+48]
0002f 48 8d 4c 24 70 lea rcx, QWORD PTR $T12[rsp]
00034 0f 29 70 e8 movaps XMMWORD PTR [rax-24], xmm6
00038 0f 29 78 d8 movaps XMMWORD PTR [rax-40], xmm7
0003c 44 0f 29 40 c8 movaps XMMWORD PTR [rax-56], xmm8
00041 44 0f 29 48 b8 movaps XMMWORD PTR [rax-72], xmm9
00046 0f 29 5c 24 20 movaps XMMWORD PTR $T1[rsp], xmm3
0004b 0f 29 54 24 30 movaps XMMWORD PTR $T2[rsp], xmm2
00050 0f 29 4c 24 40 movaps XMMWORD PTR $T3[rsp], xmm1
00055 0f 29 45 b0 movaps XMMWORD PTR $T4[rbp-256], xmm0
00059 0f 29 55 c0 movaps XMMWORD PTR $T5[rbp-256], xmm2
0005d 0f 29 4d d0 movaps XMMWORD PTR $T6[rbp-256], xmm1
00061 0f 29 45 80 movaps XMMWORD PTR $T7[rbp-256], xmm0
00065 0f 29 5d 90 movaps XMMWORD PTR $T8[rbp-256], xmm3
00069 0f 29 4d a0 movaps XMMWORD PTR $T9[rbp-256], xmm1
0006d 0f 29 44 24 50 movaps XMMWORD PTR $T10[rsp], xmm0
00072 0f 29 5c 24 60 movaps XMMWORD PTR $T11[rsp], xmm3
00077 0f 29 54 24 70 movaps XMMWORD PTR $T12[rsp], xmm2
0007c e8 00 00 00 00 call det_mat3_internal
00081 4c 8d 45 80 lea r8, QWORD PTR $T7[rbp-256]
00085 44 0f 28 c0 movaps xmm8, xmm0
00089 48 8d 55 90 lea rdx, QWORD PTR $T8[rbp-256]
0008d 48 8d 4d a0 lea rcx, QWORD PTR $T9[rbp-256]
00091 e8 00 00 00 00 call det_mat3_internal
00096 4c 8d 45 b0 lea r8, QWORD PTR $T4[rbp-256]
0009a 0f 28 f8 movaps xmm7, xmm0
0009d 48 8d 55 c0 lea rdx, QWORD PTR $T5[rbp-256]
000a1 48 8d 4d d0 lea rcx, QWORD PTR $T6[rbp-256]
000a5 e8 00 00 00 00 call det_mat3_internal
000aa 4c 8d 44 24 20 lea r8, QWORD PTR $T1[rsp]
000af 0f 28 f0 movaps xmm6, xmm0
000b2 48 8d 54 24 30 lea rdx, QWORD PTR $T2[rsp]
000b7 48 8d 4c 24 40 lea rcx, QWORD PTR $T3[rsp]
000bc e8 00 00 00 00 call det_mat3_internal
00010 ba 10 00 00 00 mov edx, 16
00015 8d 4a 10 lea ecx, QWORD PTR [rdx+16]
00018 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
; 100 : det_mat3_internal(matPtr->matrix.colum[1], matPtr->matrix.colum[2], matPtr->matrix.colum[3]),
; 101 : det_mat3_internal(matPtr->matrix.colum[0], matPtr->matrix.colum[2], matPtr->matrix.colum[3]),
; 102 : det_mat3_internal(matPtr->matrix.colum[0], matPtr->matrix.colum[1], matPtr->matrix.colum[3]),
; 103 : det_mat3_internal(matPtr->matrix.colum[0], matPtr->matrix.colum[1], matPtr->matrix.colum[2])
; 104 : );
; 105 :
; 106 : printf("%f\n\n", det_mat3_internal(matPtr->matrix.colum[1], matPtr->matrix.colum[2], matPtr->matrix.colum[3]));
; 59 : if (NULL != retPtr)
000c1 0f 10 4b 30 movups xmm1, XMMWORD PTR [rbx+48]
000c5 4c 8d 44 24 40 lea r8, QWORD PTR $T13[rsp]
000ca 0f 10 53 20 movups xmm2, XMMWORD PTR [rbx+32]
000ce 48 8d 54 24 30 lea rdx, QWORD PTR $T14[rsp]
000d3 44 0f 28 c8 movaps xmm9, xmm0
000d7 0f 29 4c 24 40 movaps XMMWORD PTR $T13[rsp], xmm1
000dc 0f 10 4b 10 movups xmm1, XMMWORD PTR [rbx+16]
000e0 48 8d 4c 24 20 lea rcx, QWORD PTR $T15[rsp]
000e5 41 0f 14 f8 unpcklps xmm7, xmm8
000e9 44 0f 14 ce unpcklps xmm9, xmm6
000ed 0f 29 4c 24 20 movaps XMMWORD PTR $T15[rsp], xmm1
000f2 44 0f 16 cf movlhps xmm9, xmm7
000f6 0f 29 54 24 30 movaps XMMWORD PTR $T14[rsp], xmm2
000fb e8 00 00 00 00 call det_mat3_internal
00100 0f 57 c9 xorps xmm1, xmm1
00103 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:??_C@_04NJMJGNBF@?$CFf?6?6@
0010a f3 0f 5a c8 cvtss2sd xmm1, xmm0
0010e 66 48 0f 7e ca movq rdx, xmm1
00113 e8 00 00 00 00 call printf
0001e 48 85 c0 test rax, rax
00021 0f 84 a8 00 00
00 je $LN2@mul_4_2
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 107 :
; 108 : __m128 retvec = _mm_mul_ps((matPtr->transpose).colum[3],cogeneration);
; 123 : __m128 ret = _mm_mul_ps(left, right);
00118 44 0f 59 4b 70 mulps xmm9, XMMWORD PTR [rbx+112]
00027 0f 10 17 movups xmm2, XMMWORD PTR [rdi]
0002a 0f 10 43 30 movups xmm0, XMMWORD PTR [rbx+48]
0002e 0f 10 4b 20 movups xmm1, XMMWORD PTR [rbx+32]
00032 0f 10 5b 10 movups xmm3, XMMWORD PTR [rbx+16]
00036 0f 59 ca mulps xmm1, xmm2
00039 0f 28 e2 movaps xmm4, xmm2
0003c 0f 59 da mulps xmm3, xmm2
0003f 0f 59 e0 mulps xmm4, xmm0
00042 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
; 109 : retvec = _mm_hsub_ps(retvec,retvec);
; 110 : retvec = _mm_hadd_ps(retvec,retvec);
; 111 : return -retvec.m128_f32[0];
; 112 :
; 113 : }
; 124 : ret = _mm_hadd_ps(ret, ret);
0011d 4c 8d 9c 24 20
01 00 00 lea r11, QWORD PTR [rsp+288]
00125 49 8b 5b 10 mov rbx, QWORD PTR [r11+16]
00129 41 0f 28 73 f0 movaps xmm6, XMMWORD PTR [r11-16]
0012e 41 0f 28 7b e0 movaps xmm7, XMMWORD PTR [r11-32]
00133 45 0f 28 43 d0 movaps xmm8, XMMWORD PTR [r11-48]
00138 f2 45 0f 7d c9 hsubps xmm9, xmm9
0013d f2 45 0f 7c c9 haddps xmm9, xmm9
00142 44 0f 57 0d 00
00 00 00 xorps xmm9, DWORD PTR __xmm@80000000800000008000000080000000
0014a 41 0f 28 c1 movaps xmm0, xmm9
0014e 45 0f 28 4b c0 movaps xmm9, XMMWORD PTR [r11-64]
00153 49 8b e3 mov rsp, r11
00156 5d pop rbp
00157 c3 ret 0
det_mat4 ENDP
00045 f2 0f 7c c9 haddps xmm1, xmm1
; 123 : __m128 ret = _mm_mul_ps(left, right);
00049 0f 59 d0 mulps xmm2, xmm0
; 125 : ret = _mm_hadd_ps(ret, ret);
0004c f2 0f 7c c9 haddps xmm1, xmm1
; 124 : ret = _mm_hadd_ps(ret, ret);
00050 f2 0f 7c db haddps xmm3, xmm3
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 61 : retPtr->colum[0] = _mm_set_ps(
00054 0f 28 c1 movaps xmm0, xmm1
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 125 : ret = _mm_hadd_ps(ret, ret);
00057 f2 0f 7c db haddps xmm3, xmm3
; 124 : ret = _mm_hadd_ps(ret, ret);
0005b f2 0f 7c e4 haddps xmm4, xmm4
0005f f2 0f 7c d2 haddps xmm2, xmm2
; 125 : ret = _mm_hadd_ps(ret, ret);
00063 f2 0f 7c e4 haddps xmm4, xmm4
00067 f2 0f 7c d2 haddps xmm2, xmm2
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 61 : retPtr->colum[0] = _mm_set_ps(
0006b 0f 28 cc movaps xmm1, xmm4
0006e 0f 14 c8 unpcklps xmm1, xmm0
00071 0f 14 da unpcklps xmm3, xmm2
00074 0f 16 cb movlhps xmm1, xmm3
00077 0f 11 08 movups XMMWORD PTR [rax], xmm1
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 123 : __m128 ret = _mm_mul_ps(left, right);
0007a 0f 10 57 10 movups xmm2, XMMWORD PTR [rdi+16]
0007e 0f 10 43 30 movups xmm0, XMMWORD PTR [rbx+48]
00082 0f 10 4b 20 movups xmm1, XMMWORD PTR [rbx+32]
00086 0f 10 5b 10 movups xmm3, XMMWORD PTR [rbx+16]
0008a 0f 59 ca mulps xmm1, xmm2
0008d 0f 28 e2 movaps xmm4, xmm2
00090 0f 59 da mulps xmm3, xmm2
00093 0f 59 e0 mulps xmm4, xmm0
00096 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
; 124 : ret = _mm_hadd_ps(ret, ret);
00099 f2 0f 7c c9 haddps xmm1, xmm1
; 123 : __m128 ret = _mm_mul_ps(left, right);
0009d 0f 59 d0 mulps xmm2, xmm0
; 125 : ret = _mm_hadd_ps(ret, ret);
000a0 f2 0f 7c c9 haddps xmm1, xmm1
; 124 : ret = _mm_hadd_ps(ret, ret);
000a4 f2 0f 7c db haddps xmm3, xmm3
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 67 : retPtr->colum[1] = _mm_set_ps(
000a8 0f 28 c1 movaps xmm0, xmm1
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 124 : ret = _mm_hadd_ps(ret, ret);
000ab f2 0f 7c e4 haddps xmm4, xmm4
000af f2 0f 7c d2 haddps xmm2, xmm2
; 125 : ret = _mm_hadd_ps(ret, ret);
000b3 f2 0f 7c e4 haddps xmm4, xmm4
000b7 f2 0f 7c d2 haddps xmm2, xmm2
000bb f2 0f 7c db haddps xmm3, xmm3
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 67 : retPtr->colum[1] = _mm_set_ps(
000bf 0f 28 cc movaps xmm1, xmm4
000c2 0f 14 da unpcklps xmm3, xmm2
000c5 0f 14 c8 unpcklps xmm1, xmm0
000c8 0f 16 cb movlhps xmm1, xmm3
000cb 0f 11 48 10 movups XMMWORD PTR [rax+16], xmm1
$LN2@mul_4_2:
; 68 : mulps_sum_internal(ALIGN(left->colum[0]), ALIGN(right->colum[1])),
; 69 : mulps_sum_internal(ALIGN(left->colum[1]), ALIGN(right->colum[1])),
; 70 : mulps_sum_internal(ALIGN(left->colum[2]), ALIGN(right->colum[1])),
; 71 : mulps_sum_internal(ALIGN(left->colum[3]), ALIGN(right->colum[1]))
; 72 : );
; 73 : }
; 74 : }
000cf 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
000d4 48 83 c4 20 add rsp, 32 ; 00000020H
000d8 5f pop rdi
000d9 c3 ret 0
mul_4_2 ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; COMDAT mul_4_4
_TEXT SEGMENT
left$ = 48
right$ = 56
mul_4_4 PROC ; COMDAT
; 78 : {
$LN39:
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
00005 57 push rdi
00006 48 83 ec 20 sub rsp, 32 ; 00000020H
0000a 48 8b fa mov rdi, rdx
0000d 48 8b d9 mov rbx, rcx
; 79 : matrix4map* retPtr = _aligned_malloc(sizeof(matrix4map), 16);
00010 ba 10 00 00 00 mov edx, 16
00015 8d 4a 30 lea ecx, QWORD PTR [rdx+48]
00018 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
; 80 : if (NULL != retPtr)
0001e 48 85 c0 test rax, rax
00021 0f 84 64 01 00
00 je $LN36@mul_4_4
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 123 : __m128 ret = _mm_mul_ps(left, right);
00027 0f 10 17 movups xmm2, XMMWORD PTR [rdi]
0002a 0f 10 43 30 movups xmm0, XMMWORD PTR [rbx+48]
0002e 0f 10 4b 20 movups xmm1, XMMWORD PTR [rbx+32]
00032 0f 10 5b 10 movups xmm3, XMMWORD PTR [rbx+16]
00036 0f 59 ca mulps xmm1, xmm2
00039 0f 28 e2 movaps xmm4, xmm2
0003c 0f 59 e0 mulps xmm4, xmm0
0003f 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
00042 0f 59 da mulps xmm3, xmm2
00045 0f 59 d0 mulps xmm2, xmm0
; 124 : ret = _mm_hadd_ps(ret, ret);
00048 f2 0f 7c c9 haddps xmm1, xmm1
0004c f2 0f 7c e4 haddps xmm4, xmm4
; 125 : ret = _mm_hadd_ps(ret, ret);
00050 f2 0f 7c c9 haddps xmm1, xmm1
; 124 : ret = _mm_hadd_ps(ret, ret);
00054 f2 0f 7c db haddps xmm3, xmm3
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 82 : retPtr->colum[0] = _mm_set_ps(
00058 0f 28 c1 movaps xmm0, xmm1
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 125 : ret = _mm_hadd_ps(ret, ret);
0005b f2 0f 7c e4 haddps xmm4, xmm4
0005f f2 0f 7c db haddps xmm3, xmm3
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 82 : retPtr->colum[0] = _mm_set_ps(
00063 0f 28 cc movaps xmm1, xmm4
00066 0f 14 c8 unpcklps xmm1, xmm0
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 124 : ret = _mm_hadd_ps(ret, ret);
00069 f2 0f 7c d2 haddps xmm2, xmm2
; 125 : ret = _mm_hadd_ps(ret, ret);
0006d f2 0f 7c d2 haddps xmm2, xmm2
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 82 : retPtr->colum[0] = _mm_set_ps(
00071 0f 14 da unpcklps xmm3, xmm2
00074 0f 16 cb movlhps xmm1, xmm3
00077 0f 11 08 movups XMMWORD PTR [rax], xmm1
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 123 : __m128 ret = _mm_mul_ps(left, right);
0007a 0f 10 57 10 movups xmm2, XMMWORD PTR [rdi+16]
0007e 0f 10 43 30 movups xmm0, XMMWORD PTR [rbx+48]
00082 0f 28 e2 movaps xmm4, xmm2
00085 0f 28 ca movaps xmm1, xmm2
00088 0f 59 e0 mulps xmm4, xmm0
0008b 0f 28 da movaps xmm3, xmm2
0008e 0f 10 43 20 movups xmm0, XMMWORD PTR [rbx+32]
00092 0f 59 c8 mulps xmm1, xmm0
00095 0f 10 43 10 movups xmm0, XMMWORD PTR [rbx+16]
; 124 : ret = _mm_hadd_ps(ret, ret);
00099 f2 0f 7c e4 haddps xmm4, xmm4
; 123 : __m128 ret = _mm_mul_ps(left, right);
0009d 0f 59 d8 mulps xmm3, xmm0
000a0 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
; 124 : ret = _mm_hadd_ps(ret, ret);
000a3 f2 0f 7c c9 haddps xmm1, xmm1
; 123 : __m128 ret = _mm_mul_ps(left, right);
000a7 0f 59 d0 mulps xmm2, xmm0
; 125 : ret = _mm_hadd_ps(ret, ret);
000aa f2 0f 7c c9 haddps xmm1, xmm1
000ae f2 0f 7c e4 haddps xmm4, xmm4
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 88 : retPtr->colum[1] = _mm_set_ps(
000b2 0f 28 c1 movaps xmm0, xmm1
000b5 0f 28 cc movaps xmm1, xmm4
000b8 0f 14 c8 unpcklps xmm1, xmm0
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 124 : ret = _mm_hadd_ps(ret, ret);
000bb f2 0f 7c db haddps xmm3, xmm3
000bf f2 0f 7c d2 haddps xmm2, xmm2
; 125 : ret = _mm_hadd_ps(ret, ret);
000c3 f2 0f 7c db haddps xmm3, xmm3
000c7 f2 0f 7c d2 haddps xmm2, xmm2
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 88 : retPtr->colum[1] = _mm_set_ps(
000cb 0f 14 da unpcklps xmm3, xmm2
000ce 0f 16 cb movlhps xmm1, xmm3
000d1 0f 11 48 10 movups XMMWORD PTR [rax+16], xmm1
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 123 : __m128 ret = _mm_mul_ps(left, right);
000d5 0f 10 57 20 movups xmm2, XMMWORD PTR [rdi+32]
000d9 0f 10 43 30 movups xmm0, XMMWORD PTR [rbx+48]
000dd 0f 28 e2 movaps xmm4, xmm2
000e0 0f 28 ca movaps xmm1, xmm2
000e3 0f 59 e0 mulps xmm4, xmm0
000e6 0f 28 da movaps xmm3, xmm2
000e9 0f 10 43 20 movups xmm0, XMMWORD PTR [rbx+32]
000ed 0f 59 c8 mulps xmm1, xmm0
000f0 0f 10 43 10 movups xmm0, XMMWORD PTR [rbx+16]
; 124 : ret = _mm_hadd_ps(ret, ret);
000f4 f2 0f 7c e4 haddps xmm4, xmm4
; 123 : __m128 ret = _mm_mul_ps(left, right);
000f8 0f 59 d8 mulps xmm3, xmm0
000fb 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
; 124 : ret = _mm_hadd_ps(ret, ret);
000fe f2 0f 7c c9 haddps xmm1, xmm1
; 123 : __m128 ret = _mm_mul_ps(left, right);
00102 0f 59 d0 mulps xmm2, xmm0
; 125 : ret = _mm_hadd_ps(ret, ret);
00105 f2 0f 7c c9 haddps xmm1, xmm1
00109 f2 0f 7c e4 haddps xmm4, xmm4
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 94 : retPtr->colum[1] = _mm_set_ps(
0010d 0f 28 c1 movaps xmm0, xmm1
00110 0f 28 cc movaps xmm1, xmm4
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 124 : ret = _mm_hadd_ps(ret, ret);
00113 f2 0f 7c d2 haddps xmm2, xmm2
00117 f2 0f 7c db haddps xmm3, xmm3
; 125 : ret = _mm_hadd_ps(ret, ret);
0011b f2 0f 7c d2 haddps xmm2, xmm2
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 94 : retPtr->colum[1] = _mm_set_ps(
0011f 0f 14 c8 unpcklps xmm1, xmm0
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 125 : ret = _mm_hadd_ps(ret, ret);
00122 f2 0f 7c db haddps xmm3, xmm3
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 94 : retPtr->colum[1] = _mm_set_ps(
00126 0f 14 da unpcklps xmm3, xmm2
00129 0f 16 cb movlhps xmm1, xmm3
0012c 0f 11 48 10 movups XMMWORD PTR [rax+16], xmm1
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 123 : __m128 ret = _mm_mul_ps(left, right);
00130 0f 10 57 30 movups xmm2, XMMWORD PTR [rdi+48]
00134 0f 10 43 30 movups xmm0, XMMWORD PTR [rbx+48]
00138 0f 28 e2 movaps xmm4, xmm2
0013b 0f 59 e0 mulps xmm4, xmm0
; 124 : ret = _mm_hadd_ps(ret, ret);
0013e f2 0f 7c e4 haddps xmm4, xmm4
; 123 : __m128 ret = _mm_mul_ps(left, right);
00142 0f 10 43 20 movups xmm0, XMMWORD PTR [rbx+32]
00146 0f 28 ca movaps xmm1, xmm2
00149 0f 28 da movaps xmm3, xmm2
0014c 0f 59 c8 mulps xmm1, xmm0
0014f 0f 10 43 10 movups xmm0, XMMWORD PTR [rbx+16]
; 125 : ret = _mm_hadd_ps(ret, ret);
00153 f2 0f 7c e4 haddps xmm4, xmm4
; 123 : __m128 ret = _mm_mul_ps(left, right);
00157 0f 59 d8 mulps xmm3, xmm0
0015a 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
; 124 : ret = _mm_hadd_ps(ret, ret);
0015d f2 0f 7c c9 haddps xmm1, xmm1
; 123 : __m128 ret = _mm_mul_ps(left, right);
00161 0f 59 d0 mulps xmm2, xmm0
; 125 : ret = _mm_hadd_ps(ret, ret);
00164 f2 0f 7c c9 haddps xmm1, xmm1
; 124 : ret = _mm_hadd_ps(ret, ret);
00168 f2 0f 7c db haddps xmm3, xmm3
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 100 : retPtr->colum[1] = _mm_set_ps(
0016c 0f 28 c1 movaps xmm0, xmm1
0016f 0f 28 cc movaps xmm1, xmm4
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; 124 : ret = _mm_hadd_ps(ret, ret);
00172 f2 0f 7c d2 haddps xmm2, xmm2
; 125 : ret = _mm_hadd_ps(ret, ret);
00176 f2 0f 7c db haddps xmm3, xmm3
0017a f2 0f 7c d2 haddps xmm2, xmm2
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; 100 : retPtr->colum[1] = _mm_set_ps(
0017e 0f 14 c8 unpcklps xmm1, xmm0
00181 0f 14 da unpcklps xmm3, xmm2
00184 0f 16 cb movlhps xmm1, xmm3
00187 0f 11 48 10 movups XMMWORD PTR [rax+16], xmm1
$LN36@mul_4_4:
; 101 : mulps_sum_internal(ALIGN(left->colum[0]), ALIGN(right->colum[3])),
; 102 : mulps_sum_internal(ALIGN(left->colum[1]), ALIGN(right->colum[3])),
; 103 : mulps_sum_internal(ALIGN(left->colum[2]), ALIGN(right->colum[3])),
; 104 : mulps_sum_internal(ALIGN(left->colum[3]), ALIGN(right->colum[3]))
; 105 : );
; 106 : }
; 107 : return retPtr;
; 108 : }
0018b 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
00190 48 83 c4 20 add rsp, 32 ; 00000020H
00194 5f pop rdi
00195 c3 ret 0
mul_4_4 ENDP
_TEXT ENDS
END
Binary file not shown.
Binary file not shown.