Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ;VS X64 /Ox /arch:AVX2 float-point model: fast
- 000000013FB71070 mov qword ptr [rsp+8],rbx
- 000000013FB71075 mov qword ptr [rsp+10h],rbp
- 000000013FB7107A mov qword ptr [rsp+18h],rsi
- 000000013FB7107F push rdi
- 000000013FB71080 sub rsp,20h
- clock_t startTimef, startTimed, endTimef, endTimed;
- timeBeginPeriod(1);
- 000000013FB71084 mov ecx,1
- 000000013FB71089 call qword ptr [__imp_timeBeginPeriod (013FB720A8h)]
- startTimef = clock();
- 000000013FB7108F call qword ptr [__imp_clock (013FB721B0h)]
- 000000013FB71095 vmovss xmm4,dword ptr [__real@3dcccccd (013FB7228Ch)]
- 000000013FB7109D mov ebx,5F5E100h
- 000000013FB710A2 mov ebp,eax
- 000000013FB710A4 mov ecx,ebx
- 000000013FB710A6 vxorps xmm0,xmm0,xmm0
- 000000013FB710AA nop word ptr [rax+rax]
- floatloop();
- 000000013FB710B0 vaddss xmm0,xmm0,xmm4
- 000000013FB710B4 vaddss xmm1,xmm0,xmm4
- 000000013FB710B8 vaddss xmm2,xmm1,xmm4
- 000000013FB710BC vaddss xmm3,xmm2,xmm4
- 000000013FB710C0 vaddss xmm0,xmm3,xmm4
- 000000013FB710C4 vaddss xmm1,xmm0,xmm4
- 000000013FB710C8 vaddss xmm2,xmm1,xmm4
- 000000013FB710CC vaddss xmm3,xmm2,xmm4
- floatloop();
- 000000013FB710D0 vaddss xmm0,xmm3,xmm4
- 000000013FB710D4 vaddss xmm0,xmm0,xmm4
- 000000013FB710D8 sub rcx,1
- 000000013FB710DC jne main+40h (013FB710B0h)
- 000000013FB710DE vcvtss2sd xmm1,xmm0,xmm0
- 000000013FB710E2 vmovd rdx,xmm1
- 000000013FB710E7 lea rcx,[GS_ExceptionPointers+10h (013FB72240h)]
- 000000013FB710EE call printf (013FB71010h)
- endTimef = clock();
- 000000013FB710F3 call qword ptr [__imp_clock (013FB721B0h)]
- 000000013FB710F9 mov edi,eax
- startTimed = clock();
- 000000013FB710FB call qword ptr [__imp_clock (013FB721B0h)]
- floatloop();
- 000000013FB71101 vmovsd xmm4,qword ptr [__real@3fb999999999999a (013FB72298h)]
- startTimed = clock();
- 000000013FB71109 mov esi,eax
- 000000013FB7110B vxorps xmm1,xmm1,xmm1
- 000000013FB7110F nop
- doubleloop();
- 000000013FB71110 vaddsd xmm0,xmm1,xmm4
- 000000013FB71114 vaddsd xmm1,xmm0,xmm4
- 000000013FB71118 vaddsd xmm2,xmm1,xmm4
- 000000013FB7111C vaddsd xmm3,xmm2,xmm4
- 000000013FB71120 vaddsd xmm0,xmm3,xmm4
- 000000013FB71124 vaddsd xmm1,xmm0,xmm4
- 000000013FB71128 vaddsd xmm2,xmm1,xmm4
- 000000013FB7112C vaddsd xmm3,xmm2,xmm4
- 000000013FB71130 vaddsd xmm0,xmm3,xmm4
- 000000013FB71134 vaddsd xmm1,xmm0,xmm4
- 000000013FB71138 sub rbx,1
- 000000013FB7113C jne main+0A0h (013FB71110h)
- 000000013FB7113E vmovd rdx,xmm1
- 000000013FB71143 lea rcx,[GS_ExceptionPointers+18h (013FB72248h)]
- 000000013FB7114A call printf (013FB71010h)
- endTimed = clock();
- 000000013FB7114F call qword ptr [__imp_clock (013FB721B0h)]
- timeEndPeriod(1);
- 000000013FB71155 mov ecx,1
- 000000013FB7115A mov ebx,eax
- 000000013FB7115C call qword ptr [__imp_timeEndPeriod (013FB720B0h)]
- printf("float:%ld\ndouble:%ld\n", endTimef - startTimef, endTimed - startTimed);
- 000000013FB71162 sub ebx,esi
- 000000013FB71164 lea rcx,[GS_ExceptionPointers+20h (013FB72250h)]
- 000000013FB7116B sub edi,ebp
- 000000013FB7116D mov r8d,ebx
- 000000013FB71170 mov edx,edi
- 000000013FB71172 call printf (013FB71010h)
- 000000013FB71177 vxorps xmm0,xmm0,xmm0
- printf("float:%lf[sec.]\ndouble:%lf[sec.]\n", (double)(endTimef - startTimef) / CLOCKS_PER_SEC, (double)(endTimed - startTimed) / CLOCKS_PER_SEC);
- 000000013FB7117B vcvtsi2sd xmm0,xmm0,ebx
- 000000013FB7117F vmulsd xmm2,xmm0,mmword ptr [__real@3f50624dd2f1a9fc (013FB72290h)]
- 000000013FB71187 vxorps xmm0,xmm0,xmm0
- 000000013FB7118B vcvtsi2sd xmm0,xmm0,edi
- 000000013FB7118F vmulsd xmm1,xmm0,mmword ptr [__real@3f50624dd2f1a9fc (013FB72290h)]
- 000000013FB71197 vmovd rdx,xmm1
- 000000013FB7119C vmovd r8,xmm2
- 000000013FB711A1 lea rcx,[GS_ExceptionPointers+38h (013FB72268h)]
- 000000013FB711A8 call printf (013FB71010h)
- return 0;
- }
- 000000013FB711AD mov rbx,qword ptr [rsp+30h]
- 000000013FB711B2 xor eax,eax
- 000000013FB711B4 mov rbp,qword ptr [rsp+38h]
- 000000013FB711B9 mov rsi,qword ptr [rsp+40h]
- 000000013FB711BE add rsp,20h
- 000000013FB711C2 pop rdi
- 000000013FB711C3 ret
- ;
- ;
- ;
- ;
- ;
- ;VS X64 /Ox /arch:AVX2 float-point model: precise
- 000000013F231070 mov qword ptr [rsp+8],rbx
- 000000013F231075 mov qword ptr [rsp+10h],rbp
- 000000013F23107A mov qword ptr [rsp+18h],rsi
- 000000013F23107F push rdi
- 000000013F231080 sub rsp,20h
- clock_t startTimef, startTimed, endTimef, endTimed;
- timeBeginPeriod(1);
- 000000013F231084 mov ecx,1
- 000000013F231089 call qword ptr [__imp_timeBeginPeriod (013F2320A8h)]
- startTimef = clock();
- 000000013F23108F call qword ptr [__imp_clock (013F2321B0h)]
- 000000013F231095 vmovss xmm4,dword ptr [__real@3dcccccd (013F23228Ch)]
- 000000013F23109D mov ebx,5F5E100h
- 000000013F2310A2 mov ebp,eax
- 000000013F2310A4 mov ecx,ebx
- 000000013F2310A6 vxorps xmm0,xmm0,xmm0
- 000000013F2310AA nop word ptr [rax+rax]
- floatloop();
- 000000013F2310B0 vaddss xmm0,xmm0,xmm4
- 000000013F2310B4 vaddss xmm1,xmm0,xmm4
- 000000013F2310B8 vaddss xmm2,xmm1,xmm4
- 000000013F2310BC vaddss xmm3,xmm2,xmm4
- 000000013F2310C0 vaddss xmm0,xmm3,xmm4
- 000000013F2310C4 vaddss xmm1,xmm0,xmm4
- 000000013F2310C8 vaddss xmm2,xmm1,xmm4
- 000000013F2310CC vaddss xmm3,xmm2,xmm4
- floatloop();
- 000000013F2310D0 vaddss xmm0,xmm3,xmm4
- 000000013F2310D4 vaddss xmm0,xmm0,xmm4
- 000000013F2310D8 sub rcx,1
- 000000013F2310DC jne main+40h (013F2310B0h)
- 000000013F2310DE vcvtss2sd xmm1,xmm0,xmm0
- 000000013F2310E2 vmovd rdx,xmm1
- 000000013F2310E7 lea rcx,[GS_ExceptionPointers+10h (013F232240h)]
- 000000013F2310EE call printf (013F231010h)
- endTimef = clock();
- 000000013F2310F3 call qword ptr [__imp_clock (013F2321B0h)]
- 000000013F2310F9 mov edi,eax
- startTimed = clock();
- 000000013F2310FB call qword ptr [__imp_clock (013F2321B0h)]
- floatloop();
- 000000013F231101 vmovsd xmm4,qword ptr [__real@3fb999999999999a (013F232290h)]
- startTimed = clock();
- 000000013F231109 mov esi,eax
- 000000013F23110B vxorps xmm1,xmm1,xmm1
- 000000013F23110F nop
- doubleloop();
- 000000013F231110 vaddsd xmm0,xmm1,xmm4
- 000000013F231114 vaddsd xmm1,xmm0,xmm4
- 000000013F231118 vaddsd xmm2,xmm1,xmm4
- 000000013F23111C vaddsd xmm3,xmm2,xmm4
- 000000013F231120 vaddsd xmm0,xmm3,xmm4
- 000000013F231124 vaddsd xmm1,xmm0,xmm4
- 000000013F231128 vaddsd xmm2,xmm1,xmm4
- 000000013F23112C vaddsd xmm3,xmm2,xmm4
- 000000013F231130 vaddsd xmm0,xmm3,xmm4
- 000000013F231134 vaddsd xmm1,xmm0,xmm4
- 000000013F231138 sub rbx,1
- 000000013F23113C jne main+0A0h (013F231110h)
- 000000013F23113E vmovd rdx,xmm1
- 000000013F231143 lea rcx,[GS_ExceptionPointers+18h (013F232248h)]
- 000000013F23114A call printf (013F231010h)
- endTimed = clock();
- 000000013F23114F call qword ptr [__imp_clock (013F2321B0h)]
- timeEndPeriod(1);
- 000000013F231155 mov ecx,1
- 000000013F23115A mov ebx,eax
- 000000013F23115C call qword ptr [__imp_timeEndPeriod (013F2320B0h)]
- printf("float:%ld\ndouble:%ld\n", endTimef - startTimef, endTimed - startTimed);
- 000000013F231162 sub ebx,esi
- 000000013F231164 lea rcx,[GS_ExceptionPointers+20h (013F232250h)]
- 000000013F23116B sub edi,ebp
- 000000013F23116D mov r8d,ebx
- 000000013F231170 mov edx,edi
- 000000013F231172 call printf (013F231010h)
- 000000013F231177 vxorps xmm0,xmm0,xmm0
- printf("float:%lf[sec.]\ndouble:%lf[sec.]\n", (double)(endTimef - startTimef) / CLOCKS_PER_SEC, (double)(endTimed - startTimed) / CLOCKS_PER_SEC);
- 000000013F23117B vcvtsi2sd xmm0,xmm0,ebx
- 000000013F23117F vdivsd xmm2,xmm0,mmword ptr [__real@408f400000000000 (013F232298h)]
- 000000013F231187 vxorps xmm0,xmm0,xmm0
- 000000013F23118B vcvtsi2sd xmm0,xmm0,edi
- 000000013F23118F vdivsd xmm1,xmm0,mmword ptr [__real@408f400000000000 (013F232298h)]
- 000000013F231197 vmovd rdx,xmm1
- 000000013F23119C vmovd r8,xmm2
- 000000013F2311A1 lea rcx,[GS_ExceptionPointers+38h (013F232268h)]
- 000000013F2311A8 call printf (013F231010h)
- return 0;
- }
- 000000013F2311AD mov rbx,qword ptr [rsp+30h]
- 000000013F2311B2 xor eax,eax
- 000000013F2311B4 mov rbp,qword ptr [rsp+38h]
- 000000013F2311B9 mov rsi,qword ptr [rsp+40h]
- 000000013F2311BE add rsp,20h
- 000000013F2311C2 pop rdi
- 000000013F2311C3 ret
- ;
- ;
- ;
- ;
- ;
- ;VS Win32 /Ox /arch:IA32 float-point model: fast
- 00B410D0 push ebp
- 00B410D1 mov ebp,esp
- 00B410D3 and esp,0FFFFFFC0h
- 00B410D6 sub esp,34h
- 00B410D9 push ebx
- 00B410DA push esi
- 00B410DB push edi
- clock_t startTimef, startTimed, endTimef, endTimed;
- timeBeginPeriod(1);
- 00B410DC push 1
- 00B410DE call dword ptr [__imp__timeBeginPeriod@4 (0B42048h)]
- startTimef = clock();
- 00B410E4 mov edi,dword ptr [__imp__clock (0B420D0h)]
- 00B410EA call edi
- 00B410EC mov ebx,eax
- floatloop();
- 00B410EE call floatloop (0B41050h)
- endTimef = clock();
- 00B410F3 call edi
- 00B410F5 mov dword ptr [esp+38h],eax
- startTimed = clock();
- 00B410F9 call edi
- 00B410FB mov esi,eax
- doubleloop();
- 00B410FD call doubleloop (0B41090h)
- endTimed = clock();
- 00B41102 call edi
- timeEndPeriod(1);
- 00B41104 push 1
- timeEndPeriod(1);
- 00B41106 mov edi,eax
- 00B41108 call dword ptr [__imp__timeEndPeriod@4 (0B4204Ch)]
- printf("float:%ld\ndouble:%ld\n", endTimef - startTimef, endTimed - startTimed);
- 00B4110E mov eax,dword ptr [esp+38h]
- 00B41112 sub edi,esi
- 00B41114 sub eax,ebx
- 00B41116 mov dword ptr [esp+3Ch],edi
- 00B4111A push edi
- 00B4111B push eax
- 00B4111C push 0B42128h
- 00B41121 mov dword ptr [esp+44h],eax
- 00B41125 call printf (0B41010h)
- printf("float:%lf[sec.]\ndouble:%lf[sec.]\n", (double)(endTimef - startTimef) / CLOCKS_PER_SEC, (double)(endTimed - startTimed) / CLOCKS_PER_SEC);
- 00B4112A fild dword ptr [esp+48h]
- 00B4112E push ecx
- 00B4112F fld qword ptr [__real@3f50624dd2f1a9fc (0B42168h)]
- 00B41135 fmul st(1),st
- 00B41137 fxch st(1)
- 00B41139 fstp qword ptr [esp+8]
- 00B4113D fimul dword ptr [esp+48h]
- 00B41141 fstp qword ptr [esp]
- 00B41144 push 0B42140h
- 00B41149 call printf (0B41010h)
- 00B4114E add esp,14h
- return 0;
- 00B41151 xor eax,eax
- }
- 00B41153 pop edi
- 00B41154 pop esi
- 00B41155 pop ebx
- 00B41156 mov esp,ebp
- 00B41158 pop ebp
- 00B41159 ret
- ;
- ;
- ;
- ;
- ;
- ;VS Win32 /Ox /arch:IA32 float-point model: precise
- 00F11120 push ebp
- 00F11121 mov ebp,esp
- 00F11123 and esp,0FFFFFFC0h
- 00F11126 sub esp,34h
- 00F11129 push ebx
- 00F1112A push esi
- 00F1112B push edi
- clock_t startTimef, startTimed, endTimef, endTimed;
- timeBeginPeriod(1);
- 00F1112C push 1
- 00F1112E call dword ptr [__imp__timeBeginPeriod@4 (0F12048h)]
- startTimef = clock();
- 00F11134 mov edi,dword ptr [__imp__clock (0F120D0h)]
- 00F1113A call edi
- 00F1113C mov ebx,eax
- floatloop();
- 00F1113E call floatloop (0F11050h)
- endTimef = clock();
- 00F11143 call edi
- 00F11145 mov dword ptr [esp+34h],eax
- startTimed = clock();
- 00F11149 call edi
- 00F1114B mov esi,eax
- doubleloop();
- 00F1114D call doubleloop (0F110E0h)
- endTimed = clock();
- 00F11152 call edi
- timeEndPeriod(1);
- 00F11154 push 1
- timeEndPeriod(1);
- 00F11156 mov edi,eax
- 00F11158 call dword ptr [__imp__timeEndPeriod@4 (0F1204Ch)]
- printf("float:%ld\ndouble:%ld\n", endTimef - startTimef, endTimed - startTimed);
- 00F1115E mov eax,dword ptr [esp+34h]
- 00F11162 sub edi,esi
- 00F11164 sub eax,ebx
- 00F11166 mov dword ptr [esp+38h],edi
- 00F1116A push edi
- 00F1116B push eax
- 00F1116C push 0F12128h
- 00F11171 mov dword ptr [esp+40h],eax
- 00F11175 call printf (0F11010h)
- printf("float:%lf[sec.]\ndouble:%lf[sec.]\n", (double)(endTimef - startTimef) / CLOCKS_PER_SEC, (double)(endTimed - startTimed) / CLOCKS_PER_SEC);
- 00F1117A fild dword ptr [esp+44h]
- 00F1117E push ecx
- 00F1117F fstp qword ptr [esp+48h]
- 00F11183 fld qword ptr [esp+48h]
- 00F11187 fld qword ptr [__real@408f400000000000 (0F12178h)]
- 00F1118D fdiv st(1),st
- 00F1118F fxch st(1)
- 00F11191 fstp qword ptr [esp+8]
- 00F11195 fild dword ptr [esp+44h]
- 00F11199 fstp qword ptr [esp+48h]
- 00F1119D fdivr qword ptr [esp+48h]
- 00F111A1 fstp qword ptr [esp]
- 00F111A4 push 0F12140h
- 00F111A9 call printf (0F11010h)
- 00F111AE add esp,14h
- return 0;
- 00F111B1 xor eax,eax
- }
- 00F111B3 pop edi
- 00F111B4 pop esi
- 00F111B5 pop ebx
- 00F111B6 mov esp,ebp
- 00F111B8 pop ebp
- 00F111B9 ret
- ;
- ;
- ;
- ;
- ;
- ;VS Win32 /Ox /arch:SSE2 float-point model: fast
- 00EC1050 push ebp
- 00EC1051 mov ebp,esp
- 00EC1053 and esp,0FFFFFFC0h
- 00EC1056 sub esp,34h
- 00EC1059 push ebx
- 00EC105A push esi
- 00EC105B push edi
- clock_t startTimef, startTimed, endTimef, endTimed;
- timeBeginPeriod(1);
- 00EC105C push 1
- 00EC105E call dword ptr [__imp__timeBeginPeriod@4 (0EC2048h)]
- startTimef = clock();
- 00EC1064 mov esi,dword ptr [__imp__clock (0EC20D0h)]
- 00EC106A call esi
- 00EC106C movss xmm1,dword ptr [__real@3dcccccd (0EC2164h)]
- 00EC1074 mov ebx,eax
- 00EC1076 xorps xmm0,xmm0
- 00EC1079 mov ecx,5F5E100h
- 00EC107E xchg ax,ax
- floatloop();
- 00EC1080 addss xmm0,xmm1
- 00EC1084 addss xmm0,xmm1
- 00EC1088 addss xmm0,xmm1
- 00EC108C addss xmm0,xmm1
- 00EC1090 addss xmm0,xmm1
- 00EC1094 addss xmm0,xmm1
- 00EC1098 addss xmm0,xmm1
- 00EC109C addss xmm0,xmm1
- floatloop();
- 00EC10A0 addss xmm0,xmm1
- 00EC10A4 addss xmm0,xmm1
- 00EC10A8 sub ecx,1
- 00EC10AB jne main+30h (0EC1080h)
- 00EC10AD cvtss2sd xmm0,xmm0
- 00EC10B1 sub esp,8
- 00EC10B4 movsd mmword ptr [esp],xmm0
- 00EC10B9 push 0EC2118h
- 00EC10BE call printf (0EC1010h)
- 00EC10C3 add esp,0Ch
- endTimef = clock();
- 00EC10C6 call esi
- 00EC10C8 mov edi,eax
- startTimed = clock();
- 00EC10CA call esi
- floatloop();
- 00EC10CC movsd xmm1,mmword ptr [__real@3fb999999999999a (0EC2170h)]
- 00EC10D4 xorps xmm0,xmm0
- startTimed = clock();
- 00EC10D7 mov dword ptr [esp+3Ch],eax
- floatloop();
- 00EC10DB mov ecx,5F5E100h
- doubleloop();
- 00EC10E0 addsd xmm0,xmm1
- 00EC10E4 addsd xmm0,xmm1
- 00EC10E8 addsd xmm0,xmm1
- 00EC10EC addsd xmm0,xmm1
- 00EC10F0 addsd xmm0,xmm1
- 00EC10F4 addsd xmm0,xmm1
- 00EC10F8 addsd xmm0,xmm1
- 00EC10FC addsd xmm0,xmm1
- 00EC1100 addsd xmm0,xmm1
- 00EC1104 addsd xmm0,xmm1
- 00EC1108 sub ecx,1
- 00EC110B jne main+90h (0EC10E0h)
- 00EC110D sub esp,8
- 00EC1110 movsd mmword ptr [esp],xmm0
- 00EC1115 push 0EC2120h
- 00EC111A call printf (0EC1010h)
- 00EC111F add esp,0Ch
- endTimed = clock();
- 00EC1122 call esi
- timeEndPeriod(1);
- 00EC1124 push 1
- 00EC1126 mov esi,eax
- 00EC1128 call dword ptr [__imp__timeEndPeriod@4 (0EC204Ch)]
- printf("float:%ld\ndouble:%ld\n", endTimef - startTimef, endTimed - startTimed);
- 00EC112E sub esi,dword ptr [esp+3Ch]
- 00EC1132 sub edi,ebx
- 00EC1134 push esi
- 00EC1135 push edi
- 00EC1136 push 0EC2128h
- 00EC113B call printf (0EC1010h)
- 00EC1140 movd xmm0,esi
- printf("float:%lf[sec.]\ndouble:%lf[sec.]\n", (double)(endTimef - startTimef) / CLOCKS_PER_SEC, (double)(endTimed - startTimed) / CLOCKS_PER_SEC);
- 00EC1144 cvtdq2pd xmm0,xmm0
- 00EC1148 push ecx
- 00EC1149 mulsd xmm0,mmword ptr [__real@3f50624dd2f1a9fc (0EC2168h)]
- 00EC1151 movsd mmword ptr [esp+8],xmm0
- 00EC1157 movd xmm0,edi
- 00EC115B cvtdq2pd xmm0,xmm0
- 00EC115F mulsd xmm0,mmword ptr [__real@3f50624dd2f1a9fc (0EC2168h)]
- 00EC1167 movsd mmword ptr [esp],xmm0
- 00EC116C push 0EC2140h
- 00EC1171 call printf (0EC1010h)
- 00EC1176 add esp,14h
- return 0;
- 00EC1179 xor eax,eax
- }
- 00EC117B pop edi
- 00EC117C pop esi
- 00EC117D pop ebx
- 00EC117E mov esp,ebp
- 00EC1180 pop ebp
- 00EC1181 ret
- ;
- ;
- ;
- ;
- ;
- ;VS Win32 /Ox /arch:SSE2 float-point model: precise
- 00A31050 push ebp
- 00A31051 mov ebp,esp
- 00A31053 and esp,0FFFFFFC0h
- 00A31056 sub esp,34h
- 00A31059 push ebx
- 00A3105A push esi
- 00A3105B push edi
- clock_t startTimef, startTimed, endTimef, endTimed;
- timeBeginPeriod(1);
- 00A3105C push 1
- 00A3105E call dword ptr [__imp__timeBeginPeriod@4 (0A32048h)]
- startTimef = clock();
- 00A31064 mov esi,dword ptr [__imp__clock (0A320D0h)]
- 00A3106A call esi
- 00A3106C movss xmm1,dword ptr [__real@3dcccccd (0A32164h)]
- 00A31074 mov ebx,eax
- 00A31076 xorps xmm0,xmm0
- 00A31079 mov ecx,5F5E100h
- 00A3107E xchg ax,ax
- floatloop();
- 00A31080 addss xmm0,xmm1
- 00A31084 addss xmm0,xmm1
- 00A31088 addss xmm0,xmm1
- 00A3108C addss xmm0,xmm1
- 00A31090 addss xmm0,xmm1
- 00A31094 addss xmm0,xmm1
- 00A31098 addss xmm0,xmm1
- 00A3109C addss xmm0,xmm1
- floatloop();
- 00A310A0 addss xmm0,xmm1
- 00A310A4 addss xmm0,xmm1
- 00A310A8 sub ecx,1
- 00A310AB jne main+30h (0A31080h)
- 00A310AD cvtss2sd xmm0,xmm0
- 00A310B1 sub esp,8
- 00A310B4 movsd mmword ptr [esp],xmm0
- 00A310B9 push 0A32118h
- 00A310BE call printf (0A31010h)
- 00A310C3 add esp,0Ch
- endTimef = clock();
- 00A310C6 call esi
- 00A310C8 mov edi,eax
- startTimed = clock();
- 00A310CA call esi
- floatloop();
- 00A310CC movsd xmm1,mmword ptr [__real@3fb999999999999a (0A32168h)]
- 00A310D4 xorps xmm0,xmm0
- startTimed = clock();
- 00A310D7 mov dword ptr [esp+3Ch],eax
- floatloop();
- 00A310DB mov ecx,5F5E100h
- doubleloop();
- 00A310E0 addsd xmm0,xmm1
- 00A310E4 addsd xmm0,xmm1
- 00A310E8 addsd xmm0,xmm1
- 00A310EC addsd xmm0,xmm1
- 00A310F0 addsd xmm0,xmm1
- 00A310F4 addsd xmm0,xmm1
- 00A310F8 addsd xmm0,xmm1
- 00A310FC addsd xmm0,xmm1
- 00A31100 addsd xmm0,xmm1
- 00A31104 addsd xmm0,xmm1
- 00A31108 sub ecx,1
- 00A3110B jne main+90h (0A310E0h)
- 00A3110D sub esp,8
- 00A31110 movsd mmword ptr [esp],xmm0
- 00A31115 push 0A32120h
- 00A3111A call printf (0A31010h)
- 00A3111F add esp,0Ch
- endTimed = clock();
- 00A31122 call esi
- timeEndPeriod(1);
- 00A31124 push 1
- 00A31126 mov esi,eax
- 00A31128 call dword ptr [__imp__timeEndPeriod@4 (0A3204Ch)]
- printf("float:%ld\ndouble:%ld\n", endTimef - startTimef, endTimed - startTimed);
- 00A3112E sub esi,dword ptr [esp+3Ch]
- 00A31132 sub edi,ebx
- 00A31134 push esi
- 00A31135 push edi
- 00A31136 push 0A32128h
- 00A3113B call printf (0A31010h)
- 00A31140 movd xmm0,esi
- printf("float:%lf[sec.]\ndouble:%lf[sec.]\n", (double)(endTimef - startTimef) / CLOCKS_PER_SEC, (double)(endTimed - startTimed) / CLOCKS_PER_SEC);
- 00A31144 cvtdq2pd xmm0,xmm0
- 00A31148 push ecx
- 00A31149 divsd xmm0,mmword ptr [__real@408f400000000000 (0A32170h)]
- 00A31151 movsd mmword ptr [esp+8],xmm0
- 00A31157 movd xmm0,edi
- 00A3115B cvtdq2pd xmm0,xmm0
- 00A3115F divsd xmm0,mmword ptr [__real@408f400000000000 (0A32170h)]
- 00A31167 movsd mmword ptr [esp],xmm0
- 00A3116C push 0A32140h
- 00A31171 call printf (0A31010h)
- 00A31176 add esp,14h
- return 0;
- 00A31179 xor eax,eax
- }
- 00A3117B pop edi
- 00A3117C pop esi
- 00A3117D pop ebx
- 00A3117E mov esp,ebp
- 00A31180 pop ebp
- 00A31181 ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement