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