daily update on 20230829 by nitload youmu
This commit is contained in:
@@ -6,7 +6,6 @@ INCLUDELIB MSVCRT
|
||||
INCLUDELIB OLDNAMES
|
||||
|
||||
_DATA SEGMENT
|
||||
COMM sseFunc:BYTE:018H
|
||||
COMM pack:BYTE:038H
|
||||
_DATA ENDS
|
||||
msvcjmc SEGMENT
|
||||
@@ -20,20 +19,27 @@ __79FC18F0_glad@h DB 01H
|
||||
__04C75F1C_corecrt@h DB 01H
|
||||
__0C5B3DCC_stddef@h DB 01H
|
||||
__986CAB3E_glfw3@h DB 01H
|
||||
__C508448F_StgSharpGraphic@h DB 01H
|
||||
__9BEA891A_mmintrin@h DB 01H
|
||||
__494656A0_corecrt_malloc@h DB 01H
|
||||
__E5D9469F_malloc@h DB 01H
|
||||
__7FB111F1_xmmintrin@h DB 01H
|
||||
__203A43BB_SSGinternal@h DB 01H
|
||||
__1AD3983D_emmintrin@h DB 01H
|
||||
__C572F0B4_pmmintrin@h DB 01H
|
||||
__75AB8336_tmmintrin@h DB 01H
|
||||
__5C9096B5_smmintrin@h DB 01H
|
||||
__39F21F79_nmmintrin@h DB 01H
|
||||
__EC49E537_wmmintrin@h DB 01H
|
||||
__27DDA830_zmmintrin@h DB 01H
|
||||
__10C90AFA_immintrin@h DB 01H
|
||||
__C508448F_StgSharpGraphic@h DB 01H
|
||||
__C44F8F6B_corecrt_stdio_config@h DB 01H
|
||||
__A7F89B2B_corecrt_wstdio@h DB 01H
|
||||
__B5C48800_stdio@h DB 01H
|
||||
__62BFBAF5_stdalign@h DB 01H
|
||||
__1AD3983D_emmintrin@h DB 01H
|
||||
__C572F0B4_pmmintrin@h DB 01H
|
||||
__B5461FF6_linear@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC mulps_sum_internal
|
||||
PUBLIC mulps_total_internal
|
||||
PUBLIC load
|
||||
PUBLIC load_cpy
|
||||
PUBLIC addps
|
||||
@@ -44,14 +50,26 @@ PUBLIC mulps_sum
|
||||
PUBLIC divps_const
|
||||
PUBLIC divps
|
||||
PUBLIC sqrtss_const
|
||||
PUBLIC set_m128ptr_default
|
||||
PUBLIC deinitM128
|
||||
PUBLIC load_matmap
|
||||
PUBLIC __JustMyCode_Default
|
||||
EXTRN __imp_free:PROC
|
||||
EXTRN __imp__aligned_free:PROC
|
||||
EXTRN __imp__aligned_malloc:PROC
|
||||
EXTRN __CheckForDebuggerJustMyCode:PROC
|
||||
EXTRN __GSHandlerCheck:PROC
|
||||
EXTRN __security_check_cookie:PROC
|
||||
EXTRN defaultVecPtr:QWORD
|
||||
EXTRN __security_cookie:QWORD
|
||||
EXTRN _fltused:DWORD
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$mulps_sum_internal DD imagerel $LN4
|
||||
DD imagerel $LN4+53
|
||||
DD imagerel $unwind$mulps_sum_internal
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$load DD imagerel $LN7
|
||||
DD imagerel $LN7+140
|
||||
DD imagerel $unwind$load
|
||||
@@ -112,10 +130,32 @@ $pdata$sqrtss_const DD imagerel $LN4
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$set_m128ptr_default DD imagerel $LN4
|
||||
DD imagerel $LN4+28
|
||||
DD imagerel $unwind$set_m128ptr_default
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$deinitM128 DD imagerel $LN4
|
||||
DD imagerel $LN4+36
|
||||
DD imagerel $unwind$deinitM128
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$load_matmap DD imagerel $LN7
|
||||
DD imagerel $LN7+146
|
||||
DD imagerel $unwind$load_matmap
|
||||
pdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$load_matmap DD 082419H
|
||||
DD 0e7415H
|
||||
DD 0d6415H
|
||||
DD 0c3415H
|
||||
DD 0e0119215H
|
||||
DD imagerel __GSHandlerCheck
|
||||
DD 040H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$deinitM128 DD 020601H
|
||||
@@ -123,6 +163,11 @@ $unwind$deinitM128 DD 020601H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$set_m128ptr_default DD 010401H
|
||||
DD 04204H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$sqrtss_const DD 030901H
|
||||
DD 026809H
|
||||
DD 06204H
|
||||
@@ -183,6 +228,12 @@ $unwind$load DD 092701H
|
||||
DD 066809H
|
||||
DD 0e204H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$mulps_sum_internal DD 040a01H
|
||||
DD 06340aH
|
||||
DD 07006320aH
|
||||
xdata ENDS
|
||||
; Function compile flags: /Odt
|
||||
; COMDAT __JustMyCode_Default
|
||||
_TEXT SEGMENT
|
||||
@@ -192,12 +243,85 @@ __JustMyCode_Default ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT load_matmap
|
||||
_TEXT SEGMENT
|
||||
ptr$ = 32
|
||||
__$ArrayPad$ = 64
|
||||
c0$ = 96
|
||||
c1$ = 104
|
||||
c2$ = 112
|
||||
c3$ = 120
|
||||
load_matmap PROC ; COMDAT
|
||||
|
||||
; 182 : {
|
||||
|
||||
$LN7:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
00005 48 89 74 24 10 mov QWORD PTR [rsp+16], rsi
|
||||
0000a 48 89 7c 24 18 mov QWORD PTR [rsp+24], rdi
|
||||
0000f 41 56 push r14
|
||||
00011 48 83 ec 50 sub rsp, 80 ; 00000050H
|
||||
00015 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR __security_cookie
|
||||
0001c 48 33 c4 xor rax, rsp
|
||||
0001f 48 89 44 24 40 mov QWORD PTR __$ArrayPad$[rsp], rax
|
||||
00024 48 8b d9 mov rbx, rcx
|
||||
00027 4d 8b f1 mov r14, r9
|
||||
0002a 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
||||
00031 49 8b f0 mov rsi, r8
|
||||
00034 48 8b fa mov rdi, rdx
|
||||
00037 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
0003c ba 20 00 00 00 mov edx, 32 ; 00000020H
|
||||
00041 8b ca mov ecx, edx
|
||||
00043 ff 15 00 00 00
|
||||
00 call QWORD PTR __imp__aligned_malloc
|
||||
00049 48 89 5c 24 20 mov QWORD PTR ptr$[rsp], rbx
|
||||
0004e 48 89 7c 24 28 mov QWORD PTR ptr$[rsp+8], rdi
|
||||
00053 48 89 74 24 30 mov QWORD PTR ptr$[rsp+16], rsi
|
||||
00058 4c 89 74 24 38 mov QWORD PTR ptr$[rsp+24], r14
|
||||
0005d 48 85 c0 test rax, rax
|
||||
00060 74 0d je SHORT $LN4@load_matma
|
||||
|
||||
; 183 : __m256i* retPtr = _aligned_malloc(sizeof(__m256i), sizeof(__m256i));
|
||||
; 184 :
|
||||
; 185 : uint64_t ptr[4] = {c0,c1,c2,c3 };
|
||||
; 186 :
|
||||
; 187 : if (NULL != retPtr)
|
||||
; 188 : {
|
||||
; 189 : *retPtr = _mm256_loadu_epi64(&ptr);
|
||||
|
||||
00062 c5 fe 6f 44 24
|
||||
20 vmovdqu ymm0, YMMWORD PTR ptr$[rsp]
|
||||
00068 c5 fe 7f 00 vmovdqu YMMWORD PTR [rax], ymm0
|
||||
0006c c5 f8 77 vzeroupper
|
||||
$LN4@load_matma:
|
||||
|
||||
; 190 : }
|
||||
; 191 :
|
||||
; 192 : return retPtr;
|
||||
; 193 :
|
||||
; 194 : }
|
||||
|
||||
0006f 48 8b 4c 24 40 mov rcx, QWORD PTR __$ArrayPad$[rsp]
|
||||
00074 48 33 cc xor rcx, rsp
|
||||
00077 e8 00 00 00 00 call __security_check_cookie
|
||||
0007c 48 8b 5c 24 60 mov rbx, QWORD PTR [rsp+96]
|
||||
00081 48 8b 74 24 68 mov rsi, QWORD PTR [rsp+104]
|
||||
00086 48 8b 7c 24 70 mov rdi, QWORD PTR [rsp+112]
|
||||
0008b 48 83 c4 50 add rsp, 80 ; 00000050H
|
||||
0008f 41 5e pop r14
|
||||
00091 c3 ret 0
|
||||
load_matmap ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT deinitM128
|
||||
_TEXT SEGMENT
|
||||
ptr$ = 48
|
||||
deinitM128 PROC ; COMDAT
|
||||
|
||||
; 162 : {
|
||||
; 212 : {
|
||||
|
||||
$LN4:
|
||||
00000 40 53 push rbx
|
||||
@@ -208,23 +332,46 @@ $LN4:
|
||||
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00015 48 8b cb mov rcx, rbx
|
||||
|
||||
; 163 : free(ptr);
|
||||
; 164 : }
|
||||
; 213 : _aligned_free(ptr);
|
||||
; 214 : }
|
||||
|
||||
00018 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
0001c 5b pop rbx
|
||||
0001d 48 ff 25 00 00
|
||||
00 00 rex_jmp QWORD PTR __imp_free
|
||||
00 00 rex_jmp QWORD PTR __imp__aligned_free
|
||||
deinitM128 ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT set_m128ptr_default
|
||||
_TEXT SEGMENT
|
||||
set_m128ptr_default PROC ; COMDAT
|
||||
|
||||
; 199 : {
|
||||
|
||||
$LN4:
|
||||
00000 48 83 ec 28 sub rsp, 40 ; 00000028H
|
||||
00004 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
||||
0000b e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00010 48 8b 05 00 00
|
||||
00 00 mov rax, QWORD PTR defaultVecPtr
|
||||
|
||||
; 200 : return defaultVecPtr;
|
||||
; 201 : }
|
||||
|
||||
00017 48 83 c4 28 add rsp, 40 ; 00000028H
|
||||
0001b c3 ret 0
|
||||
set_m128ptr_default ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT sqrtss_const
|
||||
_TEXT SEGMENT
|
||||
a$ = 64
|
||||
sqrtss_const PROC ; COMDAT
|
||||
|
||||
; 147 : {
|
||||
; 169 : {
|
||||
|
||||
$LN4:
|
||||
00000 48 83 ec 38 sub rsp, 56 ; 00000038H
|
||||
@@ -238,11 +385,10 @@ $LN4:
|
||||
00021 0f 28 74 24 20 movaps xmm6, XMMWORD PTR [rsp+32]
|
||||
00026 f3 0f 51 c0 sqrtss xmm0, xmm0
|
||||
|
||||
; 148 : __m128 ret = _mm_sqrt_ss(*(__m128*) & a);
|
||||
; 149 :
|
||||
; 150 : return ret.m128_f32[0];
|
||||
; 151 :
|
||||
; 152 : }
|
||||
; 170 : __m128 ret = _mm_sqrt_ss(*(__m128*) & a);
|
||||
; 171 :
|
||||
; 172 : return ret.m128_f32[0];
|
||||
; 173 : }
|
||||
|
||||
0002a 48 83 c4 38 add rsp, 56 ; 00000038H
|
||||
0002e c3 ret 0
|
||||
@@ -256,7 +402,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
divps PROC ; COMDAT
|
||||
|
||||
; 132 : {
|
||||
; 154 : {
|
||||
|
||||
$LN7:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -274,23 +420,23 @@ $LN7:
|
||||
00029 48 85 c0 test rax, rax
|
||||
0002c 74 14 je SHORT $LN2@divps
|
||||
|
||||
; 133 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 134 :
|
||||
; 135 : if (NULL != ret)
|
||||
; 136 : {
|
||||
; 137 : *ret = _mm_div_ps(*ptr1, *ptr2);
|
||||
; 155 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 156 :
|
||||
; 157 : if (NULL != ret)
|
||||
; 158 : {
|
||||
; 159 : *ret = _mm_div_ps(*ptr1, *ptr2);
|
||||
|
||||
0002e 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
|
||||
00031 0f 5e 03 divps xmm0, XMMWORD PTR [rbx]
|
||||
00034 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 138 : return ret;
|
||||
; 139 : }
|
||||
; 140 : else
|
||||
; 141 : {
|
||||
; 142 : return -1;
|
||||
; 143 : }
|
||||
; 144 : }
|
||||
; 160 : return ret;
|
||||
; 161 : }
|
||||
; 162 : else
|
||||
; 163 : {
|
||||
; 164 : return -1;
|
||||
; 165 : }
|
||||
; 166 : }
|
||||
|
||||
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
@@ -314,7 +460,7 @@ ptr$ = 80
|
||||
value$ = 88
|
||||
divps_const PROC ; COMDAT
|
||||
|
||||
; 113 : {
|
||||
; 135 : {
|
||||
|
||||
$LN7:
|
||||
00000 40 53 push rbx
|
||||
@@ -334,28 +480,28 @@ $LN7:
|
||||
00033 48 85 c0 test rax, rax
|
||||
00036 74 17 je SHORT $LN2@divps_cons
|
||||
|
||||
; 114 :
|
||||
; 115 : float c[4] = { value, value, value, value };
|
||||
; 116 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 117 :
|
||||
; 118 : __m128 valueVec = _mm_loadu_ps(&c);
|
||||
; 119 :
|
||||
; 120 : if (NULL != ret)
|
||||
; 121 : {
|
||||
; 122 : *ret = _mm_div_ps(*ptr, valueVec);
|
||||
; 136 :
|
||||
; 137 : float c[4] = { value, value, value, value };
|
||||
; 138 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 139 :
|
||||
; 140 : __m128 valueVec = _mm_loadu_ps(&c);
|
||||
; 141 :
|
||||
; 142 : if (NULL != ret)
|
||||
; 143 : {
|
||||
; 144 : *ret = _mm_div_ps(*ptr, valueVec);
|
||||
|
||||
00038 0f 10 0b movups xmm1, XMMWORD PTR [rbx]
|
||||
0003b 0f 10 c6 movups xmm0, xmm6
|
||||
0003e 0f 5e ce divps xmm1, xmm6
|
||||
00041 0f 11 08 movups XMMWORD PTR [rax], xmm1
|
||||
|
||||
; 123 : return ret;
|
||||
; 124 : }
|
||||
; 125 : else
|
||||
; 126 : {
|
||||
; 127 : return -1;
|
||||
; 128 : }
|
||||
; 129 : }
|
||||
; 145 : return ret;
|
||||
; 146 : }
|
||||
; 147 : else
|
||||
; 148 : {
|
||||
; 149 : return -1;
|
||||
; 150 : }
|
||||
; 151 : }
|
||||
|
||||
00044 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
|
||||
00049 48 83 c4 40 add rsp, 64 ; 00000040H
|
||||
@@ -378,7 +524,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
mulps_sum PROC ; COMDAT
|
||||
|
||||
; 105 : {
|
||||
; 114 : {
|
||||
|
||||
$LN4:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -395,11 +541,11 @@ $LN4:
|
||||
00027 f2 0f 7c c0 haddps xmm0, xmm0
|
||||
0002b f2 0f 7c c0 haddps xmm0, xmm0
|
||||
|
||||
; 106 : __m128 ret = _mm_mul_ps(*ptr1,*ptr2);
|
||||
; 107 : ret = _mm_hadd_ps(ret,ret);
|
||||
; 108 : ret = _mm_hadd_ps(ret,ret);
|
||||
; 109 : return *(float*)&ret;
|
||||
; 110 : }
|
||||
; 115 : __m128 ret = _mm_mul_ps(*ptr1,*ptr2);
|
||||
; 116 : ret = _mm_hadd_ps(ret,ret);
|
||||
; 117 : ret = _mm_hadd_ps(ret,ret);
|
||||
; 118 : return *(float*)&ret;
|
||||
; 119 : }
|
||||
|
||||
0002f 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
00033 5f pop rdi
|
||||
@@ -414,7 +560,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
mulps PROC ; COMDAT
|
||||
|
||||
; 90 : {
|
||||
; 99 : {
|
||||
|
||||
$LN7:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -432,23 +578,23 @@ $LN7:
|
||||
00029 48 85 c0 test rax, rax
|
||||
0002c 74 14 je SHORT $LN2@mulps
|
||||
|
||||
; 91 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 92 :
|
||||
; 93 : if (NULL != ret)
|
||||
; 94 : {
|
||||
; 95 : *ret = _mm_mul_ps(*ptr1, *ptr2);
|
||||
; 100 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 101 :
|
||||
; 102 : if (NULL != ret)
|
||||
; 103 : {
|
||||
; 104 : *ret = _mm_mul_ps(*ptr1, *ptr2);
|
||||
|
||||
0002e 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
|
||||
00031 0f 59 03 mulps xmm0, XMMWORD PTR [rbx]
|
||||
00034 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 96 : return ret;
|
||||
; 97 : }
|
||||
; 98 : else
|
||||
; 99 : {
|
||||
; 100 : return -1;
|
||||
; 101 : }
|
||||
; 102 : }
|
||||
; 105 : return ret;
|
||||
; 106 : }
|
||||
; 107 : else
|
||||
; 108 : {
|
||||
; 109 : return -1;
|
||||
; 110 : }
|
||||
; 111 : }
|
||||
|
||||
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
@@ -472,7 +618,7 @@ ptr$ = 80
|
||||
value$ = 88
|
||||
mulps_const PROC ; COMDAT
|
||||
|
||||
; 72 : {
|
||||
; 81 : {
|
||||
|
||||
$LN7:
|
||||
00000 40 53 push rbx
|
||||
@@ -492,26 +638,26 @@ $LN7:
|
||||
00033 48 85 c0 test rax, rax
|
||||
00036 74 14 je SHORT $LN2@mulps_cons
|
||||
|
||||
; 73 : float c[4] = { value, value, value, value };
|
||||
; 74 : __m128* ret = _aligned_malloc(sizeof(__m128),16);
|
||||
; 75 :
|
||||
; 76 : __m128 valueVec = _mm_loadu_ps(&c);
|
||||
; 77 :
|
||||
; 78 : if (NULL != ret)
|
||||
; 79 : {
|
||||
; 80 : *ret = _mm_mul_ps(*ptr,valueVec);
|
||||
; 82 : float c[4] = { value, value, value, value };
|
||||
; 83 : __m128* ret = _aligned_malloc(sizeof(__m128),16);
|
||||
; 84 :
|
||||
; 85 : __m128 valueVec = _mm_loadu_ps(&c);
|
||||
; 86 :
|
||||
; 87 : if (NULL != ret)
|
||||
; 88 : {
|
||||
; 89 : *ret = _mm_mul_ps(*ptr,valueVec);
|
||||
|
||||
00038 0f 10 c6 movups xmm0, xmm6
|
||||
0003b 0f 59 03 mulps xmm0, XMMWORD PTR [rbx]
|
||||
0003e 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 81 : return ret;
|
||||
; 82 : }
|
||||
; 83 : else
|
||||
; 84 : {
|
||||
; 85 : return -1;
|
||||
; 86 : }
|
||||
; 87 : }
|
||||
; 90 : return ret;
|
||||
; 91 : }
|
||||
; 92 : else
|
||||
; 93 : {
|
||||
; 94 : return -1;
|
||||
; 95 : }
|
||||
; 96 : }
|
||||
|
||||
00041 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
|
||||
00046 48 83 c4 40 add rsp, 64 ; 00000040H
|
||||
@@ -534,7 +680,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
subps PROC ; COMDAT
|
||||
|
||||
; 57 : {
|
||||
; 66 : {
|
||||
|
||||
$LN7:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -552,23 +698,23 @@ $LN7:
|
||||
0002a 48 85 c0 test rax, rax
|
||||
0002d 74 14 je SHORT $LN2@subps
|
||||
|
||||
; 58 : __m128* ret = _aligned_malloc(sizeof(__m128*), 16);
|
||||
; 59 :
|
||||
; 60 : if (NULL != ret)
|
||||
; 61 : {
|
||||
; 62 : *ret = _mm_sub_ps(*ptr1, *ptr2);
|
||||
; 67 : __m128* ret = _aligned_malloc(sizeof(__m128*), 16);
|
||||
; 68 :
|
||||
; 69 : if (NULL != ret)
|
||||
; 70 : {
|
||||
; 71 : *ret = _mm_sub_ps(*ptr1, *ptr2);
|
||||
|
||||
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
|
||||
00032 0f 5c 03 subps xmm0, XMMWORD PTR [rbx]
|
||||
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 63 : return ret;
|
||||
; 64 : }
|
||||
; 65 : else
|
||||
; 66 : {
|
||||
; 67 : return -1;
|
||||
; 68 : }
|
||||
; 69 : }
|
||||
; 72 : return ret;
|
||||
; 73 : }
|
||||
; 74 : else
|
||||
; 75 : {
|
||||
; 76 : return -1;
|
||||
; 77 : }
|
||||
; 78 : }
|
||||
|
||||
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
@@ -591,7 +737,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
addps PROC ; COMDAT
|
||||
|
||||
; 40 : {
|
||||
; 49 : {
|
||||
|
||||
$LN7:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -609,25 +755,25 @@ $LN7:
|
||||
0002a 48 85 c0 test rax, rax
|
||||
0002d 74 14 je SHORT $LN2@addps
|
||||
|
||||
; 41 :
|
||||
; 42 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
|
||||
; 43 :
|
||||
; 44 : if (NULL != ret)
|
||||
; 45 : {
|
||||
; 46 : *ret = _mm_add_ps(*ptr1, *ptr2);
|
||||
; 50 :
|
||||
; 51 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
|
||||
; 52 :
|
||||
; 53 : if (NULL != ret)
|
||||
; 54 : {
|
||||
; 55 : *ret = _mm_add_ps(*ptr1, *ptr2);
|
||||
|
||||
0002f 0f 10 07 movups xmm0, XMMWORD PTR [rdi]
|
||||
00032 0f 58 03 addps xmm0, XMMWORD PTR [rbx]
|
||||
00035 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 47 : return ret;
|
||||
; 48 : }
|
||||
; 49 : else
|
||||
; 50 : {
|
||||
; 51 : return -1;
|
||||
; 52 : }
|
||||
; 53 :
|
||||
; 54 : }
|
||||
; 56 : return ret;
|
||||
; 57 : }
|
||||
; 58 : else
|
||||
; 59 : {
|
||||
; 60 : return (__m128*) - 1;
|
||||
; 61 : }
|
||||
; 62 :
|
||||
; 63 : }
|
||||
|
||||
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
@@ -649,7 +795,7 @@ _TEXT SEGMENT
|
||||
ptr$ = 48
|
||||
load_cpy PROC ; COMDAT
|
||||
|
||||
; 28 : {
|
||||
; 37 : {
|
||||
|
||||
$LN7:
|
||||
00000 40 53 push rbx
|
||||
@@ -665,20 +811,20 @@ $LN7:
|
||||
00023 48 85 c0 test rax, rax
|
||||
00026 74 06 je SHORT $LN4@load_cpy
|
||||
|
||||
; 29 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
|
||||
; 30 :
|
||||
; 31 : if (NULL != ret)
|
||||
; 32 : {
|
||||
; 33 : *ret = *ptr;
|
||||
; 38 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
|
||||
; 39 :
|
||||
; 40 : if (NULL != ret)
|
||||
; 41 : {
|
||||
; 42 : *ret = *ptr;
|
||||
|
||||
00028 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
|
||||
0002b 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
$LN4@load_cpy:
|
||||
|
||||
; 34 : }
|
||||
; 35 :
|
||||
; 36 : return ret;
|
||||
; 37 : }
|
||||
; 43 : }
|
||||
; 44 :
|
||||
; 45 : return ret;
|
||||
; 46 : }
|
||||
|
||||
0002e 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
00032 5b pop rbx
|
||||
@@ -696,7 +842,7 @@ z$ = 144
|
||||
w$ = 152
|
||||
load PROC ; COMDAT
|
||||
|
||||
; 12 : {
|
||||
; 21 : {
|
||||
|
||||
$LN7:
|
||||
00000 48 83 ec 78 sub rsp, 120 ; 00000078H
|
||||
@@ -728,32 +874,32 @@ $LN7:
|
||||
0005b 48 85 c0 test rax, rax
|
||||
0005e 74 0a je SHORT $LN2@load
|
||||
|
||||
; 13 : float array[4] = {x,y,z,w};
|
||||
; 14 : __m128* ptr = _aligned_malloc(sizeof(__m128),16);
|
||||
; 15 :
|
||||
; 16 : if (NULL != ptr)
|
||||
; 17 : {
|
||||
; 18 : *ptr = _mm_loadu_ps(&array);
|
||||
; 22 : float array[4] = {x,y,z,w};
|
||||
; 23 : __m128* ptr = _aligned_malloc(sizeof(__m128),16);
|
||||
; 24 :
|
||||
; 25 : if (NULL != ptr)
|
||||
; 26 : {
|
||||
; 27 : *ptr = _mm_loadu_ps(&array);
|
||||
|
||||
00060 0f 10 44 24 20 movups xmm0, XMMWORD PTR array$[rsp]
|
||||
00065 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
||||
|
||||
; 19 : return ptr;
|
||||
; 28 : return ptr;
|
||||
|
||||
00068 eb 07 jmp SHORT $LN3@load
|
||||
$LN2@load:
|
||||
|
||||
; 20 : }
|
||||
; 21 : else
|
||||
; 22 : {
|
||||
; 23 : return -1;
|
||||
; 29 : }
|
||||
; 30 : else
|
||||
; 31 : {
|
||||
; 32 : return -1;
|
||||
|
||||
0006a 48 c7 c0 ff ff
|
||||
ff ff mov rax, -1
|
||||
$LN3@load:
|
||||
|
||||
; 24 : }
|
||||
; 25 : }
|
||||
; 33 : }
|
||||
; 34 : }
|
||||
|
||||
00071 0f 28 74 24 60 movaps xmm6, XMMWORD PTR [rsp+96]
|
||||
00076 0f 28 7c 24 50 movaps xmm7, XMMWORD PTR [rsp+80]
|
||||
@@ -765,4 +911,51 @@ $LN3@load:
|
||||
0008b c3 ret 0
|
||||
load ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT mulps_total_internal
|
||||
_TEXT SEGMENT
|
||||
vec$ = 8
|
||||
mulps_total_internal PROC ; COMDAT
|
||||
00000 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
||||
00007 e9 00 00 00 00 jmp __CheckForDebuggerJustMyCode
|
||||
mulps_total_internal ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT mulps_sum_internal
|
||||
_TEXT SEGMENT
|
||||
left$ = 48
|
||||
right$ = 56
|
||||
mulps_sum_internal PROC ; COMDAT
|
||||
|
||||
; 122 : {
|
||||
|
||||
$LN4:
|
||||
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 d9 mov rbx, rcx
|
||||
0000d 48 8b fa mov rdi, rdx
|
||||
00010 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
||||
00017 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
0001c 0f 10 03 movups xmm0, XMMWORD PTR [rbx]
|
||||
0001f 0f 59 07 mulps xmm0, XMMWORD PTR [rdi]
|
||||
00022 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
00027 f2 0f 7c c0 haddps xmm0, xmm0
|
||||
0002b f2 0f 7c c0 haddps xmm0, xmm0
|
||||
|
||||
; 123 : __m128 ret = _mm_mul_ps(left, right);
|
||||
; 124 : ret = _mm_hadd_ps(ret, ret);
|
||||
; 125 : ret = _mm_hadd_ps(ret, ret);
|
||||
; 126 : return *(float*)&ret;
|
||||
; 127 : }
|
||||
|
||||
0002f 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
00033 5f pop rdi
|
||||
00034 c3 ret 0
|
||||
mulps_sum_internal ENDP
|
||||
_TEXT ENDS
|
||||
END
|
||||
|
||||
Reference in New Issue
Block a user