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
+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