; 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