Files
stgsharp/源代码/StgShqrpGraphic/x64/Release/mat4.cod
T

211 lines
6.8 KiB
Plaintext

; 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