710 lines
21 KiB
Plaintext
710 lines
21 KiB
Plaintext
; Listing generated by Microsoft (R) Optimizing Compiler Version 19.33.31629.0
|
|
|
|
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 DeinitM128
|
|
PUBLIC InitM128
|
|
PUBLIC printf
|
|
PUBLIC _vfprintf_l
|
|
PUBLIC __local_stdio_printf_options
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$VecSubVec DD imagerel $LN3
|
|
DD imagerel $LN3+480
|
|
DD imagerel $unwind$VecSubVec
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$pdata$VecAddVec DD imagerel $LN3
|
|
DD imagerel $LN3+480
|
|
DD imagerel $unwind$VecAddVec
|
|
pdata ENDS
|
|
; COMDAT pdata
|
|
pdata SEGMENT
|
|
$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$_vfprintf_l DD 011801H
|
|
DD 06218H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$unwind$printf DD 012719H
|
|
DD 08218H
|
|
DD imagerel __GSHandlerCheck
|
|
DD 030H
|
|
xdata ENDS
|
|
; COMDAT xdata
|
|
xdata SEGMENT
|
|
$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
|