x64 アセンブリ命令ランキング ベスト 1000

x64 のよく使われる命令を調べてみました。調査対象は Windows の System32 ディレクトリに入っている 64bit モジュールです。(x64 版ではなく x86 版の一覧はこちらです。)

動作確認環境

  • Windows 11 Home 24H2
  • Visual Studio Community 2022 (Visual C++)

x64 のよく使われる命令

では早速ランキングです。ベスト 1000 と書きましたが、1000 個を少し超えています。長いです。

順位命令個数割合累積割合
1mov10613136829.0075%29.0075%
2int7470373420.4178%49.4252%
3call247389826.7616%56.1868%
4lea246435636.7355%62.9223%
5test132292363.6158%66.5381%
6je114686563.1346%69.6727%
7cmp105370742.88%72.5526%
8jmp91262492.4944%75.047%
9add83428162.2802%77.3272%
10xor79943742.185%79.5122%
11pop72855331.9913%81.5035%
12push72317971.9766%83.48%
13sub71438031.9525%85.4325%
14jne65742121.7968%87.2294%
15nop61838701.6902%88.9195%
16and47324881.2935%90.213%
17ret46762881.2781%91.4911%
18movups21158610.5783%92.0694%
19movzx18406390.5031%92.5725%
20or15343320.4194%92.9919%
21js13561450.3707%93.3625%
22inc12465000.3407%93.7032%
23movaps11860220.3242%94.0274%
24jb11338570.3099%94.3373%
25jns9998340.2733%94.6105%
26shr7881530.2154%94.8259%
27xorps7001360.1914%95.0173%
28shl6593000.1802%95.1975%
29movss6202550.1695%95.367%
30jbe6201300.1695%95.5365%
31movsd5913490.1616%95.6981%
32jae5850080.1599%95.858%
33movsxd5849630.1599%96.0179%
34imul5559240.1519%96.1699%
35movdqu5445010.1488%96.3187%
36lock5291310.1446%96.4633%
37ja5274370.1442%96.6075%
38vmovups4444180.1215%96.7289%
39movdqa4322300.1181%96.8471%
40sbb4175790.1141%96.9612%
41neg4149160.1134%97.0746%
42jle4057350.1109%97.1855%
43sar3546960.0969%97.2824%
44dec3057990.0836%97.366%
45jl2654690.0726%97.4386%
46cmove2456890.0672%97.5057%
47mulps2418780.0661%97.5718%
48jg2179060.0596%97.6314%
49xadd2042110.0558%97.6872%
50jge2014000.055%97.7423%
51mulss2005780.0548%97.7971%
52cmovne1972130.0539%97.851%
53vaddps1823500.0498%97.9008%
54addss1647630.045%97.9458%
55vmulps1554630.0425%97.9883%
56ror1546910.0423%98.0306%
57setne1465870.0401%98.0707%
58addps1465090.04%98.1107%
59xchg1382590.0378%98.1485%
60vsubps1326790.0363%98.1848%
61movsx1311060.0358%98.2206%
62sete1260350.0344%98.2551%
63cmpxchg1226910.0335%98.2886%
64vmovsd1213940.0332%98.3218%
65vfmadd231ps1123590.0307%98.3525%
66adc1090000.0298%98.3823%
67not1082500.0296%98.4119%
68vmovaps1040030.0284%98.4403%
69subss1038850.0284%98.4687%
70movq1035040.0283%98.497%
71bt999670.0273%98.5243%
72movd986100.027%98.5512%
73mulsd960900.0263%98.5775%
74shufps916980.0251%98.6026%
75vshufps898370.0246%98.6271%
76mul800780.0219%98.649%
77addsd756660.0207%98.6697%
78subps742130.0203%98.69%
79cmovae706900.0193%98.7093%
80mulpd660350.018%98.7273%
81btr647650.0177%98.745%
82bts644620.0176%98.7627%
83stos623480.017%98.7797%
84rep621550.017%98.7967%
85cmovb594190.0162%98.8129%
86addsubps578000.0158%98.8287%
87cmova575470.0157%98.8445%
88addpd571600.0156%98.8601%
89comiss570610.0156%98.8757%
90vmovss560200.0153%98.891%
91cdq546110.0149%98.9059%
92vbroadcastss518290.0142%98.9201%
93in510960.014%98.934%
94out509120.0139%98.948%
95div466960.0128%98.9607%
96movapd454930.0124%98.9732%
97movshdup453390.0124%98.9855%
98movsldup452540.0124%98.9979%
99subsd426900.0117%99.0096%
100vmovshdup421970.0115%99.0211%
101vmovsldup419360.0115%99.0326%
102jp417550.0114%99.044%
103psrldq410720.0112%99.0552%
104comisd410130.0112%99.0664%
105vinsertf128405800.0111%99.0775%
106cmovs401110.011%99.0885%
107idiv396650.0108%99.0993%
108vfnmadd231ps377110.0103%99.1096%
109movs373230.0102%99.1198%
110rol371970.0102%99.13%
111cdqe370150.0101%99.1401%
112vfmaddsub231ps370060.0101%99.1502%
113vaddpd370050.0101%99.1603%
114cvtdq2ps368510.0101%99.1704%
115outs368260.0101%99.1805%
116divss363270.0099%99.1904%
117vmovdqu355060.0097%99.2001%
118vmovupd345880.0095%99.2096%
119vfnmadd213ps338760.0093%99.2188%
120vxorps331870.0091%99.2279%
121subpd328840.009%99.2369%
122ins325450.0089%99.2458%
123vmulpd325040.0089%99.2547%
124vmovlps324370.0089%99.2635%
125cvtsi2ss323470.0088%99.2724%
126paddw322450.0088%99.2812%
127vfmadd213ps307250.0084%99.2896%
128cvtps2pd299310.0082%99.2978%
129cmovns297730.0081%99.3059%
130paddd293080.008%99.3139%
131vextractf128292180.008%99.3219%
132cmovo291690.008%99.3299%
133vaddsd277810.0076%99.3375%
134vsubpd277560.0076%99.345%
135movddup268330.0073%99.3524%
136cmovl260570.0071%99.3595%
137unpcklps256500.007%99.3665%
138vaddss255320.007%99.3735%
139shufpd253600.0069%99.3804%
140vmulsd247440.0068%99.3872%
141scas246560.0067%99.3939%
142vpshufd243680.0067%99.4006%
143cmps241730.0066%99.4072%
144lods238110.0065%99.4137%
145vaddsubps237820.0065%99.4202%
146vpermpd234450.0064%99.4266%
147retf228960.0063%99.4329%
148vmulss225600.0062%99.439%
149vpxord225180.0062%99.4452%
150vbroadcastsd223950.0061%99.4513%
151pmaddwd216650.0059%99.4572%
152prefetcht0216570.0059%99.4631%
153pxor213890.0058%99.469%
154divsd211850.0058%99.4748%
155jno209340.0057%99.4805%
156cmovbe208360.0057%99.4862%
157cmovg207220.0057%99.4919%
158cvtsi2sd206970.0057%99.4975%
159psraw203280.0056%99.5031%
160andps201500.0055%99.5086%
161cvttss2si200750.0055%99.5141%
162cmovge199940.0055%99.5195%
163movhpd192920.0053%99.5248%
164vfmaddsub213ps191030.0052%99.53%
165lfence184400.005%99.5351%
166ucomiss183460.005%99.5401%
167cvttsd2si177650.0049%99.5449%
168vmovdqa176740.0048%99.5498%
169vsubsd171310.0047%99.5545%
170cmovle162500.0044%99.5589%
171jo161960.0044%99.5633%
172pshufd160680.0044%99.5677%
173vfmadd231sd159530.0044%99.5721%
174cvtdq2pd158230.0043%99.5764%
175vfmadd231ss156890.0043%99.5807%
176movlps156290.0043%99.585%
177loop155870.0043%99.5892%
178vsubss152990.0042%99.5934%
179vpaddd151620.0041%99.5975%
180punpcklwd150250.0041%99.6016%
181cwde140370.0038%99.6055%
182jnp138430.0038%99.6093%
183cvtpd2ps138300.0038%99.613%
184seta137880.0038%99.6168%
185loopne136300.0037%99.6205%
186kmovw135550.0037%99.6242%
187setb134710.0037%99.6279%
188cld134230.0037%99.6316%
189vpermilps130960.0036%99.6352%
190cli130880.0036%99.6388%
191sti129930.0036%99.6423%
192pushfq128320.0035%99.6458%
193punpcklbw128030.0035%99.6493%
194std128010.0035%99.6528%
195loope126880.0035%99.6563%
196hlt125960.0034%99.6597%
197vpxorq125550.0034%99.6632%
198xlat125470.0034%99.6666%
199clc124590.0034%99.67%
200leave123280.0034%99.6734%
201cmc123020.0034%99.6767%
202enter122680.0034%99.6801%
203stc122600.0034%99.6834%
204wait122530.0033%99.6868%
205ucomisd122440.0033%99.6901%
206lahf121500.0033%99.6934%
207jrcxz121200.0033%99.6967%
208movhlps121110.0033%99.7001%
209sahf121050.0033%99.7034%
210pand119660.0033%99.7066%
211cqo118690.0032%99.7099%
212popfq118440.0032%99.7131%
213vfnmadd132ps117390.0032%99.7163%
214iretd115430.0032%99.7195%
215vfmadd231pd111940.0031%99.7225%
216psrad110980.003%99.7256%
217vunpckhpd110310.003%99.7286%
218vmovapd110300.003%99.7316%
219vpmaddwd103690.0028%99.7344%
220pmaddubsw103450.0028%99.7373%
221vpxor95420.0026%99.7399%
222rcl94810.0026%99.7425%
223bsr93920.0026%99.745%
224packuswb91920.0025%99.7475%
225rcr91870.0025%99.7501%
226movlhps91490.0025%99.7526%
227bswap90640.0025%99.755%
228sal89160.0024%99.7575%
229vunpcklpd87530.0024%99.7599%
230vzeroupper81280.0022%99.7621%
231vmovdqu3278790.0022%99.7642%
232vfnmadd231pd77140.0021%99.7663%
233por76600.0021%99.7684%
234psubw75450.0021%99.7705%
235vpaddw74880.002%99.7725%
236vmovhpd74340.002%99.7746%
237unpckhpd74130.002%99.7766%
238vmovddup71770.002%99.7786%
239cpuid71720.002%99.7805%
240vmovd71550.002%99.7825%
241movhps70190.0019%99.7844%
242psrld69780.0019%99.7863%
243adcx69760.0019%99.7882%
244setbe67660.0018%99.7901%
245packssdw67530.0018%99.7919%
246adox66860.0018%99.7937%
247repne66250.0018%99.7956%
248setae65750.0018%99.7973%
249maxss65450.0018%99.7991%
250prefetchw65350.0018%99.8009%
251movupd65100.0018%99.8027%
252bnd63270.0017%99.8044%
253mulx61000.0017%99.8061%
254punpckhwd60980.0017%99.8078%
255cvtss2sd59230.0016%99.8094%
256punpcklqdq59190.0016%99.811%
257pslld58450.0016%99.8126%
258vfmsubadd231ps58300.0016%99.8142%
259syscall55680.0015%99.8157%
260vperm2f12855660.0015%99.8172%
261bsf55240.0015%99.8187%
262vpsraw54620.0015%99.8202%
263minss53200.0015%99.8217%
264movlpd52810.0014%99.8231%
265packusdw52790.0014%99.8246%
266vshufpd51940.0014%99.826%
267vpand51710.0014%99.8274%
268vmovq51320.0014%99.8288%
269pshufb50640.0014%99.8302%
270rorx50570.0014%99.8316%
271vfmadd213pd50530.0014%99.833%
272fld50430.0014%99.8343%
273divpd50250.0014%99.8357%
274vfmadd213sd50060.0014%99.8371%
275pmovmskb50030.0014%99.8384%
276paddsw49850.0014%99.8398%
277vpermd48460.0013%99.8411%
278cvtsd2ss48230.0013%99.8425%
279insertps48140.0013%99.8438%
280setg47660.0013%99.8451%
281pmullw47420.0013%99.8464%
282rdtsc47310.0013%99.8477%
283vpaddq46850.0013%99.8489%
284vmovhlps46670.0013%99.8502%
285ud246480.0013%99.8515%
286punpckldq45350.0012%99.8527%
287vshuff64x245000.0012%99.854%
288addsubpd44690.0012%99.8552%
289vpsrld43300.0012%99.8564%
290vshuff32x442910.0012%99.8575%
291unpcklpd42820.0012%99.8587%
292lddqu42710.0012%99.8599%
293punpckhqdq41770.0011%99.861%
294orps41750.0011%99.8622%
295psubd41360.0011%99.8633%
296vpsrad40940.0011%99.8644%
297vpbroadcastd40900.0011%99.8655%
298fstp40840.0011%99.8666%
299ficom39840.0011%99.8677%
300fild39760.0011%99.8688%
301vunpcklps39430.0011%99.8699%
302vextractf64x439000.0011%99.871%
303vpunpcklwd38880.0011%99.872%
304unpckhps38700.0011%99.8731%
305fadd38290.001%99.8741%
306vfnmadd213pd38180.001%99.8752%
307psrlw37540.001%99.8762%
308pslldq37370.001%99.8772%
309vfmadd132ps37270.001%99.8782%
310vpmuldq36410.001%99.8792%
311fmul34870.001%99.8802%
312fisttp34810.001%99.8811%
313punpckhbw34210.0009%99.8821%
314ldmxcsr33890.0009%99.883%
315fistp33820.0009%99.8839%
316psadbw33660.0009%99.8848%
317pmulhw33610.0009%99.8858%
318vfmsubadd213ps33550.0009%99.8867%
319vextractps32160.0009%99.8876%
320vpunpckhwd31870.0009%99.8884%
321psllw31780.0009%99.8893%
322vpmaddubsw31660.0009%99.8902%
323vpor31580.0009%99.891%
324vfmsub231ss31400.0009%99.8919%
325vxorpd31070.0008%99.8927%
326xacquire31000.0008%99.8936%
327pcmpeqb30890.0008%99.8944%
328vpslld30680.0008%99.8953%
329vbroadcastf12830610.0008%99.8961%
330vfmadd213ss30580.0008%99.8969%
331fdivr30190.0008%99.8978%
332fsub30160.0008%99.8986%
333fdiv29970.0008%99.8994%
334pandn29950.0008%99.9002%
335valignd29870.0008%99.901%
336fsubr29670.0008%99.9018%
337vinsertf64x429620.0008%99.9027%
338vfmaddsub231pd29520.0008%99.9035%
339vmovhps29450.0008%99.9043%
340vfmsub231sd28970.0008%99.9051%
341pextrw28320.0008%99.9058%
342vinsertps27660.0008%99.9066%
343shlx27610.0008%99.9073%
344fcom27260.0007%99.9081%
345palignr27100.0007%99.9088%
346fst27000.0007%99.9096%
347fcomp26890.0007%99.9103%
348vmovntdq26710.0007%99.911%
349pcmpgtd26630.0007%99.9118%
350vfmsubadd231pd26560.0007%99.9125%
351fiadd26520.0007%99.9132%
352vshufi32x426440.0007%99.9139%
353setns26260.0007%99.9147%
354pause25990.0007%99.9154%
355vfmsubadd213pd25800.0007%99.9161%
356vpcmpgtq25790.0007%99.9168%
357vpackusdw25280.0007%99.9175%
358setl25230.0007%99.9182%
359vfmaddsub213pd24870.0007%99.9188%
360pinsrw24820.0007%99.9195%
361fimul24770.0007%99.9202%
362vfmaddsub132ps24030.0007%99.9208%
363fidivr23950.0007%99.9215%
364vcvtps2pd23550.0006%99.9221%
365ficomp23260.0006%99.9228%
366fist23150.0006%99.9234%
367fidiv23030.0006%99.924%
368pshuflw22880.0006%99.9247%
369stmxcsr22610.0006%99.9253%
369setge22610.0006%99.9259%
371aesenc22560.0006%99.9265%
372vunpckhps22530.0006%99.9271%
373vpermq22340.0006%99.9277%
374pcmpeqd22280.0006%99.9284%
375fisub21900.0006%99.929%
376vperm2i12821890.0006%99.9296%
377vpbroadcastq21710.0006%99.9301%
378vmovdqu6421670.0006%99.9307%
379vpackssdw21640.0006%99.9313%
380paddq21450.0006%99.9319%
381fisubr21390.0006%99.9325%
382psrlq21140.0006%99.9331%
383vpmovsxdq20160.0006%99.9336%
384vpmovmskb19820.0005%99.9342%
385vpcmpeqb19600.0005%99.9347%
386punpckhdq19250.0005%99.9352%
387vpmulld19120.0005%99.9358%
388vgatherdps19090.0005%99.9363%
389xorpd18810.0005%99.9368%
390setle18590.0005%99.9373%
391psubsw18550.0005%99.9378%
392xgetbv18540.0005%99.9383%
393vgatherqpd18430.0005%99.9388%
394maxsd18170.0005%99.9393%
395vfmsub231ps18050.0005%99.9398%
396pcmpeqw17970.0005%99.9403%
397pavgb17770.0005%99.9408%
398kandw17300.0005%99.9413%
399vpshufb16880.0005%99.9417%
400vpackuswb16870.0005%99.9422%
400pshufhw16870.0005%99.9426%
402shrd16820.0005%99.9431%
403pcmpgtw16520.0005%99.9436%
404vptestmd16380.0004%99.944%
405vexpandps16100.0004%99.9444%
406vgatherqps15840.0004%99.9449%
407vcmpneqps15460.0004%99.9453%
408kxnorw15400.0004%99.9457%
409andnps15330.0004%99.9461%
410ht15120.0004%99.9465%
411minsd15050.0004%99.947%
412vpsubw15000.0004%99.9474%
413vpsllq14830.0004%99.9478%
414vcompressps14560.0004%99.9482%
415wrmsr14480.0004%99.9486%
416xbegin14320.0004%99.949%
417pcmpgtb14260.0004%99.9493%
418cvttps2dq14220.0004%99.9497%
419vblendmps14210.0004%99.9501%
420vpcmpeqq14030.0004%99.9505%
421psllq13970.0004%99.9509%
422vpsubd13880.0004%99.9513%
423prefetcht113660.0004%99.9516%
424vpsrlq13580.0004%99.952%
425kshiftrw13540.0004%99.9524%
426maxps13510.0004%99.9528%
427cmpneqps13330.0004%99.9531%
428fldcw13310.0004%99.9535%
429pclmulqdq13300.0004%99.9538%
430vpcmpeqd13230.0004%99.9542%
431vfnmadd231sd13160.0004%99.9546%
432pmaxsw13150.0004%99.9549%
433xabort13110.0004%99.9553%
434pmaxub12910.0004%99.9556%
435minps12880.0004%99.956%
436vpunpcklbw12860.0004%99.9563%
437fnstcw12700.0003%99.9567%
438vcvtpd2ps12630.0003%99.957%
439fnsave12450.0003%99.9574%
440vfnmadd231ss12440.0003%99.9577%
441fnstsw12400.0003%99.9581%
442cvtps2dq12300.0003%99.9584%
443paddusw12060.0003%99.9587%
444vpunpckldq11780.0003%99.959%
445vpcmpgtd11660.0003%99.9594%
446vfnmadd132pd11500.0003%99.9597%
447vpunpckhbw11490.0003%99.96%
448cvtss2si11360.0003%99.9603%
448aesdec11360.0003%99.9606%
450frstor11240.0003%99.9609%
451pminsw11160.0003%99.9612%
452fldenv11040.0003%99.9615%
453fnstenv10900.0003%99.9618%
454fbld10870.0003%99.9621%
455vpsrldq10820.0003%99.9624%
456vpblendmq10780.0003%99.9627%
456rdmsr10780.0003%99.963%
458vpermps10750.0003%99.9633%
459hnt10580.0003%99.9636%
460fbstp10520.0003%99.9639%
461vmaxps10260.0003%99.9642%
462vfmsub213ps10160.0003%99.9644%
463pabsw10130.0003%99.9647%
464vpmullw10100.0003%99.965%
465tzcnt10040.0003%99.9653%
466vpermt2ps9990.0003%99.9655%
467vpermt2q9980.0003%99.9658%
468pmuludq9800.0003%99.9661%
469pminub9710.0003%99.9663%
470iretq9660.0003%99.9666%
471pmovzxbw9640.0003%99.9669%
472andn9510.0003%99.9671%
473vpmovsxwd9490.0003%99.9674%
474btc9430.0003%99.9676%
475vextracti1289370.0003%99.9679%
476vpsrlw9350.0003%99.9682%
477psubusb9330.0003%99.9684%
478vpmulhw9210.0003%99.9687%
479vdivpd9180.0003%99.9689%
480vpcmpeqw9130.0002%99.9692%
481psubb9090.0002%99.9694%
482vpclmulqdq9080.0002%99.9697%
483vfmsub231pd8990.0002%99.9699%
484vpblendvb8940.0002%99.9701%
485pmulld8820.0002%99.9704%
486vmaskmovps8780.0002%99.9706%
487sets8580.0002%99.9709%
488vpsllw8550.0002%99.9711%
489pinsrd8520.0002%99.9713%
490vfmsub213sd8510.0002%99.9716%
491vpunpcklqdq8260.0002%99.9718%
492vpmuludq8200.0002%99.972%
493prefetchnta8110.0002%99.9722%
494vaesenc8080.0002%99.9725%
495vpternlogq8000.0002%99.9727%
496vpmovqd7990.0002%99.9729%
497paddb7970.0002%99.9731%
498kortestw7880.0002%99.9733%
499movntdq7820.0002%99.9735%
500vandps7810.0002%99.9738%
501vpunpckhdq7800.0002%99.974%
502movntps7750.0002%99.9742%
503vpminsq7680.0002%99.9744%
504vfmsub213ss7620.0002%99.9746%
505vcomisd7570.0002%99.9748%
506vpermi2q7530.0002%99.975%
506retfq7530.0002%99.9752%
508vpmaxsq7460.0002%99.9754%
509vpalignr7400.0002%99.9756%
510vpermi2ps7180.0002%99.9758%
511vpunpckhqdq7130.0002%99.976%
512psubq7110.0002%99.9762%
513extractps6980.0002%99.9764%
514vpsraq6880.0002%99.9766%
514vpdpbusds6880.0002%99.9768%
514faddp6880.0002%99.977%
517vcvtsd2ss6840.0002%99.9771%
518aesenclast6750.0002%99.9773%
519vfmsub213pd6670.0002%99.9775%
520vpandn6610.0002%99.9777%
521vucomiss6540.0002%99.9779%
522vpbroadcastw6490.0002%99.9781%
523vpaddsw6430.0002%99.9782%
524vpmovzxbw6410.0002%99.9784%
524vdivss6410.0002%99.9786%
526vdivsd6380.0002%99.9788%
527vmovlpd6300.0002%99.9789%
527vbroadcastf32x46300.0002%99.9791%
529vpsubq6280.0002%99.9793%
530vcvtsi2sd6210.0002%99.9794%
531fxch6140.0002%99.9796%
532sha256rnds26090.0002%99.9798%
533vpinsrd6070.0002%99.9799%
534vhaddps5890.0002%99.9801%
535sqrtss5820.0002%99.9803%
536shld5810.0002%99.9804%
537sfence5780.0002%99.9806%
538packsswb5680.0002%99.9807%
539divps5660.0002%99.9809%
540vpandd5640.0002%99.981%
541vscatterdps5620.0002%99.9812%
542vcvtdq2pd5380.0001%99.9813%
543vpandq5270.0001%99.9815%
544sldt5180.0001%99.9816%
545vinsertf32x45160.0001%99.9818%
546vextracti64x45140.0001%99.9819%
547vpmovzxwd5130.0001%99.982%
548vinserti1285060.0001%99.9822%
548pcmpistri5060.0001%99.9823%
550vpscatterdd5040.0001%99.9825%
551andpd4850.0001%99.9826%
552vfmadd132sd4840.0001%99.9827%
553vblendps4780.0001%99.9829%
553fstp14780.0001%99.983%
555vfmadd132pd4750.0001%99.9831%
556vpmovb2m4690.0001%99.9832%
557pblendvb4560.0001%99.9834%
558vbroadcastf64x44540.0001%99.9835%
559vcvtdq2ps4440.0001%99.9836%
560fsubp4410.0001%99.9837%
561vpsadbw4390.0001%99.9839%
562vcvtss2sd4370.0001%99.984%
563fmulp4310.0001%99.9841%
564fcomp34220.0001%99.9842%
565vmovdqu164210.0001%99.9843%
566vcomiss4200.0001%99.9844%
567vpermt2pd4120.0001%99.9845%
568vfmadd132ss4090.0001%99.9847%
569movmskps4020.0001%99.9848%
570fsubrp3970.0001%99.9849%
571vinserti64x43960.0001%99.985%
572fcmovu3940.0001%99.9851%
573fcomp53930.0001%99.9852%
574vpslldq3910.0001%99.9853%
574popcnt3910.0001%99.9854%
576kmovb3890.0001%99.9855%
577ffreep3810.0001%99.9856%
577fcmovnb3810.0001%99.9857%
579vaddsubpd3800.0001%99.9858%
580aesdeclast3740.0001%99.9859%
581fdivrp3720.0001%99.986%
582fstp93690.0001%99.9861%
583ffree3680.0001%99.9862%
584movnti3670.0001%99.9863%
585fxch43640.0001%99.9864%
586fcomip3630.0001%99.9865%
587fcmovnu3620.0001%99.9866%
588vblendmpd3600.0001%99.9867%
588fucomip3600.0001%99.9868%
588fdivp3600.0001%99.9869%
588fcom23600.0001%99.987%
592fstp83580.0001%99.9871%
593fxch73570.0001%99.9872%
593fcmovne3570.0001%99.9873%
593fcmovb3570.0001%99.9874%
596kandnw3560.0001%99.9875%
596fucomp3560.0001%99.9876%
598vpermi2d3440.0001%99.9877%
599orpd3400.0001%99.9878%
600vcvtsi2ss3370.0001%99.9879%
601fcomi3360.0001%99.988%
602vcmpps3350.0001%99.9881%
602minpd3350.0001%99.9882%
602fucomi3350.0001%99.9883%
605vpermt2d3340.0001%99.9884%
605vmwrite3340.0001%99.9884%
607fucom3300.0001%99.9885%
608sqrtpd3290.0001%99.9886%
609repe3280.0001%99.9887%
609fcmove3280.0001%99.9888%
611vpermi2pd3230.0001%99.9889%
612cvttpd2dq3170.0001%99.989%
613vucomisd3160.0001%99.9891%
613vpmovzxbd3160.0001%99.9892%
615fcmovbe3150.0001%99.9892%
616vpinsrw3110.0001%99.9893%
617vpextrw3090.0001%99.9894%
618vmovdqa643080.0001%99.9895%
619paddusb3060.0001%99.9896%
620vmovlhps3050.0001%99.9897%
620psubusw3050.0001%99.9897%
622haddps3030.0001%99.9898%
623vorpd3010.0001%99.9899%
624vmovdqa322970.0001%99.99%
625fcmovnbe2960.0001%99.9901%
625cmpltps2960.0001%99.9902%
627vcmpss2940.0001%99.9902%
628vldmxcsr2890.0001%99.9903%
629vminps2870.0001%99.9904%
630mpsadbw2840.0001%99.9905%
631kunpckbw2780.0001%99.9905%
632sqrtps2770.0001%99.9906%
633pmulhuw2740.0001%99.9907%
634prefetcht22710.0001%99.9908%
635vfmsub132sd2690.0001%99.9908%
636pmovsxwd2640.0001%99.9909%
637vpminsw2560.0001%99.991%
638vfmsub132ss2540.0001%99.9911%
639vstmxcsr2530.0001%99.9911%
639cvtpd2dq2530.0001%99.9912%
641vpternlogd2510.0001%99.9913%
642setp2460.0001%99.9913%
643vscalefss2450.0001%99.9914%
644pmovsxdq2440.0001%99.9915%
645vpminsd2430.0001%99.9915%
646knotw2370.0001%99.9916%
647vgetmantss2320.0001%99.9917%
647vgetexpss2320.0001%99.9917%
649sha256msg12310.0001%99.9918%
650sha256msg22300.0001%99.9918%
651vinserti32x42290.0001%99.9919%
652crc322260.0001%99.992%
653vpextrd2240.0001%99.992%
653vpblendw2240.0001%99.9921%
653cmpxchg16b2240.0001%99.9922%
656vpabsw2200.0001%99.9922%
656haddpd2200.0001%99.9923%
658vpmaxsw2160.0001%99.9923%
658vextractf32x42160.0001%99.9924%
658vcvtps2dq2160.0001%99.9924%
658vaesdec2160.0001%99.9925%
662pshufw2130.0001%99.9926%
663vpermi2w2090.0001%99.9926%
664vscatterqps2070.0001%99.9927%
665maxpd2050.0001%99.9927%
666vmovdqu82040.0001%99.9928%
667pcmpeqq2020.0001%99.9928%
668vfnmadd213sd2010.0001%99.9929%
668rsqrtps2010.0001%99.993%
670swapgs1990.0001%99.993%
670fnclex1990.0001%99.9931%
672jmpe1970.0001%99.9931%
673vandpd1960.0001%99.9932%
674sarx1950.0001%99.9932%
674emms1950.0001%99.9933%
676vmread1920.0001%99.9933%
677vpminud1900.0001%99.9934%
677vpgatherdd1900.0001%99.9934%
677kshiftlw1900.0001%99.9935%
680vpmovsxbw1890.0001%99.9935%
681pextrb1880.0001%99.9936%
682verw1850.0001%99.9936%
683pinsrb1840.0001%99.9937%
684vpaddusw1830.0001%99.9937%
685vpshuflw1810%99.9938%
685mfence1810%99.9938%
687vpermt2w1790%99.9939%
688movmskpd1760%99.9939%
689movdq2q1730%99.994%
690movq2dq1720%99.994%
691vfmsub132ps1710%99.9941%
692cvtpi2ps1680%99.9941%
693pextrd1670%99.9942%
694sha1rnds41650%99.9942%
695cvtsd2si1630%99.9943%
696vfnmadd213ss1610%99.9943%
696vex1610%99.9943%
696sha1nexte1610%99.9944%
699vprold1600%99.9944%
699vfmsubadd132ps1600%99.9945%
701vpmovdb1590%99.9945%
702pavgw1560%99.9946%
703cmpeqps1540%99.9946%
704sqrtsd1530%99.9946%
705vgetmantsd1520%99.9947%
705vgetexpsd1520%99.9947%
707str1490%99.9948%
707pmovzxbd1490%99.9948%
709vaesenclast1480%99.9949%
710vpaddusb1470%99.9949%
710shrx1470%99.9949%
712wbinvd1460%99.995%
712vpmovdw1460%99.995%
712rdsspq1460%99.9951%
715vpsubb1440%99.9951%
715vbroadcasti64x41440%99.9951%
715korw1440%99.9952%
718ltr1430%99.9952%
719vhaddpd1370%99.9952%
719pminud1370%99.9953%
721vptestmq1360%99.9953%
721vpcmpd1360%99.9954%
721kmovd1360%99.9954%
724pcmpgtq1340%99.9954%
725vpaddb1310%99.9955%
725vextracti32x41310%99.9955%
727vmaxss1300%99.9955%
727cmpless1300%99.9956%
729sha1msg21290%99.9956%
729sha1msg11290%99.9956%
729prefetchwt11290%99.9957%
732vorps1270%99.9957%
732phaddd1270%99.9958%
734vsqrtsd1250%99.9958%
734vpmovm2q1250%99.9958%
734vpmovd2m1250%99.9959%
734vpinsrq1250%99.9959%
738lldt1240%99.9959%
739vpmaskmovd1230%99.996%
739pmuldq1230%99.996%
741vpshufhw1220%99.996%
742vcvtpd2dq1210%99.9961%
742psignw1210%99.9961%
744vsqrtss1180%99.9961%
744aeskeygenassist1180%99.9962%
746sgdt1150%99.9962%
747vpmadd52luq1140%99.9962%
747vpmadd52huq1140%99.9962%
747vcmpeqss1140%99.9963%
750cmpleps1130%99.9963%
751vprotd1120%99.9963%
751vminpd1120%99.9964%
753vscalefps1110%99.9964%
754vpmovzxdq1100%99.9964%
754vmaxpd1100%99.9965%
756vbroadcasti32x41080%99.9965%
757rdpmc1070%99.9965%
758vpminuq1040%99.9965%
759lsl1030%99.9966%
760vcvttpd2dq1020%99.9966%
761verr1010%99.9966%
762vzeroall1000%99.9967%
763vscalefsd990%99.9967%
764tileloadd980%99.9967%
765vdivps970%99.9967%
765cmpltss970%99.9968%
767vrcp28ss950%99.9968%
767vpmovm2w950%99.9968%
767vpcmpgtw950%99.9968%
770vphaddd940%99.9969%
770pblendw940%99.9969%
772vgetexpps930%99.9969%
772pminsd930%99.9969%
774vpcmpuq910%99.997%
775vpblendd900%99.997%
775vlddqu900%99.997%
777vpexpandd880%99.997%
777lar880%99.9971%
779vbroadcasti128870%99.9971%
779rcpps870%99.9971%
779pmaxsd870%99.9971%
782paddsb860%99.9972%
783vfmsubadd132pd850%99.9972%
784vcvttsd2si840%99.9972%
784vcvtss2si840%99.9972%
784movntpd840%99.9973%
787blsr830%99.9973%
788vfnmadd132sd820%99.9973%
788seto820%99.9973%
788saveprevssp820%99.9973%
788rstorssp820%99.9974%
788cvttps2pi820%99.9974%
793vfmaddsub132pd810%99.9974%
793incsspq810%99.9974%
795vblendpd790%99.9975%
796vcmpsd750%99.9975%
796invlpg750%99.9975%
796femms750%99.9975%
799vblendvpd740%99.9975%
800vrcp28sd730%99.9976%
800pmovzxwd730%99.9976%
800invd730%99.9976%
803clts720%99.9976%
804sysret710%99.9976%
805vmovmskps700%99.9977%
805vandnps700%99.9977%
807psignd690%99.9977%
808stac680%99.9977%
808cmpltpd680%99.9977%
810vpminub670%99.9978%
810vblendvps670%99.9978%
812vsqrtpd660%99.9978%
812psubsb660%99.9978%
814vrsqrtps650%99.9978%
814vpmulhuw650%99.9978%
814cmovp650%99.9979%
817vpsubsw640%99.9979%
817vprotq640%99.9979%
819vphaddw620%99.9979%
819vfmsub132pd620%99.9979%
819sysenter620%99.9979%
822cwd600%99.998%
822clflush600%99.998%
824roundsd590%99.998%
824pmaxud590%99.998%
826jecxz580%99.998%
827vmaskmovpd570%99.998%
827fucompp570%99.9981%
827endbr64570%99.9981%
830vptestnmq560%99.9981%
830kshiftld560%99.9981%
830kord560%99.9981%
830feni560%99.9981%
834vpsignd550%99.9981%
834lidt550%99.9982%
834iret550%99.9982%
834f2xm1550%99.9982%
838vpsignw540%99.9982%
839vpblendmd530%99.9982%
839pushf530%99.9982%
839cmpeqss530%99.9983%
842pmaxsb520%99.9983%
842phaddw520%99.9983%
842ibts520%99.9983%
842fldz520%99.9983%
846sysexit510%99.9983%
846popf510%99.9983%
846fprem1510%99.9983%
846fprem510%99.9984%
846fdisi510%99.9984%
851setnp500%99.9984%
851pabsd500%99.9984%
851fsetpm500%99.9984%
851fninit500%99.9984%
855vcvttps2dq490%99.9984%
855kshiftrd490%99.9985%
855getsec490%99.9985%
855fxam490%99.9985%
859vmptrld480%99.9985%
859setno480%99.9985%
859fptan480%99.9985%
859cmovnp480%99.9985%
859cmovno480%99.9986%
864lgs470%99.9986%
864hsubps470%99.9986%
864fnop470%99.9986%
864fld1470%99.9986%
864cmpps470%99.9986%
864cbw470%99.9986%
870vpsubsb460%99.9986%
870fyl2xp1460%99.9987%
870fsqrt460%99.9987%
870fpatan460%99.9987%
874pminsb450%99.9987%
875xbts440%99.9987%
875vpord440%99.9987%
875fxrstor440%99.9987%
875fldl2t440%99.9987%
875fabs440%99.9988%
880vpabsq430%99.9988%
880tpause430%99.9988%
880rsm430%99.9988%
880pminuw430%99.9988%
880pinsrq430%99.9988%
880fxsave430%99.9988%
880fsincos430%99.9988%
880frndint430%99.9988%
880cvtps2pi430%99.9989%
889vpinsrb420%99.9989%
889vgetmantps420%99.9989%
889tilestored420%99.9989%
889tdpbusd420%99.9989%
889fscale420%99.9989%
889fcos420%99.9989%
895roundss410%99.9989%
895rdtscp410%99.9989%
895lgdt410%99.999%
898vpsignb400%99.999%
898vporq400%99.999%
898vpcompressd400%99.999%
898vpacksswb400%99.999%
898fyl2x400%99.999%
898fldpi400%99.999%
904vpbroadcastb390%99.999%
904bndstx390%99.999%
906sidt380%99.9991%
906lfs380%99.9991%
908ftst370%99.9991%
908fldln2370%99.9991%
908fincstp370%99.9991%
911movbe360%99.9991%
911fchs360%99.9991%
913xrelease350%99.9991%
913fsin350%99.9991%
913fldl2e350%99.9991%
913fdecstp350%99.9992%
917vpextrq340%99.9992%
917fcompp340%99.9992%
919andnpd330%99.9992%
920vandnpd320%99.9992%
920pmaxuw320%99.9992%
922pdep310%99.9992%
923vminss300%99.9992%
923vcmpgtss300%99.9992%
923lss300%99.9992%
923fxtract300%99.9992%
927xrstor64290%99.9992%
927vpavgb290%99.9993%
927clflushopt290%99.9993%
930vrsqrt28ss280%99.9993%
930vpmullq280%99.9993%
930vfixupimmss280%99.9993%
930maskmovdqu280%99.9993%
930blendvps280%99.9993%
935xsetbv270%99.9993%
935vrcp28ps270%99.9993%
935vpmaxsd270%99.9993%
935vpermilpd270%99.9993%
935vpcmpgtb270%99.9993%
935pmovzxdq270%99.9993%
935kmovq270%99.9994%
935cmplesd270%99.9994%
935bndldx270%99.9994%
944vminsd260%99.9994%
944vmaxsd260%99.9994%
944vcvtsd2si260%99.9994%
944mwaitx260%99.9994%
944cmpnltsd260%99.9994%
949vfnmadd132ss250%99.9994%
949movntq250%99.9994%
949monitorx250%99.9994%
949fldlg2250%99.9994%
953xrstor240%99.9994%
953vpmovusdb240%99.9994%
953vpavgw240%99.9995%
953vmovntpd240%99.9995%
953vcvttss2si240%99.9995%
953vcmpeqps240%99.9995%
953vaesdeclast240%99.9995%
953pmulhrsw240%99.9995%
953movntdqa240%99.9995%
953clwb240%99.9995%
963vmovntps230%99.9995%
963vmclear230%99.9995%
963roundps230%99.9995%
966vptest220%99.9995%
966vpminuw220%99.9995%
968vscatterqpd210%99.9995%
968vrcpps210%99.9995%
968vpmulhrsw210%99.9995%
968vpabsd210%99.9996%
968valignq210%99.9996%
968cmpnltps210%99.9996%
974vpdpbusd200%99.9996%
974aesimc200%99.9996%
976xsave190%99.9996%
976vdpps190%99.9996%
976vcvtph2ps190%99.9996%
976maskmovq190%99.9996%
976dpps190%99.9996%
981xrstors180%99.9996%
981vrsqrt28ps180%99.9996%
981phminposuw180%99.9996%
981lzcnt180%99.9996%
981cmpeqpd180%99.9996%
986vpextrb170%99.9996%
986vpermw170%99.9996%
986vpcmpq170%99.9996%
986vmcall170%99.9996%
986vextractf32x8170%99.9996%
986ptest170%99.9997%
992vpmaxub160%99.9997%
992vcmpnltsd160%99.9997%
992vcmplesd160%99.9997%
992tdcall160%99.9997%
992rdrand160%99.9997%
992cmpnltss160%99.9997%
992cmpltsd160%99.9997%
999vmmcall150%99.9997%
1000vroundsd140%99.9997%
1000vrcpss140%99.9997%
1000invpcid140%99.9997%
1000cmpeqsd140%99.9997%
1004vpandnd130%99.9997%
1004vfpclassps130%99.9997%
1004vcmpngt_uqps130%99.9997%
1004rsqrtss130%99.9997%
1008vrsqrt14ps120%99.9997%
1008vmgexit120%99.9997%
1008vcmpgt_oqps120%99.9997%
1008stgi120%99.9997%
1008pi2fw120%99.9997%
1008pcmpestri120%99.9997%
1008clac120%99.9997%
1015vsqrtps110%99.9997%
1015vpgatherdq110%99.9997%
1015vhsubpd110%99.9997%
1015cmpnless110%99.9998%
1015cmpnlesd110%99.9998%
1020xsaves100%99.9998%
1020wrssq100%99.9998%
1020vptestmb100%99.9998%
1020vpsubusw100%99.9998%
1020vcvtusi2sd100%99.9998%
1020vcmpeqsd100%99.9998%
1020roundpd100%99.9998%
1020cmpnltpd100%99.9998%
1020cmpneqss100%99.9998%
1029xsaves6490%99.9998%
1029vshufi64x290%99.9998%
1029vscatterdpd90%99.9998%
1029vroundss90%99.9998%
1029vroundps90%99.9998%
1029vpsubusb90%99.9998%
1029vmptrst90%99.9998%
1029vmpsadbw90%99.9998%
1029pextrq90%99.9998%
1038vptestnmd80%99.9998%
1038vpsrlvq80%99.9998%
1038vpsrlvd80%99.9998%
1038vpmaxuq80%99.9998%
1038vpermb80%99.9998%
1038vpcmpud80%99.9998%
1038vpaddsb80%99.9998%
1038vcmpgtps80%99.9998%
1038sysretq80%99.9998%
1038movdir64b80%99.9998%
1038fxsave6480%99.9998%
1038cmpunordss80%99.9998%
1038cmpunordsd80%99.9998%
1038cmpordss80%99.9998%
1038cmpordsd80%99.9998%
1038cmpneqsd80%99.9998%
1054xsaveopt6470%99.9998%
1054xrstors6470%99.9998%
1054vrsqrtss70%99.9998%
1054vrsqrt28sd70%99.9998%
1054vpandnq70%99.9998%
1054vmovmskpd70%99.9998%
1054vfixupimmsd70%99.9999%
1054rcpss70%99.9999%
1054phaddsw70%99.9999%
1054fxrstor6470%99.9999%
1054cldemote70%99.9999%
1065xsaveopt60%99.9999%
1065xsavec60%99.9999%
1065xsave6460%99.9999%
1065wrussq60%99.9999%
1065vrcp14ps60%99.9999%
1065vmxoff60%99.9999%
1065vmsave60%99.9999%
1065vmrun60%99.9999%
1065vhsubps60%99.9999%
1065vfixupimmps60%99.9999%
1065vcmpngtss60%99.9999%
1065vcmpltps60%99.9999%
1065umwait60%99.9999%
1065umonitor60%99.9999%
1065smsw60%99.9999%
1065prefetchit060%99.9999%
1065pi2fd60%99.9999%
1065kxorw60%99.9999%
1065cmpunordps60%99.9999%
1084vptestmw50%99.9999%
1084vpmovsxbd50%99.9999%
1084vmresume50%99.9999%
1084vmload50%99.9999%
1084vdppd50%99.9999%
1084vcvtps2ph50%99.9999%
1084setssbsy50%99.9999%
1084seamcall50%99.9999%
1084rdseed50%99.9999%
1084psignb50%99.9999%
1084prefetch50%99.9999%
1084pmovsxbw50%99.9999%
1084mwait50%99.9999%
1084monitor50%99.9999%
1084cmpnlepd50%99.9999%
1099vpsllvd40%99.9999%
1099vpmaxuw40%99.9999%
1099vpmaskmovq40%99.9999%
1099vpcmpub40%99.9999%
1099vmlaunch40%99.9999%
1099vinserti64x240%99.9999%
1099vinsertf32x840%99.9999%
1099vfnmsub231ps40%99.9999%
1099vfnmsub213sd40%99.9999%
1099vcmpleps40%99.9999%
1099rdpid40%99.9999%
1099pabsb40%99.9999%
1099invlpga40%99.9999%
1099dppd40%99.9999%
1099cmpnleps40%99.9999%
1099cmpneqpd40%99.9999%
1099cmplepd40%99.9999%
1099clgi40%99.9999%
1117vrndscaleps30%99.9999%
1117vpsllvq30%99.9999%
1117vmxon30%99.9999%
1117vmovntdqa30%99.9999%
1117vmfunc30%99.9999%
1117vfnmsub231ss30%99.9999%
1117vfnmsub213ss30%99.9999%
1117vcmppd30%99.9999%
1117pmovsxwq30%99.9999%
1117pmovsxbd30%99.9999%
1117kandb30%99.9999%
1117encls30%99.9999%
1117cmpxchg8b30%99.9999%
1117clrssbsy30%99.9999%
1117bzhi30%99.9999%
1117blendvpd30%99.9999%
1117bextr30%99.9999%
1134xend20%99.9999%
1134vgatherdpd20%99.9999%
1134vfnmaddss20%99.9999%
1134vextracti32x820%99.9999%
1134vcvtqq2pd20%99.9999%
1134vcmpord_spd20%99.9999%
1134vcmpltss20%99.9999%
1134vcmpltsd20%99.9999%
1134vcmpgt_oqss20%99.9999%
1134vcmpgeps20%99.9999%
1134vcmpeq_uspd20%99.9999%
1134sttilecfg20%100%
1134prefetchit120%100%
1134pmulhrw20%100%
1134pfcmpge20%100%
1134pext20%100%
1134lmsw20%100%
1134ldtilecfg20%100%
1134kxorb20%100%
1134korb20%100%
1134kandnb20%100%
1134kaddb20%100%
1134cmpunordpd20%100%
1134cmpordps20%100%
1134bndcn20%100%
1134blsmsk20%100%
1134blsi20%100%
1161xtest10%100%
1161wrfsbase10%100%
1161vrsqrt14ss10%100%
1161vrsqrt14sd10%100%
1161vrsqrt14pd10%100%
1161vrndscalesd10%100%
1161vreducesh10%100%
1161vreduceph10%100%
1161vrcp14ss10%100%
1161vrcp14sd10%100%
1161vrangesd10%100%
1161vpsravq10%100%
1161vpsravd10%100%
1161vpshrdvq10%100%
1161vpshldq10%100%
1161vpshld10%100%
1161vpshad10%100%
1161vphsubsw10%100%
1161vphsubd10%100%
1161vphminposuw10%100%
1161vphaddwd10%100%
1161vphadduwq10%100%
1161vpcomb10%100%
1161vpcmpestrm10%100%
1161vpcmov10%100%
1161vpabsb10%100%
1161vmaskmovdqu10%100%
1161vinserti32x810%100%
1161vgetexpsh10%100%
1161vfrczpd10%100%
1161vfnmsub213ps10%100%
1161vfnmsub213pd10%100%
1161vfmsubss10%100%
1161vfmsubpd10%100%
1161vfmsubaddps10%100%
1161vfmaddsubps10%100%
1161vfmaddsub231ph10%100%
1161vfmaddsub213ph10%100%
1161vfcmaddcsh10%100%
1161vexpandpd10%100%
1161vdivph10%100%
1161vcvttph2qq10%100%
1161vcvttpd2udq10%100%
1161vcvtneps2bf1610%100%
1161vcmpunord_sss10%100%
1161vcmpunord_ssd10%100%
1161vcmpunord_sps10%100%
1161vcmpunord_spd10%100%
1161vcmptruess10%100%
1161vcmptruesd10%100%
1161vcmptrueps10%100%
1161vcmptruepd10%100%
1161vcmptrue_usss10%100%
1161vcmptrue_ussd10%100%
1161vcmptrue_usps10%100%
1161vcmptrue_uspd10%100%
1161vcmpord_sss10%100%
1161vcmpord_ssd10%100%
1161vcmpord_sps10%100%
1161vcmpnlt_uqss10%100%
1161vcmpnlt_uqsd10%100%
1161vcmpnlt_uqps10%100%
1161vcmpnlt_uqpd10%100%
1161vcmpnle_uqss10%100%
1161vcmpnle_uqsd10%100%
1161vcmpnle_uqps10%100%
1161vcmpnle_uqpd10%100%
1161vcmpngtpd10%100%
1161vcmpngt_uqss10%100%
1161vcmpngt_uqsd10%100%
1161vcmpngt_uqpd10%100%
1161vcmpnge_uqss10%100%
1161vcmpnge_uqsd10%100%
1161vcmpnge_uqps10%100%
1161vcmpnge_uqpd10%100%
1161vcmpneq_usss10%100%
1161vcmpneq_ussd10%100%
1161vcmpneq_usps10%100%
1161vcmpneq_uspd10%100%
1161vcmpneq_osss10%100%
1161vcmpneq_ossd10%100%
1161vcmpneq_osps10%100%
1161vcmpneq_ospd10%100%
1161vcmpneq_oqss10%100%
1161vcmpneq_oqsd10%100%
1161vcmpneq_oqps10%100%
1161vcmpneq_oqpd10%100%
1161vcmplt_oqss10%100%
1161vcmplt_oqsd10%100%
1161vcmplt_oqps10%100%
1161vcmplt_oqpd10%100%
1161vcmple_oqss10%100%
1161vcmple_oqsd10%100%
1161vcmple_oqps10%100%
1161vcmple_oqpd10%100%
1161vcmpgt_oqsd10%100%
1161vcmpgt_oqpd10%100%
1161vcmpgepd10%100%
1161vcmpge_oqss10%100%
1161vcmpge_oqsd10%100%
1161vcmpge_oqps10%100%
1161vcmpge_oqpd10%100%
1161vcmpfalsess10%100%
1161vcmpfalsesd10%100%
1161vcmpfalseps10%100%
1161vcmpfalsepd10%100%
1161vcmpfalse_osss10%100%
1161vcmpfalse_ossd10%100%
1161vcmpfalse_osps10%100%
1161vcmpfalse_ospd10%100%
1161vcmpeq_usss10%100%
1161vcmpeq_ussd10%100%
1161vcmpeq_usps10%100%
1161vcmpeq_uqss10%100%
1161vcmpeq_uqsd10%100%
1161vcmpeq_uqps10%100%
1161vcmpeq_uqpd10%100%
1161vcmpeq_osss10%100%
1161vcmpeq_ossd10%100%
1161vcmpeq_osps10%100%
1161vcmpeq_ospd10%100%
1161vbroadcastf64x210%100%
1161vaddph10%100%
1161tlbsync10%100%
1161skinit10%100%
1161serialize10%100%
1161rmpupdate10%100%
1161psmash10%100%
1161pmovzxwq10%100%
1161pmovzxbq10%100%
1161pmovsxbq10%100%
1161phsubw10%100%
1161phsubsw10%100%
1161phsubd10%100%
1161pfnacc10%100%
1161pconfig10%100%
1161kxnorb10%100%
1161ktestb10%100%
1161knotb10%100%
1161kaddw10%100%
1161invvpid10%100%
1161invept10%100%
1161hsubpd10%100%
1161hreset10%100%
1161enqcmds10%100%
1161cmpsxadd10%100%
1161cmpordpd10%100%
1161cmpnsxadd10%100%
1161cmpnpxadd10%100%
1161clzero10%100%
1161bndcu10%100%
1161blsfill10%100%

