daily update on 20230829 by nitload youmu
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user