Daily update on 20230806 by nitload youmu
This commit is contained in:
@@ -20,6 +20,7 @@ SSGC_API int initGLAD(void);
|
||||
|
||||
|
||||
SSGC_API __m128* __cdecl load(float x, float y, float z, float w);
|
||||
SSGC_API __m128* __cdecl load_cpy(__m128* ptr);
|
||||
SSGC_API __m128* __cdecl addps(__m128* ptr1, __m128* ptr2);
|
||||
SSGC_API __m128* __cdecl subps(__m128* ptr1, __m128* ptr2);
|
||||
SSGC_API __m128* __cdecl mulps_const(__m128* ptr, float value);
|
||||
|
||||
@@ -24,6 +24,18 @@ SSGC_API __m128* __cdecl load(float x, float y, float z, float w)
|
||||
}
|
||||
}
|
||||
|
||||
SSGC_API __m128* __cdecl load_cpy(__m128* ptr)
|
||||
{
|
||||
__m128* ret = _aligned_malloc(sizeof(__m128*),16);
|
||||
|
||||
if (NULL != ret)
|
||||
{
|
||||
*ret = *ptr;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
SSGC_API __m128* __cdecl addps(__m128* ptr1, __m128* ptr2)
|
||||
{
|
||||
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -35,6 +35,7 @@ __AD80FFF0_pmmintrin@h DB 01H
|
||||
__B5461FF6_linear@c DB 01H
|
||||
msvcjmc ENDS
|
||||
PUBLIC load
|
||||
PUBLIC load_cpy
|
||||
PUBLIC addps
|
||||
PUBLIC subps
|
||||
PUBLIC mulps_const
|
||||
@@ -56,6 +57,12 @@ $pdata$load DD imagerel $LN6
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$load_cpy DD imagerel $LN6
|
||||
DD imagerel $LN6+52
|
||||
DD imagerel $unwind$load_cpy
|
||||
pdata ENDS
|
||||
; COMDAT pdata
|
||||
pdata SEGMENT
|
||||
$pdata$addps DD imagerel $LN6
|
||||
DD imagerel $LN6+85
|
||||
DD imagerel $unwind$addps
|
||||
@@ -151,6 +158,11 @@ $unwind$addps DD 040a01H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$load_cpy DD 020601H
|
||||
DD 030023206H
|
||||
xdata ENDS
|
||||
; COMDAT xdata
|
||||
xdata SEGMENT
|
||||
$unwind$load DD 092701H
|
||||
DD 039827H
|
||||
DD 04881eH
|
||||
@@ -172,7 +184,7 @@ _TEXT SEGMENT
|
||||
ptr$ = 48
|
||||
deinitM128 PROC ; COMDAT
|
||||
|
||||
; 142 : {
|
||||
; 154 : {
|
||||
|
||||
$LN4:
|
||||
00000 40 53 push rbx
|
||||
@@ -183,8 +195,8 @@ $LN4:
|
||||
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00015 48 8b cb mov rcx, rbx
|
||||
|
||||
; 143 : free(ptr);
|
||||
; 144 : }
|
||||
; 155 : free(ptr);
|
||||
; 156 : }
|
||||
|
||||
00018 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
0001c 5b pop rbx
|
||||
@@ -200,7 +212,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
divps PROC ; COMDAT
|
||||
|
||||
; 120 : {
|
||||
; 132 : {
|
||||
|
||||
$LN6:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -218,23 +230,23 @@ $LN6:
|
||||
00029 48 85 c0 test rax, rax
|
||||
0002c 74 14 je SHORT $LN2@divps
|
||||
|
||||
; 121 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 122 :
|
||||
; 123 : if (NULL != ret)
|
||||
; 124 : {
|
||||
; 125 : *ret = _mm_div_ps(*ptr1, *ptr2);
|
||||
; 133 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 134 :
|
||||
; 135 : if (NULL != ret)
|
||||
; 136 : {
|
||||
; 137 : *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
|
||||
|
||||
; 126 : return ret;
|
||||
; 127 : }
|
||||
; 128 : else
|
||||
; 129 : {
|
||||
; 130 : return -1;
|
||||
; 131 : }
|
||||
; 132 : }
|
||||
; 138 : return ret;
|
||||
; 139 : }
|
||||
; 140 : else
|
||||
; 141 : {
|
||||
; 142 : return -1;
|
||||
; 143 : }
|
||||
; 144 : }
|
||||
|
||||
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
@@ -258,7 +270,7 @@ ptr$ = 80
|
||||
value$ = 88
|
||||
divps_const PROC ; COMDAT
|
||||
|
||||
; 101 : {
|
||||
; 113 : {
|
||||
|
||||
$LN6:
|
||||
00000 40 53 push rbx
|
||||
@@ -278,28 +290,28 @@ $LN6:
|
||||
00033 48 85 c0 test rax, rax
|
||||
00036 74 17 je SHORT $LN2@divps_cons
|
||||
|
||||
; 102 :
|
||||
; 103 : float c[4] = { value, value, value, value };
|
||||
; 104 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 105 :
|
||||
; 106 : __m128 valueVec = _mm_loadu_ps(&c);
|
||||
; 107 :
|
||||
; 108 : if (NULL != ret)
|
||||
; 109 : {
|
||||
; 110 : *ret = _mm_div_ps(*ptr, valueVec);
|
||||
; 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);
|
||||
|
||||
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
|
||||
|
||||
; 111 : return ret;
|
||||
; 112 : }
|
||||
; 113 : else
|
||||
; 114 : {
|
||||
; 115 : return -1;
|
||||
; 116 : }
|
||||
; 117 : }
|
||||
; 123 : return ret;
|
||||
; 124 : }
|
||||
; 125 : else
|
||||
; 126 : {
|
||||
; 127 : return -1;
|
||||
; 128 : }
|
||||
; 129 : }
|
||||
|
||||
00044 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
|
||||
00049 48 83 c4 40 add rsp, 64 ; 00000040H
|
||||
@@ -322,7 +334,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
mulps_sum PROC ; COMDAT
|
||||
|
||||
; 93 : {
|
||||
; 105 : {
|
||||
|
||||
$LN4:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -339,11 +351,11 @@ $LN4:
|
||||
00027 f2 0f 7c c0 haddps xmm0, xmm0
|
||||
0002b f2 0f 7c c0 haddps xmm0, xmm0
|
||||
|
||||
; 94 : __m128 ret = _mm_mul_ps(*ptr1,*ptr2);
|
||||
; 95 : ret = _mm_hadd_ps(ret,ret);
|
||||
; 96 : ret = _mm_hadd_ps(ret,ret);
|
||||
; 97 : return *(float*)&ret;
|
||||
; 98 : }
|
||||
; 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 : }
|
||||
|
||||
0002f 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
00033 5f pop rdi
|
||||
@@ -358,7 +370,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
mulps PROC ; COMDAT
|
||||
|
||||
; 78 : {
|
||||
; 90 : {
|
||||
|
||||
$LN6:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -376,23 +388,23 @@ $LN6:
|
||||
00029 48 85 c0 test rax, rax
|
||||
0002c 74 14 je SHORT $LN2@mulps
|
||||
|
||||
; 79 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 80 :
|
||||
; 81 : if (NULL != ret)
|
||||
; 82 : {
|
||||
; 83 : *ret = _mm_mul_ps(*ptr1, *ptr2);
|
||||
; 91 : __m128* ret = _aligned_malloc(sizeof(__m128), 16);
|
||||
; 92 :
|
||||
; 93 : if (NULL != ret)
|
||||
; 94 : {
|
||||
; 95 : *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
|
||||
|
||||
; 84 : return ret;
|
||||
; 85 : }
|
||||
; 86 : else
|
||||
; 87 : {
|
||||
; 88 : return -1;
|
||||
; 89 : }
|
||||
; 90 : }
|
||||
; 96 : return ret;
|
||||
; 97 : }
|
||||
; 98 : else
|
||||
; 99 : {
|
||||
; 100 : return -1;
|
||||
; 101 : }
|
||||
; 102 : }
|
||||
|
||||
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
@@ -416,7 +428,7 @@ ptr$ = 80
|
||||
value$ = 88
|
||||
mulps_const PROC ; COMDAT
|
||||
|
||||
; 60 : {
|
||||
; 72 : {
|
||||
|
||||
$LN6:
|
||||
00000 40 53 push rbx
|
||||
@@ -436,26 +448,26 @@ $LN6:
|
||||
00033 48 85 c0 test rax, rax
|
||||
00036 74 14 je SHORT $LN2@mulps_cons
|
||||
|
||||
; 61 : float c[4] = { value, value, value, value };
|
||||
; 62 : __m128* ret = _aligned_malloc(sizeof(__m128),16);
|
||||
; 63 :
|
||||
; 64 : __m128 valueVec = _mm_loadu_ps(&c);
|
||||
; 65 :
|
||||
; 66 : if (NULL != ret)
|
||||
; 67 : {
|
||||
; 68 : *ret = _mm_mul_ps(*ptr,valueVec);
|
||||
; 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);
|
||||
|
||||
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
|
||||
|
||||
; 69 : return ret;
|
||||
; 70 : }
|
||||
; 71 : else
|
||||
; 72 : {
|
||||
; 73 : return -1;
|
||||
; 74 : }
|
||||
; 75 : }
|
||||
; 81 : return ret;
|
||||
; 82 : }
|
||||
; 83 : else
|
||||
; 84 : {
|
||||
; 85 : return -1;
|
||||
; 86 : }
|
||||
; 87 : }
|
||||
|
||||
00041 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
|
||||
00046 48 83 c4 40 add rsp, 64 ; 00000040H
|
||||
@@ -478,7 +490,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
subps PROC ; COMDAT
|
||||
|
||||
; 45 : {
|
||||
; 57 : {
|
||||
|
||||
$LN6:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -496,23 +508,23 @@ $LN6:
|
||||
0002a 48 85 c0 test rax, rax
|
||||
0002d 74 14 je SHORT $LN2@subps
|
||||
|
||||
; 46 : __m128* ret = _aligned_malloc(sizeof(__m128*), 16);
|
||||
; 47 :
|
||||
; 48 : if (NULL != ret)
|
||||
; 49 : {
|
||||
; 50 : *ret = _mm_sub_ps(*ptr1, *ptr2);
|
||||
; 58 : __m128* ret = _aligned_malloc(sizeof(__m128*), 16);
|
||||
; 59 :
|
||||
; 60 : if (NULL != ret)
|
||||
; 61 : {
|
||||
; 62 : *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
|
||||
|
||||
; 51 : return ret;
|
||||
; 52 : }
|
||||
; 53 : else
|
||||
; 54 : {
|
||||
; 55 : return -1;
|
||||
; 56 : }
|
||||
; 57 : }
|
||||
; 63 : return ret;
|
||||
; 64 : }
|
||||
; 65 : else
|
||||
; 66 : {
|
||||
; 67 : return -1;
|
||||
; 68 : }
|
||||
; 69 : }
|
||||
|
||||
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
@@ -535,7 +547,7 @@ ptr1$ = 48
|
||||
ptr2$ = 56
|
||||
addps PROC ; COMDAT
|
||||
|
||||
; 28 : {
|
||||
; 40 : {
|
||||
|
||||
$LN6:
|
||||
00000 48 89 5c 24 08 mov QWORD PTR [rsp+8], rbx
|
||||
@@ -553,25 +565,25 @@ $LN6:
|
||||
0002a 48 85 c0 test rax, rax
|
||||
0002d 74 14 je SHORT $LN2@addps
|
||||
|
||||
; 29 :
|
||||
; 30 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
|
||||
; 31 :
|
||||
; 32 : if (NULL != ret)
|
||||
; 33 : {
|
||||
; 34 : *ret = _mm_add_ps(*ptr1, *ptr2);
|
||||
; 41 :
|
||||
; 42 : __m128* ret = _aligned_malloc(sizeof(__m128*),16);
|
||||
; 43 :
|
||||
; 44 : if (NULL != ret)
|
||||
; 45 : {
|
||||
; 46 : *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
|
||||
|
||||
; 35 : return ret;
|
||||
; 36 : }
|
||||
; 37 : else
|
||||
; 38 : {
|
||||
; 39 : return -1;
|
||||
; 40 : }
|
||||
; 41 :
|
||||
; 42 : }
|
||||
; 47 : return ret;
|
||||
; 48 : }
|
||||
; 49 : else
|
||||
; 50 : {
|
||||
; 51 : return -1;
|
||||
; 52 : }
|
||||
; 53 :
|
||||
; 54 : }
|
||||
|
||||
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
||||
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
@@ -588,6 +600,49 @@ addps ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT load_cpy
|
||||
_TEXT SEGMENT
|
||||
ptr$ = 48
|
||||
load_cpy PROC ; COMDAT
|
||||
|
||||
; 28 : {
|
||||
|
||||
$LN6:
|
||||
00000 40 53 push rbx
|
||||
00002 48 83 ec 20 sub rsp, 32 ; 00000020H
|
||||
00006 48 8b d9 mov rbx, rcx
|
||||
00009 48 8d 0d 00 00
|
||||
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
||||
00010 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
||||
00015 ba 10 00 00 00 mov edx, 16
|
||||
0001a 8d 4a f8 lea ecx, QWORD PTR [rdx-8]
|
||||
0001d ff 15 00 00 00
|
||||
00 call QWORD PTR __imp__aligned_malloc
|
||||
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;
|
||||
|
||||
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 : }
|
||||
|
||||
0002e 48 83 c4 20 add rsp, 32 ; 00000020H
|
||||
00032 5b pop rbx
|
||||
00033 c3 ret 0
|
||||
load_cpy ENDP
|
||||
_TEXT ENDS
|
||||
; Function compile flags: /Ogtpy
|
||||
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
||||
; COMDAT load
|
||||
_TEXT SEGMENT
|
||||
array$ = 32
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user