ランキングについてのコメント

1 位はさすがの mov 命令です。これだけで約 3 割を占めています。
x64 の mov 命令は複雑なアドレッシングモードを備えており、利便性が高いのも、数が多い理由でしょう。たとえば次の命令は、rsp レジスタの値に rax レジスタの値を 8 倍した値を足してさらに 190h を足した値をアドレスとして、メモリ上のそのアドレスから 8 バイト分を引っ張ってきて rsi レジスタに格納します。

mov rsi,qword ptr [rsp+rax*8+190h]

2 位の int については注意が必要です。実際に使われている箇所を見るとほとんどが「int 3」(CCh, DebugBreak) で、関数と関数の間の埋め草に使われているだけです。例を挙げます。

  0000000180032F3D: CC                 int         3
  0000000180032F3E: CC                 int         3
  0000000180032F3F: CC                 int         3
  0000000180032F40: 40 53              push        rbx
  0000000180032F42: 48 83 EC 20        sub         rsp,20h
  0000000180032F46: 48 8B 19           mov         rbx,qword ptr [rcx]
  0000000180032F49: 48 85 DB           test        rbx,rbx
  0000000180032F4C: 74 15              je          0000000180032F63
  0000000180032F4E: 48 8B CB           mov         rcx,rbx
  0000000180032F51: E8 2A 9B 00 00     call        000000018003CA80
  0000000180032F56: BA 10 00 00 00     mov         edx,10h
  0000000180032F5B: 48 8B CB           mov         rcx,rbx
  0000000180032F5E: E8 41 00 FD FF     call        0000000180002FA4
  0000000180032F63: 48 83 C4 20        add         rsp,20h
  0000000180032F67: 5B                 pop         rbx
  0000000180032F68: C3                 ret
  0000000180032F69: CC                 int         3
  0000000180032F6A: CC                 int         3
  0000000180032F6B: CC                 int         3
  0000000180032F6C: CC                 int         3
  0000000180032F6D: CC                 int         3
  0000000180032F6E: CC                 int         3
  0000000180032F6F: CC                 int         3
  0000000180032F70: 48 83 EC 28        sub         rsp,28h
  0000000180032F74: 48 8B 11           mov         rdx,qword ptr [rcx]
  0000000180032F77: 48 85 D2           test        rdx,rdx
  0000000180032F7A: 74 05              je          0000000180032F81
  0000000180032F7C: E8 EB 00 00 00     call        000000018003306C
  0000000180032F81: 48 83 C4 28        add         rsp,28h
  0000000180032F85: C3                 ret
  0000000180032F86: CC                 int         3
  0000000180032F87: CC                 int         3
  0000000180032F88: CC                 int         3

