769 lines
19 KiB
Plaintext
769 lines
19 KiB
Plaintext
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.36.32537.0
|
|
|
|
include listing.inc
|
|
|
|
INCLUDELIB MSVCRT
|
|
INCLUDELIB OLDNAMES
|
|
|
|
_DATA SEGMENT
|
|
COMM sseFunc:BYTE:018H
|
|
COMM pack:BYTE:038H
|
|
_DATA ENDS
|
|
msvcjmc SEGMENT
|
|
__0998321F_concurrencysal@h DB 01H
|
|
__E9680BEC_sal@h DB 01H
|
|
__75F3BDA1_vadefs@h DB 01H
|
|
__FF647DA5_vcruntime@h DB 01H
|
|
__0DFED3C7_stdint@h DB 01H
|
|
__018B5678_khrplatform@h DB 01H
|
|
__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
|
|
__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 load
|
|
PUBLIC load_cpy
|
|
PUBLIC addps
|
|
PUBLIC subps
|
|
PUBLIC mulps_const
|
|
PUBLIC mulps
|
|
PUBLIC mulps_sum
|
|
PUBLIC divps_const
|
|
PUBLIC divps
|
|
PUBLIC sqrtss_const
|
|
PUBLIC deinitM128
|
|
PUBLIC __JustMyCode_Default
|
|
EXTRN __imp_free:PROC
|
|
EXTRN __imp__aligned_malloc:PROC
|
|
EXTRN __CheckForDebuggerJustMyCode:PROC
|
|
EXTRN _fltused:DWORD
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$load DD imagerel $LN7
|
|
DD imagerel $LN7+140
|
|
DD imagerel $unwind$load
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$load_cpy DD imagerel $LN7
|
|
DD imagerel $LN7+52
|
|
DD imagerel $unwind$load_cpy
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$addps DD imagerel $LN7
|
|
DD imagerel $LN7+85
|
|
DD imagerel $unwind$addps
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$subps DD imagerel $LN7
|
|
DD imagerel $LN7+85
|
|
DD imagerel $unwind$subps
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$mulps_const DD imagerel $LN7
|
|
DD imagerel $LN7+94
|
|
DD imagerel $unwind$mulps_const
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$mulps DD imagerel $LN7
|
|
DD imagerel $LN7+84
|
|
DD imagerel $unwind$mulps
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$mulps_sum DD imagerel $LN4
|
|
DD imagerel $LN4+53
|
|
DD imagerel $unwind$mulps_sum
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$divps_const DD imagerel $LN7
|
|
DD imagerel $LN7+97
|
|
DD imagerel $unwind$divps_const
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$divps DD imagerel $LN7
|
|
DD imagerel $LN7+84
|
|
DD imagerel $unwind$divps
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$sqrtss_const DD imagerel $LN4
|
|
DD imagerel $LN4+47
|
|
DD imagerel $unwind$sqrtss_const
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$deinitM128 DD imagerel $LN4
|
|
DD imagerel $LN4+36
|
|
DD imagerel $unwind$deinitM128
|
|
pdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$deinitM128 DD 020601H
|
|
DD 030023206H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$sqrtss_const DD 030901H
|
|
DD 026809H
|
|
DD 06204H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$divps DD 040a01H
|
|
DD 06340aH
|
|
DD 07006320aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$divps_const DD 040b01H
|
|
DD 03680bH
|
|
DD 030027206H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$mulps_sum DD 040a01H
|
|
DD 06340aH
|
|
DD 07006320aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$mulps DD 040a01H
|
|
DD 06340aH
|
|
DD 07006320aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$mulps_const DD 040b01H
|
|
DD 03680bH
|
|
DD 030027206H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$subps DD 040a01H
|
|
DD 06340aH
|
|
DD 07006320aH
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$addps DD 040a01H
|
|
DD 06340aH
|
|
DD 07006320aH
|
|
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
|
|
DD 057815H
|
|
DD 066809H
|
|
DD 0e204H
|
|
xdata ENDS
|
|
; Function compile flags: /Odt
|
|
; COMDAT __JustMyCode_Default
|
|
_TEXT SEGMENT
|
|
__JustMyCode_Default PROC ; COMDAT
|
|
00000 c2 00 00 ret 0
|
|
__JustMyCode_Default 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 : {
|
|
|
|
$LN4:
|
|
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 48 8b cb mov rcx, rbx
|
|
|
|
; 163 : free(ptr);
|
|
; 164 : }
|
|
|
|
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
|
|
deinitM128 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 : {
|
|
|
|
$LN4:
|
|
00000 48 83 ec 38 sub rsp, 56 ; 00000038H
|
|
00004 0f 29 74 24 20 movaps XMMWORD PTR [rsp+32], xmm6
|
|
00009 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
|
00010 0f 28 f0 movaps xmm6, xmm0
|
|
00013 e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00018 0f 10 44 24 40 movups xmm0, XMMWORD PTR a$[rsp]
|
|
0001d f3 0f 10 c6 movss xmm0, xmm6
|
|
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 : }
|
|
|
|
0002a 48 83 c4 38 add rsp, 56 ; 00000038H
|
|
0002e c3 ret 0
|
|
sqrtss_const ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Ogtpy
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
|
; COMDAT divps
|
|
_TEXT SEGMENT
|
|
ptr1$ = 48
|
|
ptr2$ = 56
|
|
divps PROC ; COMDAT
|
|
|
|
; 132 : {
|
|
|
|
$LN7:
|
|
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 f9 mov rdi, rcx
|
|
0000d 48 8b da mov rbx, 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 ba 10 00 00 00 mov edx, 16
|
|
00021 8b ca mov ecx, edx
|
|
00023 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__aligned_malloc
|
|
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);
|
|
|
|
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 : }
|
|
|
|
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
|
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
|
|
00040 5f pop rdi
|
|
00041 c3 ret 0
|
|
$LN2@divps:
|
|
00042 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
|
00047 48 c7 c0 ff ff
|
|
ff ff mov rax, -1
|
|
0004e 48 83 c4 20 add rsp, 32 ; 00000020H
|
|
00052 5f pop rdi
|
|
00053 c3 ret 0
|
|
divps ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Ogtpy
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
|
; COMDAT divps_const
|
|
_TEXT SEGMENT
|
|
c$ = 32
|
|
ptr$ = 80
|
|
value$ = 88
|
|
divps_const PROC ; COMDAT
|
|
|
|
; 113 : {
|
|
|
|
$LN7:
|
|
00000 40 53 push rbx
|
|
00002 48 83 ec 40 sub rsp, 64 ; 00000040H
|
|
00006 0f 29 74 24 30 movaps XMMWORD PTR [rsp+48], xmm6
|
|
0000b 48 8b d9 mov rbx, rcx
|
|
0000e 0f 28 f1 movaps xmm6, xmm1
|
|
00011 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
|
00018 0f c6 f6 00 shufps xmm6, xmm6, 0
|
|
0001c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00021 ba 10 00 00 00 mov edx, 16
|
|
00026 8b ca mov ecx, edx
|
|
00028 0f 11 74 24 20 movups XMMWORD PTR c$[rsp], xmm6
|
|
0002d ff 15 00 00 00
|
|
00 call QWORD PTR __imp__aligned_malloc
|
|
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);
|
|
|
|
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 : }
|
|
|
|
00044 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
|
|
00049 48 83 c4 40 add rsp, 64 ; 00000040H
|
|
0004d 5b pop rbx
|
|
0004e c3 ret 0
|
|
$LN2@divps_cons:
|
|
0004f 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
|
|
00054 48 c7 c0 ff ff
|
|
ff ff mov rax, -1
|
|
0005b 48 83 c4 40 add rsp, 64 ; 00000040H
|
|
0005f 5b pop rbx
|
|
00060 c3 ret 0
|
|
divps_const ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Ogtpy
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
|
; COMDAT mulps_sum
|
|
_TEXT SEGMENT
|
|
ptr1$ = 48
|
|
ptr2$ = 56
|
|
mulps_sum PROC ; COMDAT
|
|
|
|
; 105 : {
|
|
|
|
$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
|
|
|
|
; 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
|
|
00034 c3 ret 0
|
|
mulps_sum ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Ogtpy
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
|
; COMDAT mulps
|
|
_TEXT SEGMENT
|
|
ptr1$ = 48
|
|
ptr2$ = 56
|
|
mulps PROC ; COMDAT
|
|
|
|
; 90 : {
|
|
|
|
$LN7:
|
|
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 f9 mov rdi, rcx
|
|
0000d 48 8b da mov rbx, 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 ba 10 00 00 00 mov edx, 16
|
|
00021 8b ca mov ecx, edx
|
|
00023 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__aligned_malloc
|
|
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);
|
|
|
|
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 : }
|
|
|
|
00037 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
|
0003c 48 83 c4 20 add rsp, 32 ; 00000020H
|
|
00040 5f pop rdi
|
|
00041 c3 ret 0
|
|
$LN2@mulps:
|
|
00042 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
|
00047 48 c7 c0 ff ff
|
|
ff ff mov rax, -1
|
|
0004e 48 83 c4 20 add rsp, 32 ; 00000020H
|
|
00052 5f pop rdi
|
|
00053 c3 ret 0
|
|
mulps ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Ogtpy
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
|
; COMDAT mulps_const
|
|
_TEXT SEGMENT
|
|
c$ = 32
|
|
ptr$ = 80
|
|
value$ = 88
|
|
mulps_const PROC ; COMDAT
|
|
|
|
; 72 : {
|
|
|
|
$LN7:
|
|
00000 40 53 push rbx
|
|
00002 48 83 ec 40 sub rsp, 64 ; 00000040H
|
|
00006 0f 29 74 24 30 movaps XMMWORD PTR [rsp+48], xmm6
|
|
0000b 48 8b d9 mov rbx, rcx
|
|
0000e 0f 28 f1 movaps xmm6, xmm1
|
|
00011 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
|
00018 0f c6 f6 00 shufps xmm6, xmm6, 0
|
|
0001c e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00021 ba 10 00 00 00 mov edx, 16
|
|
00026 8b ca mov ecx, edx
|
|
00028 0f 11 74 24 20 movups XMMWORD PTR c$[rsp], xmm6
|
|
0002d ff 15 00 00 00
|
|
00 call QWORD PTR __imp__aligned_malloc
|
|
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);
|
|
|
|
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 : }
|
|
|
|
00041 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
|
|
00046 48 83 c4 40 add rsp, 64 ; 00000040H
|
|
0004a 5b pop rbx
|
|
0004b c3 ret 0
|
|
$LN2@mulps_cons:
|
|
0004c 0f 28 74 24 30 movaps xmm6, XMMWORD PTR [rsp+48]
|
|
00051 48 c7 c0 ff ff
|
|
ff ff mov rax, -1
|
|
00058 48 83 c4 40 add rsp, 64 ; 00000040H
|
|
0005c 5b pop rbx
|
|
0005d c3 ret 0
|
|
mulps_const ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Ogtpy
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
|
; COMDAT subps
|
|
_TEXT SEGMENT
|
|
ptr1$ = 48
|
|
ptr2$ = 56
|
|
subps PROC ; COMDAT
|
|
|
|
; 57 : {
|
|
|
|
$LN7:
|
|
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 f9 mov rdi, rcx
|
|
0000d 48 8b da mov rbx, 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 ba 10 00 00 00 mov edx, 16
|
|
00021 8d 4a f8 lea ecx, QWORD PTR [rdx-8]
|
|
00024 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__aligned_malloc
|
|
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);
|
|
|
|
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 : }
|
|
|
|
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
|
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
|
|
00041 5f pop rdi
|
|
00042 c3 ret 0
|
|
$LN2@subps:
|
|
00043 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
|
00048 48 c7 c0 ff ff
|
|
ff ff mov rax, -1
|
|
0004f 48 83 c4 20 add rsp, 32 ; 00000020H
|
|
00053 5f pop rdi
|
|
00054 c3 ret 0
|
|
subps ENDP
|
|
_TEXT ENDS
|
|
; Function compile flags: /Ogtpy
|
|
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
|
|
; COMDAT addps
|
|
_TEXT SEGMENT
|
|
ptr1$ = 48
|
|
ptr2$ = 56
|
|
addps PROC ; COMDAT
|
|
|
|
; 40 : {
|
|
|
|
$LN7:
|
|
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 f9 mov rdi, rcx
|
|
0000d 48 8b da mov rbx, 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 ba 10 00 00 00 mov edx, 16
|
|
00021 8d 4a f8 lea ecx, QWORD PTR [rdx-8]
|
|
00024 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__aligned_malloc
|
|
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);
|
|
|
|
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 : }
|
|
|
|
00038 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
|
0003d 48 83 c4 20 add rsp, 32 ; 00000020H
|
|
00041 5f pop rdi
|
|
00042 c3 ret 0
|
|
$LN2@addps:
|
|
00043 48 8b 5c 24 30 mov rbx, QWORD PTR [rsp+48]
|
|
00048 48 c7 c0 ff ff
|
|
ff ff mov rax, -1
|
|
0004f 48 83 c4 20 add rsp, 32 ; 00000020H
|
|
00053 5f pop rdi
|
|
00054 c3 ret 0
|
|
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 : {
|
|
|
|
$LN7:
|
|
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
|
|
x$ = 128
|
|
y$ = 136
|
|
z$ = 144
|
|
w$ = 152
|
|
load PROC ; COMDAT
|
|
|
|
; 12 : {
|
|
|
|
$LN7:
|
|
00000 48 83 ec 78 sub rsp, 120 ; 00000078H
|
|
00004 0f 29 74 24 60 movaps XMMWORD PTR [rsp+96], xmm6
|
|
00009 48 8d 0d 00 00
|
|
00 00 lea rcx, OFFSET FLAT:__B5461FF6_linear@c
|
|
00010 0f 29 7c 24 50 movaps XMMWORD PTR [rsp+80], xmm7
|
|
00015 0f 28 f0 movaps xmm6, xmm0
|
|
00018 44 0f 29 44 24
|
|
40 movaps XMMWORD PTR [rsp+64], xmm8
|
|
0001e 0f 28 f9 movaps xmm7, xmm1
|
|
00021 44 0f 29 4c 24
|
|
30 movaps XMMWORD PTR [rsp+48], xmm9
|
|
00027 44 0f 28 c2 movaps xmm8, xmm2
|
|
0002b 44 0f 28 cb movaps xmm9, xmm3
|
|
0002f e8 00 00 00 00 call __CheckForDebuggerJustMyCode
|
|
00034 ba 10 00 00 00 mov edx, 16
|
|
00039 f3 0f 11 74 24
|
|
20 movss DWORD PTR array$[rsp], xmm6
|
|
0003f 8b ca mov ecx, edx
|
|
00041 f3 0f 11 7c 24
|
|
24 movss DWORD PTR array$[rsp+4], xmm7
|
|
00047 f3 44 0f 11 44
|
|
24 28 movss DWORD PTR array$[rsp+8], xmm8
|
|
0004e f3 44 0f 11 4c
|
|
24 2c movss DWORD PTR array$[rsp+12], xmm9
|
|
00055 ff 15 00 00 00
|
|
00 call QWORD PTR __imp__aligned_malloc
|
|
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);
|
|
|
|
00060 0f 10 44 24 20 movups xmm0, XMMWORD PTR array$[rsp]
|
|
00065 0f 11 00 movups XMMWORD PTR [rax], xmm0
|
|
|
|
; 19 : return ptr;
|
|
|
|
00068 eb 07 jmp SHORT $LN3@load
|
|
$LN2@load:
|
|
|
|
; 20 : }
|
|
; 21 : else
|
|
; 22 : {
|
|
; 23 : return -1;
|
|
|
|
0006a 48 c7 c0 ff ff
|
|
ff ff mov rax, -1
|
|
$LN3@load:
|
|
|
|
; 24 : }
|
|
; 25 : }
|
|
|
|
00071 0f 28 74 24 60 movaps xmm6, XMMWORD PTR [rsp+96]
|
|
00076 0f 28 7c 24 50 movaps xmm7, XMMWORD PTR [rsp+80]
|
|
0007b 44 0f 28 44 24
|
|
40 movaps xmm8, XMMWORD PTR [rsp+64]
|
|
00081 44 0f 28 4c 24
|
|
30 movaps xmm9, XMMWORD PTR [rsp+48]
|
|
00087 48 83 c4 78 add rsp, 120 ; 00000078H
|
|
0008b c3 ret 0
|
|
load ENDP
|
|
_TEXT ENDS
|
|
END
|