daily update on 20230730 by nitload youmu, 5th day of params displacement

This commit is contained in:
Nitload
2023-07-30 07:08:36 +08:00
parent e11c88b051
commit 194d65edf6
147 changed files with 36506 additions and 1927 deletions
+683 -14
View File
@@ -4,37 +4,706 @@ include listing.inc
INCLUDELIB OLDNAMES
EXTRN __imp___stdio_common_vfprintf:PROC
EXTRN __imp__aligned_malloc:PROC
EXTRN __imp___acrt_iob_func:PROC
PUBLIC VecMulVec
PUBLIC VecSubVec
PUBLIC VecAddVec
PUBLIC DeinitBigM128Map
PUBLIC InitBigM128Map
PUBLIC DeinitM128
PUBLIC InitM128
PUBLIC printf
PUBLIC _vfprintf_l
PUBLIC __local_stdio_printf_options
; COMDAT pdata
pdata SEGMENT
$pdata$VecMulVec DD imagerel $LN3@VecMulVec
DD imagerel $LN3@VecMulVec+110
DD imagerel $unwind$VecMulVec
$pdata$VecSubVec DD imagerel $LN3
DD imagerel $LN3+480
DD imagerel $unwind$VecSubVec
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$DeinitBigM128Map DD imagerel $LN3@DeinitBigM
DD imagerel $LN3@DeinitBigM+25
DD imagerel $unwind$DeinitBigM128Map
$pdata$VecAddVec DD imagerel $LN3
DD imagerel $LN3+480
DD imagerel $unwind$VecAddVec
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$InitBigM128Map DD imagerel $LN3@InitBigM12
DD imagerel $LN3@InitBigM12+30
DD imagerel $unwind$InitBigM128Map
$pdata$DeinitM128 DD imagerel $LN3
DD imagerel $LN3+25
DD imagerel $unwind$DeinitM128
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$InitM128 DD imagerel $LN5
DD imagerel $LN5+178
DD imagerel $unwind$InitM128
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$printf DD imagerel $LN3
DD imagerel $LN3+116
DD imagerel $unwind$printf
pdata ENDS
; COMDAT pdata
pdata SEGMENT
$pdata$_vfprintf_l DD imagerel $LN3
DD imagerel $LN3+68
DD imagerel $unwind$_vfprintf_l
; COMDAT xdata
xdata SEGMENT
$unwind$InitBigM128Map DQ 00000620400010401r ; 5.32451e-310
$unwind$_vfprintf_l DD 011801H
DD 06218H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$DeinitBigM128Map DQ 00000420900010901r ; 3.58723e-310
$unwind$printf DD 012719H
DD 08218H
DD imagerel __GSHandlerCheck
DD 030H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$VecMulVec DQ 00000420e00010e01r ; 3.58829e-310
$unwind$InitM128 DD 011c01H
DD 0621cH
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$DeinitM128 DD 010901H
DD 04209H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$VecAddVec DD 011301H
DD 0a213H
xdata ENDS
; COMDAT xdata
xdata SEGMENT
$unwind$VecSubVec DD 011301H
DD 0a213H
ORG $+3
$SG4294964025 DB '%llu', 0aH, 00H
ORG $+3
$SG4294964026 DB '%llu', 0aH, 00H
ORG $+3
$SG4294964027 DB '%llu', 0aH, 00H
ORG $+3
$SG4294964031 DB '%llu', 0aH, 00H
ORG $+3
$SG4294964032 DB '%llu', 0aH, 00H
ORG $+3
$SG4294964033 DB '%llu', 0aH, 00H
ORG $+5
$SG4294964022 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
ORG $+2
$SG4294964023 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
ORG $+2
$SG4294964024 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
ORG $+2
$SG4294964028 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
ORG $+2
$SG4294964029 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
ORG $+2
$SG4294964030 DB '%f', 09H, '%f', 09H, '%f', 09H, '%f', 09H, 0aH, 00H
; Function compile flags: /Odtp
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\corecrt_stdio_config.h
; COMDAT __local_stdio_printf_options
_TEXT SEGMENT
__local_stdio_printf_options PROC ; COMDAT
; 91 : static unsigned __int64 _OptionsStorage;
; 92 : return &_OptionsStorage;
00000 48 8d 05 00 00
00 00 lea rax, OFFSET FLAT:?_OptionsStorage@?1??__local_stdio_printf_options@@9@9 ; `__local_stdio_printf_options'::`2'::_OptionsStorage
; 93 : }
00007 c3 ret 0
__local_stdio_printf_options ENDP
_TEXT ENDS
; Function compile flags: /Odtp
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\stdio.h
; COMDAT _vfprintf_l
_TEXT SEGMENT
_Stream$ = 64
_Format$ = 72
_Locale$ = 80
_ArgList$ = 88
_vfprintf_l PROC ; COMDAT
; 644 : {
$LN3:
00000 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00005 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000a 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000f 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00014 48 83 ec 38 sub rsp, 56 ; 00000038H
; 645 : return __stdio_common_vfprintf(_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS, _Stream, _Format, _Locale, _ArgList);
00018 e8 00 00 00 00 call __local_stdio_printf_options
0001d 48 8b 4c 24 58 mov rcx, QWORD PTR _ArgList$[rsp]
00022 48 89 4c 24 20 mov QWORD PTR [rsp+32], rcx
00027 4c 8b 4c 24 50 mov r9, QWORD PTR _Locale$[rsp]
0002c 4c 8b 44 24 48 mov r8, QWORD PTR _Format$[rsp]
00031 48 8b 54 24 40 mov rdx, QWORD PTR _Stream$[rsp]
00036 48 8b 08 mov rcx, QWORD PTR [rax]
00039 ff 15 00 00 00
00 call QWORD PTR __imp___stdio_common_vfprintf
; 646 : }
0003f 48 83 c4 38 add rsp, 56 ; 00000038H
00043 c3 ret 0
_vfprintf_l ENDP
_TEXT ENDS
; Function compile flags: /Odtp
; File C:\Program Files (x86)\Windows Kits\10\Include\10.0.20348.0\ucrt\stdio.h
; COMDAT printf
_TEXT SEGMENT
_Result$ = 32
_ArgList$ = 40
__$ArrayPad$ = 48
_Format$ = 80
printf PROC ; COMDAT
; 956 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
0000f 4c 89 4c 24 20 mov QWORD PTR [rsp+32], r9
00014 48 83 ec 48 sub rsp, 72 ; 00000048H
00018 48 8b 05 00 00
00 00 mov rax, QWORD PTR __security_cookie
0001f 48 33 c4 xor rax, rsp
00022 48 89 44 24 30 mov QWORD PTR __$ArrayPad$[rsp], rax
; 957 : int _Result;
; 958 : va_list _ArgList;
; 959 : __crt_va_start(_ArgList, _Format);
00027 48 8d 44 24 58 lea rax, QWORD PTR _Format$[rsp+8]
0002c 48 89 44 24 28 mov QWORD PTR _ArgList$[rsp], rax
; 960 : _Result = _vfprintf_l(stdout, _Format, NULL, _ArgList);
00031 b9 01 00 00 00 mov ecx, 1
00036 ff 15 00 00 00
00 call QWORD PTR __imp___acrt_iob_func
0003c 4c 8b 4c 24 28 mov r9, QWORD PTR _ArgList$[rsp]
00041 45 33 c0 xor r8d, r8d
00044 48 8b 54 24 50 mov rdx, QWORD PTR _Format$[rsp]
00049 48 8b c8 mov rcx, rax
0004c e8 00 00 00 00 call _vfprintf_l
00051 89 44 24 20 mov DWORD PTR _Result$[rsp], eax
; 961 : __crt_va_end(_ArgList);
00055 48 c7 44 24 28
00 00 00 00 mov QWORD PTR _ArgList$[rsp], 0
; 962 : return _Result;
0005e 8b 44 24 20 mov eax, DWORD PTR _Result$[rsp]
; 963 : }
00062 48 8b 4c 24 30 mov rcx, QWORD PTR __$ArrayPad$[rsp]
00067 48 33 cc xor rcx, rsp
0006a e8 00 00 00 00 call __security_check_cookie
0006f 48 83 c4 48 add rsp, 72 ; 00000048H
00073 c3 ret 0
printf ENDP
_TEXT ENDS
; Function compile flags: /Odtp
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT InitM128
_TEXT SEGMENT
Ptr$ = 32
x$ = 64
y$ = 72
z$ = 80
w$ = 88
InitM128 PROC ; COMDAT
; 11 : {
$LN5:
00000 f3 0f 11 5c 24
20 movss DWORD PTR [rsp+32], xmm3
00006 f3 0f 11 54 24
18 movss DWORD PTR [rsp+24], xmm2
0000c f3 0f 11 4c 24
10 movss DWORD PTR [rsp+16], xmm1
00012 f3 0f 11 44 24
08 movss DWORD PTR [rsp+8], xmm0
00018 48 83 ec 38 sub rsp, 56 ; 00000038H
; 12 : __m128* Ptr = _aligned_malloc(16, sizeof(__m128));
0001c ba 10 00 00 00 mov edx, 16
00021 b9 10 00 00 00 mov ecx, 16
00026 ff 15 00 00 00
00 call QWORD PTR __imp__aligned_malloc
0002c 48 89 44 24 20 mov QWORD PTR Ptr$[rsp], rax
; 13 :
; 14 : if (NULL==Ptr)
00031 48 83 7c 24 20
00 cmp QWORD PTR Ptr$[rsp], 0
00037 75 0b jne SHORT $LN2@InitM128
; 15 : {
; 16 : return (__m128*) - 1;
00039 48 c7 c0 ff ff
ff ff mov rax, -1
00040 eb 6b jmp SHORT $LN1@InitM128
; 17 : }
00042 eb 69 jmp SHORT $LN3@InitM128
$LN2@InitM128:
; 18 : else
; 19 : {
; 20 : Ptr->m128_f32[0] = x;
00044 b8 04 00 00 00 mov eax, 4
00049 48 6b c0 00 imul rax, rax, 0
0004d 48 8b 4c 24 20 mov rcx, QWORD PTR Ptr$[rsp]
00052 f3 0f 10 44 24
40 movss xmm0, DWORD PTR x$[rsp]
00058 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
; 21 : Ptr->m128_f32[1] = y;
0005d b8 04 00 00 00 mov eax, 4
00062 48 6b c0 01 imul rax, rax, 1
00066 48 8b 4c 24 20 mov rcx, QWORD PTR Ptr$[rsp]
0006b f3 0f 10 44 24
48 movss xmm0, DWORD PTR y$[rsp]
00071 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
; 22 : Ptr->m128_f32[2] = z;
00076 b8 04 00 00 00 mov eax, 4
0007b 48 6b c0 02 imul rax, rax, 2
0007f 48 8b 4c 24 20 mov rcx, QWORD PTR Ptr$[rsp]
00084 f3 0f 10 44 24
50 movss xmm0, DWORD PTR z$[rsp]
0008a f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
; 23 : Ptr->m128_f32[3] = w;
0008f b8 04 00 00 00 mov eax, 4
00094 48 6b c0 03 imul rax, rax, 3
00098 48 8b 4c 24 20 mov rcx, QWORD PTR Ptr$[rsp]
0009d f3 0f 10 44 24
58 movss xmm0, DWORD PTR w$[rsp]
000a3 f3 0f 11 04 01 movss DWORD PTR [rcx+rax], xmm0
; 24 : return Ptr;
000a8 48 8b 44 24 20 mov rax, QWORD PTR Ptr$[rsp]
$LN3@InitM128:
$LN1@InitM128:
; 25 : }
; 26 : }
000ad 48 83 c4 38 add rsp, 56 ; 00000038H
000b1 c3 ret 0
InitM128 ENDP
_TEXT ENDS
; Function compile flags: /Odtp
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT DeinitM128
_TEXT SEGMENT
m128Ptr$ = 48
DeinitM128 PROC ; COMDAT
; 29 : {
$LN3:
00000 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
00005 48 83 ec 28 sub rsp, 40 ; 00000028H
; 30 : free(m128Ptr);
00009 48 8b 4c 24 30 mov rcx, QWORD PTR m128Ptr$[rsp]
0000e ff 15 00 00 00
00 call QWORD PTR __imp_free
; 31 : }
00014 48 83 c4 28 add rsp, 40 ; 00000028H
00018 c3 ret 0
DeinitM128 ENDP
_TEXT ENDS
; Function compile flags: /Odtp
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT VecAddVec
_TEXT SEGMENT
tv89 = 48
tv142 = 56
tv166 = 64
ptr1$ = 96
ptr2$ = 104
ret$ = 112
VecAddVec PROC ; COMDAT
; 34 : {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 48 83 ec 58 sub rsp, 88 ; 00000058H
; 35 : printf("%llu\n",(uint64_t)ptr1);
00013 48 8b 54 24 60 mov rdx, QWORD PTR ptr1$[rsp]
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964033
0001f e8 00 00 00 00 call printf
; 36 : printf("%llu\n",(uint64_t)ptr2);
00024 48 8b 54 24 68 mov rdx, QWORD PTR ptr2$[rsp]
00029 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964032
00030 e8 00 00 00 00 call printf
; 37 : printf("%llu\n",(uint64_t)ret);
00035 48 8b 54 24 70 mov rdx, QWORD PTR ret$[rsp]
0003a 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964031
00041 e8 00 00 00 00 call printf
; 38 :
; 39 : printf("%f\t%f\t%f\t%f\t\n",
00046 b8 04 00 00 00 mov eax, 4
0004b 48 6b c0 03 imul rax, rax, 3
0004f 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
00054 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
00059 b8 04 00 00 00 mov eax, 4
0005e 48 6b c0 02 imul rax, rax, 2
00062 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
00067 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
0006c b8 04 00 00 00 mov eax, 4
00071 48 6b c0 01 imul rax, rax, 1
00075 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
0007a f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
0007f b8 04 00 00 00 mov eax, 4
00084 48 6b c0 00 imul rax, rax, 0
00088 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
0008d f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
00092 f2 0f 11 5c 24
30 movsd QWORD PTR tv89[rsp], xmm3
00098 f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
0009e 0f 28 d9 movaps xmm3, xmm1
000a1 66 49 0f 7e d9 movq r9, xmm3
000a6 66 49 0f 7e d0 movq r8, xmm2
000ab f2 0f 10 44 24
30 movsd xmm0, QWORD PTR tv89[rsp]
000b1 0f 28 c8 movaps xmm1, xmm0
000b4 66 48 0f 7e ca movq rdx, xmm1
000b9 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964030
000c0 e8 00 00 00 00 call printf
; 40 : ptr1->m128_f32[0], ptr1->m128_f32[1], ptr1->m128_f32[2], ptr1->m128_f32[3]
; 41 : );
; 42 : printf("%f\t%f\t%f\t%f\t\n",
000c5 b8 04 00 00 00 mov eax, 4
000ca 48 6b c0 03 imul rax, rax, 3
000ce 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
000d3 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
000d8 b8 04 00 00 00 mov eax, 4
000dd 48 6b c0 02 imul rax, rax, 2
000e1 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
000e6 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
000eb b8 04 00 00 00 mov eax, 4
000f0 48 6b c0 01 imul rax, rax, 1
000f4 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
000f9 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
000fe b8 04 00 00 00 mov eax, 4
00103 48 6b c0 00 imul rax, rax, 0
00107 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
0010c f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
00111 f2 0f 11 5c 24
38 movsd QWORD PTR tv142[rsp], xmm3
00117 f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
0011d 0f 28 d9 movaps xmm3, xmm1
00120 66 49 0f 7e d9 movq r9, xmm3
00125 66 49 0f 7e d0 movq r8, xmm2
0012a f2 0f 10 44 24
38 movsd xmm0, QWORD PTR tv142[rsp]
00130 0f 28 c8 movaps xmm1, xmm0
00133 66 48 0f 7e ca movq rdx, xmm1
00138 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964029
0013f e8 00 00 00 00 call printf
; 43 : ptr2->m128_f32[0], ptr2->m128_f32[1], ptr2->m128_f32[2], ptr2->m128_f32[3]
; 44 : );
; 45 :
; 46 : *ret = _mm_add_ps(*ptr1, *ptr2);
00144 48 8b 44 24 60 mov rax, QWORD PTR ptr1$[rsp]
00149 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
0014e 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00151 0f 58 01 addps xmm0, XMMWORD PTR [rcx]
00154 48 8b 44 24 70 mov rax, QWORD PTR ret$[rsp]
00159 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 47 :
; 48 : printf("%f\t%f\t%f\t%f\t\n",
0015c b8 04 00 00 00 mov eax, 4
00161 48 6b c0 03 imul rax, rax, 3
00165 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
0016a f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
0016f b8 04 00 00 00 mov eax, 4
00174 48 6b c0 02 imul rax, rax, 2
00178 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
0017d f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
00182 b8 04 00 00 00 mov eax, 4
00187 48 6b c0 01 imul rax, rax, 1
0018b 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
00190 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
00195 b8 04 00 00 00 mov eax, 4
0019a 48 6b c0 00 imul rax, rax, 0
0019e 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
001a3 f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
001a8 f2 0f 11 5c 24
40 movsd QWORD PTR tv166[rsp], xmm3
001ae f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
001b4 0f 28 d9 movaps xmm3, xmm1
001b7 66 49 0f 7e d9 movq r9, xmm3
001bc 66 49 0f 7e d0 movq r8, xmm2
001c1 f2 0f 10 44 24
40 movsd xmm0, QWORD PTR tv166[rsp]
001c7 0f 28 c8 movaps xmm1, xmm0
001ca 66 48 0f 7e ca movq rdx, xmm1
001cf 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964028
001d6 e8 00 00 00 00 call printf
; 49 : ret->m128_f32[0], ret->m128_f32[1], ret->m128_f32[2], ret->m128_f32[3]
; 50 : );
; 51 :
; 52 : }
001db 48 83 c4 58 add rsp, 88 ; 00000058H
001df c3 ret 0
VecAddVec ENDP
_TEXT ENDS
; Function compile flags: /Odtp
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT VecSubVec
_TEXT SEGMENT
tv89 = 48
tv142 = 56
tv166 = 64
ptr1$ = 96
ptr2$ = 104
ret$ = 112
VecSubVec PROC ; COMDAT
; 55 : {
$LN3:
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
0000f 48 83 ec 58 sub rsp, 88 ; 00000058H
; 56 : printf("%llu\n", (uint64_t)ptr1);
00013 48 8b 54 24 60 mov rdx, QWORD PTR ptr1$[rsp]
00018 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964027
0001f e8 00 00 00 00 call printf
; 57 : printf("%llu\n", (uint64_t)ptr2);
00024 48 8b 54 24 68 mov rdx, QWORD PTR ptr2$[rsp]
00029 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964026
00030 e8 00 00 00 00 call printf
; 58 : printf("%llu\n", (uint64_t)ret);
00035 48 8b 54 24 70 mov rdx, QWORD PTR ret$[rsp]
0003a 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964025
00041 e8 00 00 00 00 call printf
; 59 :
; 60 : printf("%f\t%f\t%f\t%f\t\n",
00046 b8 04 00 00 00 mov eax, 4
0004b 48 6b c0 03 imul rax, rax, 3
0004f 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
00054 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
00059 b8 04 00 00 00 mov eax, 4
0005e 48 6b c0 02 imul rax, rax, 2
00062 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
00067 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
0006c b8 04 00 00 00 mov eax, 4
00071 48 6b c0 01 imul rax, rax, 1
00075 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
0007a f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
0007f b8 04 00 00 00 mov eax, 4
00084 48 6b c0 00 imul rax, rax, 0
00088 48 8b 4c 24 60 mov rcx, QWORD PTR ptr1$[rsp]
0008d f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
00092 f2 0f 11 5c 24
30 movsd QWORD PTR tv89[rsp], xmm3
00098 f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
0009e 0f 28 d9 movaps xmm3, xmm1
000a1 66 49 0f 7e d9 movq r9, xmm3
000a6 66 49 0f 7e d0 movq r8, xmm2
000ab f2 0f 10 44 24
30 movsd xmm0, QWORD PTR tv89[rsp]
000b1 0f 28 c8 movaps xmm1, xmm0
000b4 66 48 0f 7e ca movq rdx, xmm1
000b9 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964024
000c0 e8 00 00 00 00 call printf
; 61 : ptr1->m128_f32[0], ptr1->m128_f32[1], ptr1->m128_f32[2], ptr1->m128_f32[3]
; 62 : );
; 63 : printf("%f\t%f\t%f\t%f\t\n",
000c5 b8 04 00 00 00 mov eax, 4
000ca 48 6b c0 03 imul rax, rax, 3
000ce 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
000d3 f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
000d8 b8 04 00 00 00 mov eax, 4
000dd 48 6b c0 02 imul rax, rax, 2
000e1 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
000e6 f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
000eb b8 04 00 00 00 mov eax, 4
000f0 48 6b c0 01 imul rax, rax, 1
000f4 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
000f9 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
000fe b8 04 00 00 00 mov eax, 4
00103 48 6b c0 00 imul rax, rax, 0
00107 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
0010c f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
00111 f2 0f 11 5c 24
38 movsd QWORD PTR tv142[rsp], xmm3
00117 f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
0011d 0f 28 d9 movaps xmm3, xmm1
00120 66 49 0f 7e d9 movq r9, xmm3
00125 66 49 0f 7e d0 movq r8, xmm2
0012a f2 0f 10 44 24
38 movsd xmm0, QWORD PTR tv142[rsp]
00130 0f 28 c8 movaps xmm1, xmm0
00133 66 48 0f 7e ca movq rdx, xmm1
00138 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964023
0013f e8 00 00 00 00 call printf
; 64 : ptr2->m128_f32[0], ptr2->m128_f32[1], ptr2->m128_f32[2], ptr2->m128_f32[3]
; 65 : );
; 66 :
; 67 :
; 68 : *ret = _mm_sub_ps(*ptr1, *ptr2);
00144 48 8b 44 24 60 mov rax, QWORD PTR ptr1$[rsp]
00149 48 8b 4c 24 68 mov rcx, QWORD PTR ptr2$[rsp]
0014e 0f 10 00 movups xmm0, XMMWORD PTR [rax]
00151 0f 5c 01 subps xmm0, XMMWORD PTR [rcx]
00154 48 8b 44 24 70 mov rax, QWORD PTR ret$[rsp]
00159 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 69 :
; 70 : printf("%f\t%f\t%f\t%f\t\n",
0015c b8 04 00 00 00 mov eax, 4
00161 48 6b c0 03 imul rax, rax, 3
00165 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
0016a f3 0f 5a 04 01 cvtss2sd xmm0, DWORD PTR [rcx+rax]
0016f b8 04 00 00 00 mov eax, 4
00174 48 6b c0 02 imul rax, rax, 2
00178 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
0017d f3 0f 5a 0c 01 cvtss2sd xmm1, DWORD PTR [rcx+rax]
00182 b8 04 00 00 00 mov eax, 4
00187 48 6b c0 01 imul rax, rax, 1
0018b 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
00190 f3 0f 5a 14 01 cvtss2sd xmm2, DWORD PTR [rcx+rax]
00195 b8 04 00 00 00 mov eax, 4
0019a 48 6b c0 00 imul rax, rax, 0
0019e 48 8b 4c 24 70 mov rcx, QWORD PTR ret$[rsp]
001a3 f3 0f 5a 1c 01 cvtss2sd xmm3, DWORD PTR [rcx+rax]
001a8 f2 0f 11 5c 24
40 movsd QWORD PTR tv166[rsp], xmm3
001ae f2 0f 11 44 24
20 movsd QWORD PTR [rsp+32], xmm0
001b4 0f 28 d9 movaps xmm3, xmm1
001b7 66 49 0f 7e d9 movq r9, xmm3
001bc 66 49 0f 7e d0 movq r8, xmm2
001c1 f2 0f 10 44 24
40 movsd xmm0, QWORD PTR tv166[rsp]
001c7 0f 28 c8 movaps xmm1, xmm0
001ca 66 48 0f 7e ca movq rdx, xmm1
001cf 48 8d 0d 00 00
00 00 lea rcx, OFFSET FLAT:$SG4294964022
001d6 e8 00 00 00 00 call printf
; 71 : ret->m128_f32[0], ret->m128_f32[1], ret->m128_f32[2], ret->m128_f32[3]
; 72 : );
; 73 :
; 74 : }
001db 48 83 c4 58 add rsp, 88 ; 00000058H
001df c3 ret 0
VecSubVec ENDP
_TEXT ENDS
; Function compile flags: /Odtp
; File D:\NitloadIndustry\Ñо¿ÏîÄ¿\1-Flagship\TH2020\ProjectFile\Ô´´úÂë\StgShqrpGraphic\linear.c
; COMDAT VecMulVec
_TEXT SEGMENT
ptr1$ = 8
ptr2$ = 16
ret$ = 24
VecMulVec PROC ; COMDAT
; 77 : {
00000 4c 89 44 24 18 mov QWORD PTR [rsp+24], r8
00005 48 89 54 24 10 mov QWORD PTR [rsp+16], rdx
0000a 48 89 4c 24 08 mov QWORD PTR [rsp+8], rcx
; 78 : *ret = _mm_mul_ps(*ptr1, *ptr2);
0000f 48 8b 44 24 08 mov rax, QWORD PTR ptr1$[rsp]
00014 48 8b 4c 24 10 mov rcx, QWORD PTR ptr2$[rsp]
00019 0f 10 00 movups xmm0, XMMWORD PTR [rax]
0001c 0f 59 01 mulps xmm0, XMMWORD PTR [rcx]
0001f 48 8b 44 24 18 mov rax, QWORD PTR ret$[rsp]
00024 0f 11 00 movups XMMWORD PTR [rax], xmm0
; 79 : }
00027 c3 ret 0
VecMulVec ENDP
_TEXT ENDS
END