ret から次の関数の先頭までが int 3 で埋められています。この部分は基本的に実行されないので、特別扱いしても、というか除外してもよかったかもしれません。

3 位以降は call, lea, test, je, cmp, jmp, add, …… という馴染みのある命令が続き、16 位までで 90%、27 位までで 95%、99 位までで 99% を占めています。

後ろのほうに行くと、vpgatherdq だとか ldtilecfg だとか何をするのか見当も付かない命令があります。とにかく命令が多すぎます。

ちなみに集計した中で一番長いオペコードは以下でした(あとでインテルのドキュメント [1] を見たところ、さらに長い vgf2p8affineinvqb という命令もありました)。

aeskeygenassist
vbroadcasti32x4
vbroadcasti64x4
vbroadcastf32x4
vbroadcastf64x2
vbroadcastf64x4

集計方法について

集計方法について書き留めておきます。

Windows の System32 ディレクトリには 32bit のモジュールが紛れ込んでいるので、まず、それらを除外した 64bit モジュールのリストを作りました。

C:\Windows\System32> for %a in (*.dll *.exe) do ((dumpbin /headers %a | find "machine (x64)" > nul) & if NOT ERRORLEVEL 1 echo %a) >> c:\tmp\list.txt

対象のモジュールは 4073 個でした。

