daily update on 20230822 by nitload youmu

This commit is contained in:
Nitload
2023-08-22 23:01:20 +08:00
parent 969406c4e4
commit 8aac9fee87
111 changed files with 3205 additions and 11145 deletions
@@ -1,22 +1,27 @@
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\vc143.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\mat4.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\mat2.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\linear.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\dllmain.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\glad.obj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.lib
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.exp
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.dll
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\glad.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\dllmain.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\linear.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\mat2.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\mat4.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.cod
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.ipdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.pdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.iobj
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.lib
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgsharpgraphic.exp
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.ipdb
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\cl.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\cl.items.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\cl.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\cl.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\link.command.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\link.read.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\link.write.1.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\stgsharpgraphic.write.1u.tlog
d:\nitloadindustry\研究项目\1-flagship\th2020\projectfile\源代码\stgshqrpgraphic\x64\release\stgsharpgraphic.tlog\link.write.2u.tlog
@@ -18,142 +18,11 @@ PUBLIC initGL
PUBLIC loadGLApi
; COMDAT pdata
pdata SEGMENT
$pdata$initGL DD imagerel $LN4
DD imagerel $LN4+58
$pdata$initGL DD imagerel $LN4@initGL
DD imagerel $LN4@initGL+58
DD imagerel $unwind$initGL
pdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$initGL DD 010401H
DD 04204H
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\StgSharpGraphic.c
; COMDAT loadGLApi
_TEXT SEGMENT
__$ReturnAddress$ = 8
loadGLApi PROC ; COMDAT
; 16 :
; 17 : pack.createWindow = glfwCreateWindow;
00000 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwCreateWindow
00007 48 89 05 00 00
00 00 mov QWORD PTR pack, rax
; 18 : pack.makeContextCurrent = glfwMakeContextCurrent;
0000e 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwMakeContextCurrent
00015 48 89 05 08 00
00 00 mov QWORD PTR pack+8, rax
; 19 : pack.swapInterval = glfwSwapInterval;
0001c 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwSwapInterval
; 20 : pack.clearColor = glClearColor;
; 21 : pack.windowShouldClose = glfwWindowShouldClose;
; 22 : pack.swapBuffer = glfwSwapBuffers;
; 23 :
; 24 : //these are for callback
; 25 : pack.SetFramebufferSizeCallback = glfwSetFramebufferSizeCallback;
; 26 :
; 27 :
; 28 : return pack;
00023 0f 10 05 00 00
00 00 movups xmm0, XMMWORD PTR pack
0002a 48 89 05 10 00
00 00 mov QWORD PTR pack+16, rax
00031 48 8b 05 00 00
00 00 mov rax, QWORD PTR glad_glClearColor
00038 48 89 05 18 00
00 00 mov QWORD PTR pack+24, rax
0003f 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwWindowShouldClose
00046 0f 10 0d 10 00
00 00 movups xmm1, XMMWORD PTR pack+16
0004d 48 89 05 20 00
00 00 mov QWORD PTR pack+32, rax
00054 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwSwapBuffers
0005b 0f 11 01 movups XMMWORD PTR [rcx], xmm0
0005e 48 89 05 28 00
00 00 mov QWORD PTR pack+40, rax
00065 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:glfwSetFramebufferSizeCallback
0006c 0f 10 05 20 00
00 00 movups xmm0, XMMWORD PTR pack+32
00073 48 89 05 30 00
00 00 mov QWORD PTR pack+48, rax
0007a 48 8b c1 mov rax, rcx
0007d 0f 11 49 10 movups XMMWORD PTR [rcx+16], xmm1
00081 f2 0f 10 0d 30
00 00 00 movsd xmm1, QWORD PTR pack+48
00089 0f 11 41 20 movups XMMWORD PTR [rcx+32], xmm0
0008d f2 0f 11 49 30 movsd QWORD PTR [rcx+48], xmm1
; 29 : }
00092 c3 ret 0
loadGLApi ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\StgSharpGraphic.c
; COMDAT initGL
_TEXT SEGMENT
initGL PROC ; COMDAT
; 32 : {
$LN4:
00000 48 83 ec 28 sub rsp, 40 ; 00000028H
; 33 : glfwInit();
00004 e8 00 00 00 00 call glfwInit
; 34 : glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
00009 ba 03 00 00 00 mov edx, 3
0000e b9 02 20 02 00 mov ecx, 139266 ; 00022002H
00013 e8 00 00 00 00 call glfwWindowHint
; 35 : glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
00018 ba 03 00 00 00 mov edx, 3
0001d b9 03 20 02 00 mov ecx, 139267 ; 00022003H
00022 e8 00 00 00 00 call glfwWindowHint
; 36 : glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
00027 ba 01 20 03 00 mov edx, 204801 ; 00032001H
0002c b9 08 20 02 00 mov ecx, 139272 ; 00022008H
; 37 :
; 38 : #ifdef __APPLE__
; 39 : glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
; 40 : #endif // __APPLE__
; 41 : }
00031 48 83 c4 28 add rsp, 40 ; 00000028H
; 36 : glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
00035 e9 00 00 00 00 jmp glfwWindowHint
initGL ENDP
_TEXT ENDS
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\StgSharpGraphic.c
; COMDAT initGLAD
_TEXT SEGMENT
initGLAD PROC ; COMDAT
; 46 : return gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
00000 e9 00 00 00 00 jmp gladLoadGLLoader
initGLAD ENDP
_TEXT ENDS
$unwind$initGL DQ 00000420400010401r ; 3.58617e-310
END
@@ -1,4 +1,7 @@
D:\Programmer\GLenv\glad.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Release\glad.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\dllmain.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Release\dllmain.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\linear.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Release\linear.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat2.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Release\mat2.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat3.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Release\mat3.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\mat4.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Release\mat4.obj
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\StgSharpGraphic.c;D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\源代码\StgShqrpGraphic\x64\Release\StgSharpGraphic.obj
File diff suppressed because it is too large Load Diff
@@ -12,74 +12,10 @@ _BSS ENDS
PUBLIC DllMain
; COMDAT pdata
pdata SEGMENT
$pdata$DllMain DD imagerel $LN22
DD imagerel $LN22+51
$pdata$DllMain DD imagerel $LN22@DllMain
DD imagerel $LN22@DllMain+51
DD imagerel $unwind$DllMain
; COMDAT xdata
xdata SEGMENT
$unwind$DllMain DD 010401H
DD 04204H
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\dllmain.c
; COMDAT DllMain
_TEXT SEGMENT
hModule$ = 48
ul_reason_for_call$ = 56
lpReserved$ = 64
DllMain PROC ; COMDAT
; 17 : {
$LN22:
00000 48 83 ec 28 sub rsp, 40 ; 00000028H
; 18 : switch (ul_reason_for_call)
00004 83 fa 01 cmp edx, 1
00007 75 20 jne SHORT $LN20@DllMain
00009 0f 1f 80 00 00
00 00 npad 7
$LL6@DllMain:
; 19 : {
; 20 : case DLL_PROCESS_ATTACH:
; 21 : do
; 22 : {
; 23 : defaultVecPtr = _aligned_malloc(sizeof(__m128),16);
00010 ba 10 00 00 00 mov edx, 16
00015 8b ca mov ecx, edx
00017 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0001d 48 89 05 00 00
00 00 mov QWORD PTR defaultVecPtr, rax
; 24 : } while (defaultVecPtr == NULL);
00024 48 85 c0 test rax, rax
00027 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 : }
00029 b8 01 00 00 00 mov eax, 1
0002e 48 83 c4 28 add rsp, 40 ; 00000028H
00032 c3 ret 0
DllMain ENDP
_TEXT ENDS
$unwind$DllMain DQ 00000420400010401r ; 3.58617e-310
END
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
File diff suppressed because it is too large Load Diff
Binary file not shown.
@@ -0,0 +1,31 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
include listing.inc
INCLUDELIB OLDNAMES
PUBLIC deinit_mat2
PUBLIC transmpose2to4
PUBLIC sub_mat2
PUBLIC add_mat2
; COMDAT pdata
pdata SEGMENT
$pdata$sub_mat2 DD imagerel $LN7@sub_mat2
DD imagerel $LN7@sub_mat2+67
DD imagerel $unwind$sub_mat2
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$add_mat2 DD imagerel $LN7@add_mat2
DD imagerel $LN7@add_mat2+67
DD imagerel $unwind$add_mat2
; COMDAT xdata
xdata SEGMENT
$unwind$add_mat2 DQ 00006340a00040a01r ; 8.62672e-309
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$sub_mat2 DQ 00006340a00040a01r ; 8.62672e-309
DD 07006320aH
END
Binary file not shown.
@@ -0,0 +1,230 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
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.
@@ -0,0 +1,210 @@
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
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 transpose4to4
PUBLIC transpose4to2
PUBLIC mul_4_4
PUBLIC mul_const
PUBLIC sub_mat4
PUBLIC add_mat4
; COMDAT pdata
pdata SEGMENT
$pdata$det_mat4 DD imagerel $LN4
DD imagerel $LN4+344
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
DD imagerel $unwind$mul_4_4
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
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$sub_mat4 DD imagerel $LN7@sub_mat4
DD imagerel $LN7@sub_mat4+91
DD imagerel $unwind$sub_mat4
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$add_mat4 DD imagerel $LN7@add_mat4
DD imagerel $LN7@add_mat4+91
DD imagerel $unwind$add_mat4
; COMDAT xdata
xdata SEGMENT
$unwind$add_mat4 DQ 00006340a00040a01r ; 8.62672e-309
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$sub_mat4 DQ 00006340a00040a01r ; 8.62672e-309
DD 07006320aH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$mul_const DQ 00003680b00040b01r ; 4.73721e-309
DD 030027206H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$mul_4_4 DQ 00006340a00040a01r ; 8.62672e-309
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
; Function compile flags: /Ogtpy
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\mat4.c
; COMDAT det_mat4
_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
; 98 : {
$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
; 99 : __m128 cogeneration = _mm_set_ps(
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
; 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]));
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
; 107 :
; 108 : __m128 retvec = _mm_mul_ps((matPtr->transpose).colum[3],cogeneration);
00118 44 0f 59 4b 70 mulps xmm9, XMMWORD PTR [rbx+112]
; 109 : retvec = _mm_hsub_ps(retvec,retvec);
; 110 : retvec = _mm_hadd_ps(retvec,retvec);
; 111 : return -retvec.m128_f32[0];
; 112 :
; 113 : }
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
_TEXT ENDS
END
Binary file not shown.
Binary file not shown.