C:\Windows\System32> type c:\tmp\list.txt
......
apisampling.dll
ApiSetHost.AppExecutionAlias.dll
apisetschema.dll
APMon.dll
APMonUI.dll
AppContracts.dll
AppExtension.dll
appfootprint.dll
apphelp.dll
Apphlpdm.dll
......

リスト内の全モジュールを、ひとつのファイルに逆アセンブルします。

C:\Windows\System32> for /F %a in (c:\tmp\list.txt) do dumpbin /nologo /disasm %a >> c:\tmp\disasm.txt

約 24GB、約 4 億行の巨大なファイルが生成されました。

C:\Windows\System32> type c:\tmp\disasm.txt
......
  000000018000F6D3: 48 8D 4C 24 58     lea         rcx,[rsp+58h]
  000000018000F6D8: E8 37 C4 04 00     call        000000018005BB14
  000000018000F6DD: E9 2B FF FF FF     jmp         000000018000F60D
  000000018000F6E2: 85 D1              test        ecx,edx
  000000018000F6E4: 0F 84 E7 FD FF FF  je          000000018000F4D1
  000000018000F6EA: 49 8B 5E 48        mov         rbx,qword ptr [r14+48h]
  000000018000F6EE: 48 89 5C 24 48     mov         qword ptr [rsp+48h],rbx
  000000018000F6F3: 48 85 DB           test        rbx,rbx
  000000018000F6F6: 74 03              je          000000018000F6FB
  000000018000F6F8: FF 43 10           inc         dword ptr [rbx+10h]
......

ただし、時折、本来コードではない場所が逆アセンブルされることがあるようでした。例を示します。

  0000000180040CE2: 04 00              add         al,0
  0000000180040CE4: 2A 0A              sub         cl,byte ptr [rdx]
  0000000180040CE6: 04 00              add         al,0
  0000000180040CE8: 31 0A              xor         dword ptr [rdx],ecx
  0000000180040CEA: 04 00              add         al,0
  0000000180040CEC: 38 0A              cmp         byte ptr [rdx],cl
  0000000180040CEE: 04 00              add         al,0

とはいえすべてを目視でチェックするわけにもいかず、そのまま受け入れた点、ご了承ください。

さて、ここからアセンブリ言語のオペコードの部分のみを抜き出すのですが、「repe stos」のようなプレフィックスの付いた命令や、「repe lock push」のようなプレフィックスが 2 個付いた命令もあり、スクリプトでの処理は難しそうでした。

  000000018001CE1F: F3 AA              rep stos    byte ptr [rdi]
  0000000180051551: F3 F0 57           repe lock push rdi

そこで、各行について、プレフィックス(lock, rep, repe, repne, repz, repnz, xacquire, xrelease, vex, evex, bnd, ht, hnt)以外に達するまで単語を抜き出す C 言語のプログラム filter.exe を作りました。
これを実行します。

C:\tmp> filter.exe disasm.txt > opcode.txt

5 分ほどでオペコード(プレフィックスを含む)が抜き出されました。

C:\tmp> type opcode.txt
......
mov
mov
xor
and
xor
or
lock
cmpxchg
jne
and
......

最後に、オペコード(プレフィックスを含む)ごとの使用回数を集計します。WSL (Windows Subsystem for Linux) に入って sort と uniq コマンドを利用しました。

C:\tmp> wsl.exe
***:/mnt/c/tmp$ sort opcode.txt | uniq -c | sort -nr > opcode_rank.txt

集計結果です。

C:\tmp> type opcode_rank.txt
106131368 mov
74703734 int
24738982 call
24643563 lea
13229236 test
11468656 je
10537074 cmp
9126249 jmp
8342816 add
7994374 xor
......

この集計結果を元に、Excel で順位 (RANK.EQ)、割合、累積割合を計算しました。

参考文献

[1] Intel「Intel(R) 64 and IA-32 Architectures Software Developer’s Manual」, 2024