x86 アセンブリ命令ランキング ベスト 1000
x86 のよく使われる命令を調べてみました。調査対象は Windows の SysWOW64 ディレクトリに入っている 32bit モジュールです。(x86 版ではなく x64 版の一覧はこちらです。)
動作確認環境
- Windows 11 Home 24H2
- Visual Studio Community 2022 (Visual C++)
x86 のよく使われる命令
では早速ランキングです。ベスト 1000 と書きましたが、実際は 1041 個です(最下位タイのため順位としては 865 位まで)。長いです。
順位 | 命令 | 個数 | 割合 | 累積割合 |
1 | mov | 63183290 | 20.0169% | 20.0169% |
2 | push | 38414209 | 12.1699% | 32.1867% |
3 | int | 37519703 | 11.8865% | 44.0732% |
4 | add | 34346643 | 10.8812% | 54.9544% |
5 | call | 19004925 | 6.0209% | 60.9753% |
6 | pop | 11085274 | 3.5119% | 64.4872% |
7 | lea | 10277527 | 3.256% | 67.7432% |
8 | je | 8811379 | 2.7915% | 70.5347% |
9 | cmp | 8002698 | 2.5353% | 73.07% |
10 | test | 7982909 | 2.529% | 75.599% |
11 | jmp | 6124149 | 1.9402% | 77.5392% |
12 | xor | 5938822 | 1.8815% | 79.4206% |
13 | inc | 5263013 | 1.6674% | 81.088% |
14 | and | 4565178 | 1.4463% | 82.5343% |
15 | jne | 4539990 | 1.4383% | 83.9726% |
16 | ret | 3746701 | 1.187% | 85.1595% |
17 | adc | 3720442 | 1.1787% | 86.3382% |
18 | sub | 3625338 | 1.1485% | 87.4867% |
19 | or | 3050511 | 0.9664% | 88.4531% |
20 | dec | 2685350 | 0.8507% | 89.3039% |
21 | outs | 2348901 | 0.7441% | 90.048% |
22 | jb | 2093180 | 0.6631% | 90.7112% |
23 | imul | 1740925 | 0.5515% | 91.2627% |
24 | ins | 1297192 | 0.411% | 91.6737% |
25 | jae | 1265140 | 0.4008% | 92.0745% |
26 | js | 1240176 | 0.3929% | 92.4674% |
27 | popad | 1188571 | 0.3765% | 92.8439% |
28 | sbb | 1088001 | 0.3447% | 93.1886% |
29 | movs | 991359 | 0.3141% | 93.5027% |
30 | leave | 978213 | 0.3099% | 93.8126% |
31 | movzx | 964160 | 0.3055% | 94.118% |
32 | arpl | 915104 | 0.2899% | 94.4079% |
33 | jns | 875256 | 0.2773% | 94.6852% |
34 | nop | 820865 | 0.2601% | 94.9453% |
35 | jo | 774027 | 0.2452% | 95.1905% |
36 | jbe | 724469 | 0.2295% | 95.42% |
37 | xchg | 616651 | 0.1954% | 95.6154% |
38 | ja | 480590 | 0.1523% | 95.7676% |
39 | shr | 475208 | 0.1505% | 95.9182% |
40 | stos | 456743 | 0.1447% | 96.0629% |
41 | lock | 431411 | 0.1367% | 96.1995% |
42 | movss | 418091 | 0.1325% | 96.332% |
43 | shl | 406879 | 0.1289% | 96.4609% |
44 | jl | 339968 | 0.1077% | 96.5686% |
45 | jle | 334214 | 0.1059% | 96.6745% |
46 | sar | 321874 | 0.102% | 96.7764% |
47 | bound | 275532 | 0.0873% | 96.8637% |
48 | in | 272752 | 0.0864% | 96.9501% |
49 | pushad | 231578 | 0.0734% | 97.0235% |
50 | movaps | 218293 | 0.0692% | 97.0927% |
51 | neg | 217343 | 0.0689% | 97.1615% |
52 | jg | 212147 | 0.0672% | 97.2287% |
53 | out | 207157 | 0.0656% | 97.2944% |
54 | loopne | 205650 | 0.0652% | 97.3595% |
55 | movsd | 200832 | 0.0636% | 97.4231% |
56 | jge | 200825 | 0.0636% | 97.4868% |
57 | aas | 199052 | 0.0631% | 97.5498% |
58 | fld | 184481 | 0.0584% | 97.6083% |
59 | cdq | 183867 | 0.0583% | 97.6665% |
60 | movups | 169819 | 0.0538% | 97.7203% |
61 | rep | 169090 | 0.0536% | 97.7739% |
62 | ror | 167776 | 0.0532% | 97.827% |
63 | rol | 166740 | 0.0528% | 97.8799% |
64 | cmove | 157977 | 0.05% | 97.9299% |
65 | das | 156506 | 0.0496% | 97.9795% |
66 | cmovne | 156239 | 0.0495% | 98.029% |
67 | fstp | 145059 | 0.046% | 98.0749% |
68 | xorps | 143228 | 0.0454% | 98.1203% |
69 | jp | 134414 | 0.0426% | 98.1629% |
70 | jnp | 122896 | 0.0389% | 98.2018% |
71 | daa | 120383 | 0.0381% | 98.24% |
72 | lods | 120095 | 0.038% | 98.278% |
73 | cmps | 119823 | 0.038% | 98.316% |
74 | mulss | 115910 | 0.0367% | 98.3527% |
75 | scas | 108190 | 0.0343% | 98.387% |
76 | retf | 104811 | 0.0332% | 98.4202% |
77 | lahf | 96326 | 0.0305% | 98.4507% |
78 | aaa | 95282 | 0.0302% | 98.4809% |
79 | addss | 92604 | 0.0293% | 98.5102% |
80 | jno | 91281 | 0.0289% | 98.5391% |
81 | xadd | 90241 | 0.0286% | 98.5677% |
82 | movsx | 88984 | 0.0282% | 98.5959% |
83 | movq | 88645 | 0.0281% | 98.624% |
84 | cwde | 86787 | 0.0275% | 98.6515% |
85 | movd | 83175 | 0.0264% | 98.6779% |
86 | movlpd | 82533 | 0.0261% | 98.704% |
87 | iretd | 82135 | 0.026% | 98.73% |
88 | rcl | 80505 | 0.0255% | 98.7555% |
89 | setne | 80439 | 0.0255% | 98.781% |
90 | clc | 79200 | 0.0251% | 98.8061% |
91 | enter | 76700 | 0.0243% | 98.8304% |
92 | cld | 74016 | 0.0234% | 98.8538% |
93 | sete | 72325 | 0.0229% | 98.8768% |
94 | pushfd | 71813 | 0.0228% | 98.8995% |
95 | rcr | 71467 | 0.0226% | 98.9221% |
96 | aamb | 70952 | 0.0225% | 98.9446% |
97 | mul | 69948 | 0.0222% | 98.9668% |
98 | hlt | 67016 | 0.0212% | 98.988% |
99 | cmc | 66498 | 0.0211% | 99.0091% |
100 | subss | 65083 | 0.0206% | 99.0297% |
101 | popfd | 61295 | 0.0194% | 99.0491% |
102 | sal | 59239 | 0.0188% | 99.0679% |
103 | std | 58195 | 0.0184% | 99.0863% |
104 | sahf | 57548 | 0.0182% | 99.1046% |
105 | aadb | 57523 | 0.0182% | 99.1228% |
106 | loop | 57389 | 0.0182% | 99.141% |
107 | into | 57229 | 0.0181% | 99.1591% |
108 | idiv | 57192 | 0.0181% | 99.1772% |
109 | wait | 57014 | 0.0181% | 99.1953% |
110 | les | 56778 | 0.018% | 99.2133% |
111 | xlat | 55801 | 0.0177% | 99.2309% |
112 | jecxz | 55304 | 0.0175% | 99.2485% |
113 | fadd | 55130 | 0.0175% | 99.2659% |
114 | loope | 54683 | 0.0173% | 99.2833% |
115 | cli | 54530 | 0.0173% | 99.3005% |
116 | not | 54387 | 0.0172% | 99.3178% |
117 | sti | 53288 | 0.0169% | 99.3346% |
118 | stc | 50603 | 0.016% | 99.3507% |
119 | cmpxchg | 50037 | 0.0159% | 99.3665% |
120 | fmul | 48011 | 0.0152% | 99.3817% |
121 | div | 47535 | 0.0151% | 99.3968% |
122 | lds | 43609 | 0.0138% | 99.4106% |
123 | fild | 41273 | 0.0131% | 99.4237% |
124 | addsd | 41073 | 0.013% | 99.4367% |
125 | mulsd | 38517 | 0.0122% | 99.4489% |
126 | cmovle | 37917 | 0.012% | 99.4609% |
127 | xacquire | 34324 | 0.0109% | 99.4718% |
128 | addps | 31033 | 0.0098% | 99.4816% |
129 | mulps | 29923 | 0.0095% | 99.4911% |
130 | hnt | 28730 | 0.0091% | 99.5002% |
131 | sldt | 28081 | 0.0089% | 99.5091% |
132 | comiss | 27000 | 0.0086% | 99.5176% |
133 | fnstsw | 26338 | 0.0083% | 99.526% |
134 | movdqa | 26213 | 0.0083% | 99.5343% |
135 | fcomp | 26175 | 0.0083% | 99.5426% |
136 | fiadd | 25966 | 0.0082% | 99.5508% |
137 | comisd | 25606 | 0.0081% | 99.5589% |
138 | cmovae | 25294 | 0.008% | 99.5669% |
139 | subps | 24825 | 0.0079% | 99.5748% |
140 | cvtdq2ps | 24761 | 0.0078% | 99.5826% |
141 | repne | 24719 | 0.0078% | 99.5905% |
142 | cmova | 24329 | 0.0077% | 99.5982% |
143 | popa | 24294 | 0.0077% | 99.6059% |
144 | fsub | 23704 | 0.0075% | 99.6134% |
145 | paddw | 22763 | 0.0072% | 99.6206% |
146 | cmovb | 22496 | 0.0071% | 99.6277% |
147 | cvtdq2pd | 22211 | 0.007% | 99.6348% |
148 | fxch | 22158 | 0.007% | 99.6418% |
149 | fst | 21322 | 0.0068% | 99.6485% |
150 | seto | 20884 | 0.0066% | 99.6552% |
151 | fistp | 20662 | 0.0065% | 99.6617% |
152 | fcom | 20331 | 0.0064% | 99.6681% |
153 | cmovs | 20285 | 0.0064% | 99.6746% |
154 | subsd | 20186 | 0.0064% | 99.681% |
155 | cvtps2pd | 19199 | 0.0061% | 99.687% |
156 | cmovns | 19057 | 0.006% | 99.6931% |
157 | fisttp | 18518 | 0.0059% | 99.699% |
158 | shrd | 18145 | 0.0057% | 99.7047% |
159 | divss | 17835 | 0.0057% | 99.7104% |
160 | fdiv | 17806 | 0.0056% | 99.716% |
161 | cvtpd2ps | 17468 | 0.0055% | 99.7215% |
162 | fdivr | 16965 | 0.0054% | 99.7269% |
163 | cvttss2si | 16178 | 0.0051% | 99.732% |
164 | cmovg | 15771 | 0.005% | 99.737% |
165 | fsubr | 15587 | 0.0049% | 99.742% |
166 | shufps | 13762 | 0.0044% | 99.7463% |
166 | cmovl | 13762 | 0.0044% | 99.7507% |
168 | punpcklbw | 13180 | 0.0042% | 99.7549% |
169 | fimul | 12418 | 0.0039% | 99.7588% |
170 | fidivr | 11966 | 0.0038% | 99.7626% |
171 | divsd | 11836 | 0.0037% | 99.7663% |
172 | faddp | 11665 | 0.0037% | 99.77% |
173 | fisub | 11409 | 0.0036% | 99.7736% |
174 | paddd | 10838 | 0.0034% | 99.7771% |
175 | ucomiss | 10486 | 0.0033% | 99.7804% |
176 | setg | 10383 | 0.0033% | 99.7837% |
177 | psrldq | 10036 | 0.0032% | 99.7869% |
178 | fldz | 9546 | 0.003% | 99.7899% |
179 | bts | 9512 | 0.003% | 99.7929% |
180 | psubw | 9511 | 0.003% | 99.7959% |
181 | ficomp | 9467 | 0.003% | 99.7989% |
182 | shld | 9462 | 0.003% | 99.8019% |
183 | ficom | 9428 | 0.003% | 99.8049% |
184 | cvttsd2si | 9212 | 0.0029% | 99.8078% |
185 | punpcklwd | 9169 | 0.0029% | 99.8107% |
186 | andps | 9064 | 0.0029% | 99.8136% |
187 | fist | 9063 | 0.0029% | 99.8165% |
188 | lfence | 8883 | 0.0028% | 99.8193% |
189 | fnstcw | 8854 | 0.0028% | 99.8221% |
190 | movapd | 8680 | 0.0027% | 99.8248% |
191 | paddsw | 8625 | 0.0027% | 99.8276% |
192 | cmovge | 8607 | 0.0027% | 99.8303% |
193 | fldenv | 8451 | 0.0027% | 99.833% |
194 | pxor | 8404 | 0.0027% | 99.8356% |
195 | psraw | 8377 | 0.0027% | 99.8383% |
196 | fldcw | 8283 | 0.0026% | 99.8409% |
197 | movhps | 8216 | 0.0026% | 99.8435% |
198 | cmovbe | 7790 | 0.0025% | 99.846% |
199 | bswap | 7599 | 0.0024% | 99.8484% |
200 | movdqu | 7494 | 0.0024% | 99.8508% |
201 | fmulp | 7443 | 0.0024% | 99.8531% |
202 | movlps | 7045 | 0.0022% | 99.8554% |
203 | pand | 6953 | 0.0022% | 99.8576% |
204 | fld1 | 6915 | 0.0022% | 99.8597% |
205 | ht | 6710 | 0.0021% | 99.8619% |
206 | ucomisd | 6404 | 0.002% | 99.8639% |
207 | pshufd | 6199 | 0.002% | 99.8659% |
208 | packuswb | 5985 | 0.0019% | 99.8678% |
209 | fisubr | 5968 | 0.0019% | 99.8697% |
210 | psrlq | 5733 | 0.0018% | 99.8715% |
211 | cvtsd2ss | 5713 | 0.0018% | 99.8733% |
212 | setb | 5663 | 0.0018% | 99.8751% |
213 | pmaddwd | 5610 | 0.0018% | 99.8769% |
214 | fidiv | 5575 | 0.0018% | 99.8786% |
215 | fsubp | 5541 | 0.0018% | 99.8804% |
216 | pmullw | 5532 | 0.0018% | 99.8821% |
217 | psrlw | 5204 | 0.0016% | 99.8838% |
218 | pmulhw | 4965 | 0.0016% | 99.8853% |
219 | punpckhwd | 4935 | 0.0016% | 99.8869% |
220 | xbegin | 4829 | 0.0015% | 99.8884% |
221 | unpcklps | 4814 | 0.0015% | 99.89% |
222 | por | 4709 | 0.0015% | 99.8915% |
223 | psllw | 4674 | 0.0015% | 99.8929% |
224 | psrad | 4544 | 0.0014% | 99.8944% |
225 | xabort | 4401 | 0.0014% | 99.8958% |
226 | seta | 4268 | 0.0014% | 99.8971% |
227 | fchs | 4232 | 0.0013% | 99.8985% |
228 | frstor | 4228 | 0.0013% | 99.8998% |
229 | fbld | 4107 | 0.0013% | 99.9011% |
230 | orps | 4074 | 0.0013% | 99.9024% |
231 | fsubrp | 4001 | 0.0013% | 99.9037% |
232 | maxss | 3963 | 0.0013% | 99.9049% |
233 | cvtsi2sd | 3961 | 0.0013% | 99.9062% |
234 | mulpd | 3921 | 0.0012% | 99.9074% |
235 | punpckldq | 3917 | 0.0012% | 99.9087% |
236 | bt | 3869 | 0.0012% | 99.9099% |
237 | cpuid | 3866 | 0.0012% | 99.9111% |
238 | btr | 3802 | 0.0012% | 99.9123% |
239 | psllq | 3759 | 0.0012% | 99.9135% |
240 | bsr | 3666 | 0.0012% | 99.9147% |
241 | fnclex | 3648 | 0.0012% | 99.9158% |
242 | psubsw | 3570 | 0.0011% | 99.917% |
243 | bnd | 3468 | 0.0011% | 99.918% |
244 | packssdw | 3424 | 0.0011% | 99.9191% |
245 | fdivp | 3330 | 0.0011% | 99.9202% |
246 | punpcklqdq | 3304 | 0.001% | 99.9212% |
247 | vmovd | 3240 | 0.001% | 99.9223% |
248 | cvtsi2ss | 3177 | 0.001% | 99.9233% |
249 | minss | 3068 | 0.001% | 99.9242% |
250 | paddusw | 3003 | 0.001% | 99.9252% |
251 | cvtss2sd | 2878 | 0.0009% | 99.9261% |
252 | fnstenv | 2859 | 0.0009% | 99.927% |
253 | pslld | 2807 | 0.0009% | 99.9279% |
254 | punpckhbw | 2805 | 0.0009% | 99.9288% |
255 | punpckhqdq | 2637 | 0.0008% | 99.9296% |
256 | pcmpgtw | 2623 | 0.0008% | 99.9305% |
257 | vmovdqu | 2622 | 0.0008% | 99.9313% |
258 | pextrw | 2564 | 0.0008% | 99.9321% |
258 | fdivrp | 2564 | 0.0008% | 99.9329% |
260 | setge | 2550 | 0.0008% | 99.9337% |
261 | fbstp | 2394 | 0.0008% | 99.9345% |
262 | stmxcsr | 2377 | 0.0008% | 99.9352% |
263 | bsf | 2370 | 0.0008% | 99.936% |
264 | psrld | 2354 | 0.0007% | 99.9367% |
265 | fnsave | 2331 | 0.0007% | 99.9375% |
266 | psubd | 2326 | 0.0007% | 99.9382% |
267 | cmpxchg8b | 2253 | 0.0007% | 99.9389% |
268 | fcomp3 | 2225 | 0.0007% | 99.9396% |
269 | addpd | 2195 | 0.0007% | 99.9403% |
270 | str | 2190 | 0.0007% | 99.941% |
271 | movlhps | 2181 | 0.0007% | 99.9417% |
272 | fabs | 2171 | 0.0007% | 99.9424% |
273 | setl | 2102 | 0.0007% | 99.9431% |
274 | punpckhdq | 2056 | 0.0007% | 99.9437% |
275 | palignr | 2027 | 0.0006% | 99.9443% |
276 | pcmpgtb | 2022 | 0.0006% | 99.945% |
277 | psadbw | 2012 | 0.0006% | 99.9456% |
278 | pinsrw | 2008 | 0.0006% | 99.9463% |
279 | fucompp | 1993 | 0.0006% | 99.9469% |
280 | pmovmskb | 1964 | 0.0006% | 99.9475% |
281 | andpd | 1963 | 0.0006% | 99.9481% |
282 | lldt | 1930 | 0.0006% | 99.9487% |
283 | pavgb | 1929 | 0.0006% | 99.9494% |
284 | fucom | 1902 | 0.0006% | 99.95% |
285 | emms | 1824 | 0.0006% | 99.9505% |
286 | fcomip | 1822 | 0.0006% | 99.9511% |
287 | setns | 1814 | 0.0006% | 99.9517% |
288 | lsl | 1798 | 0.0006% | 99.9523% |
289 | movupd | 1781 | 0.0006% | 99.9528% |
290 | ldmxcsr | 1780 | 0.0006% | 99.9534% |
291 | setle | 1716 | 0.0005% | 99.9539% |
292 | pcmpeqb | 1656 | 0.0005% | 99.9545% |
293 | unpckhps | 1638 | 0.0005% | 99.955% |
294 | fucomp | 1626 | 0.0005% | 99.9555% |
295 | pandn | 1611 | 0.0005% | 99.956% |
296 | clts | 1572 | 0.0005% | 99.9565% |
297 | fstp8 | 1539 | 0.0005% | 99.957% |
298 | paddb | 1533 | 0.0005% | 99.9575% |
299 | vmovdqa | 1504 | 0.0005% | 99.9579% |
300 | fcomi | 1490 | 0.0005% | 99.9584% |
301 | movhlps | 1482 | 0.0005% | 99.9589% |
302 | fcompp | 1479 | 0.0005% | 99.9594% |
303 | sets | 1477 | 0.0005% | 99.9598% |
304 | vpextrd | 1466 | 0.0005% | 99.9603% |
305 | fcmovu | 1457 | 0.0005% | 99.9608% |
306 | repe | 1447 | 0.0005% | 99.9612% |
307 | vpinsrd | 1431 | 0.0005% | 99.9617% |
308 | lar | 1414 | 0.0004% | 99.9621% |
309 | xorpd | 1398 | 0.0004% | 99.9626% |
309 | invd | 1398 | 0.0004% | 99.963% |
311 | pshuflw | 1389 | 0.0004% | 99.9634% |
312 | fucomip | 1387 | 0.0004% | 99.9639% |
313 | pcmpeqw | 1380 | 0.0004% | 99.9643% |
314 | fstp1 | 1371 | 0.0004% | 99.9647% |
315 | psubb | 1350 | 0.0004% | 99.9652% |
316 | rdtsc | 1329 | 0.0004% | 99.9656% |
317 | fcmovnu | 1322 | 0.0004% | 99.966% |
318 | jmpe | 1288 | 0.0004% | 99.9664% |
319 | fstp9 | 1287 | 0.0004% | 99.9668% |
320 | sgdt | 1280 | 0.0004% | 99.9672% |
320 | psubusb | 1280 | 0.0004% | 99.9676% |
322 | pcmpeqd | 1256 | 0.0004% | 99.968% |
323 | verr | 1243 | 0.0004% | 99.9684% |
324 | unpcklpd | 1191 | 0.0004% | 99.9688% |
325 | maxsd | 1188 | 0.0004% | 99.9692% |
326 | pshufhw | 1182 | 0.0004% | 99.9696% |
327 | paddq | 1140 | 0.0004% | 99.9699% |
328 | andnps | 1115 | 0.0004% | 99.9703% |
329 | sysret | 1094 | 0.0003% | 99.9706% |
330 | frndint | 1084 | 0.0003% | 99.971% |
331 | vpaddw | 1055 | 0.0003% | 99.9713% |
332 | syscall | 1048 | 0.0003% | 99.9716% |
333 | fcomp5 | 1040 | 0.0003% | 99.972% |
334 | pshufb | 1038 | 0.0003% | 99.9723% |
335 | minsd | 1029 | 0.0003% | 99.9726% |
336 | ffreep | 1027 | 0.0003% | 99.9729% |
337 | fcom2 | 1026 | 0.0003% | 99.9733% |
338 | fcmovne | 1024 | 0.0003% | 99.9736% |
339 | fcmovnbe | 1021 | 0.0003% | 99.9739% |
340 | setae | 1016 | 0.0003% | 99.9742% |
341 | fcmove | 1012 | 0.0003% | 99.9746% |
342 | lddqu | 1004 | 0.0003% | 99.9749% |
343 | ltr | 1000 | 0.0003% | 99.9752% |
344 | xgetbv | 955 | 0.0003% | 99.9755% |
345 | packsswb | 944 | 0.0003% | 99.9758% |
346 | femms | 942 | 0.0003% | 99.9761% |
347 | orpd | 934 | 0.0003% | 99.9764% |
348 | fcmovbe | 925 | 0.0003% | 99.9767% |
349 | pause | 908 | 0.0003% | 99.977% |
350 | vpaddd | 903 | 0.0003% | 99.9773% |
351 | lgdt | 893 | 0.0003% | 99.9775% |
352 | pmaxub | 877 | 0.0003% | 99.9778% |
353 | pminub | 868 | 0.0003% | 99.9781% |
354 | verw | 861 | 0.0003% | 99.9784% |
355 | pmaddubsw | 853 | 0.0003% | 99.9786% |
356 | vzeroupper | 843 | 0.0003% | 99.9789% |
357 | pshufw | 842 | 0.0003% | 99.9792% |
358 | prefetchnta | 839 | 0.0003% | 99.9794% |
359 | unpckhpd | 834 | 0.0003% | 99.9797% |
360 | vmovq | 831 | 0.0003% | 99.98% |
361 | aam | 823 | 0.0003% | 99.9802% |
362 | fucomi | 793 | 0.0003% | 99.9805% |
363 | sysexit | 780 | 0.0002% | 99.9807% |
364 | pslldq | 776 | 0.0002% | 99.981% |
365 | vbroadcastss | 772 | 0.0002% | 99.9812% |
366 | vpxor | 745 | 0.0002% | 99.9814% |
367 | fcmovb | 739 | 0.0002% | 99.9817% |
368 | fxch7 | 709 | 0.0002% | 99.9819% |
369 | ffree | 707 | 0.0002% | 99.9821% |
370 | rcpps | 706 | 0.0002% | 99.9824% |
370 | fcmovnb | 706 | 0.0002% | 99.9826% |
372 | movntq | 704 | 0.0002% | 99.9828% |
373 | wbinvd | 700 | 0.0002% | 99.983% |
374 | pmaxsw | 695 | 0.0002% | 99.9832% |
375 | vpcmpeqb | 671 | 0.0002% | 99.9835% |
376 | fxch4 | 665 | 0.0002% | 99.9837% |
377 | subpd | 653 | 0.0002% | 99.9839% |
378 | pcmpgtd | 644 | 0.0002% | 99.9841% |
379 | maxps | 604 | 0.0002% | 99.9843% |
379 | aad | 604 | 0.0002% | 99.9845% |
381 | fcos | 600 | 0.0002% | 99.9847% |
382 | paddusb | 577 | 0.0002% | 99.9848% |
383 | pminsw | 555 | 0.0002% | 99.985% |
384 | wrmsr | 544 | 0.0002% | 99.9852% |
385 | ud2 | 532 | 0.0002% | 99.9854% |
386 | minps | 528 | 0.0002% | 99.9855% |
387 | vpmaddwd | 522 | 0.0002% | 99.9857% |
388 | psubusw | 520 | 0.0002% | 99.9858% |
389 | vpshufd | 508 | 0.0002% | 99.986% |
390 | pclmulqdq | 502 | 0.0002% | 99.9862% |
391 | vpunpcklwd | 483 | 0.0002% | 99.9863% |
392 | vpor | 465 | 0.0001% | 99.9865% |
392 | setbe | 465 | 0.0001% | 99.9866% |
394 | sqrtsd | 462 | 0.0001% | 99.9868% |
395 | cbw | 455 | 0.0001% | 99.9869% |
396 | xrelease | 452 | 0.0001% | 99.987% |
397 | rsqrtps | 449 | 0.0001% | 99.9872% |
397 | pmovzxbw | 449 | 0.0001% | 99.9873% |
399 | vpsrld | 439 | 0.0001% | 99.9875% |
400 | cvtss2si | 436 | 0.0001% | 99.9876% |
401 | rorx | 432 | 0.0001% | 99.9877% |
402 | movntdq | 427 | 0.0001% | 99.9879% |
403 | pmuludq | 426 | 0.0001% | 99.988% |
404 | divps | 425 | 0.0001% | 99.9882% |
405 | vpmovmskb | 423 | 0.0001% | 99.9883% |
406 | vperm2i128 | 420 | 0.0001% | 99.9884% |
406 | cvtps2pi | 420 | 0.0001% | 99.9886% |
408 | cvtpi2ps | 418 | 0.0001% | 99.9887% |
409 | sqrtps | 416 | 0.0001% | 99.9888% |
410 | vpunpckhwd | 405 | 0.0001% | 99.9889% |
411 | vpunpcklbw | 396 | 0.0001% | 99.9891% |
412 | sqrtss | 379 | 0.0001% | 99.9892% |
413 | aesenc | 364 | 0.0001% | 99.9893% |
414 | prefetcht1 | 360 | 0.0001% | 99.9894% |
414 | ftst | 360 | 0.0001% | 99.9895% |
416 | vcvtqq2pd | 358 | 0.0001% | 99.9896% |
417 | vcvtuqq2pd | 357 | 0.0001% | 99.9898% |
417 | vcvttpd2qq | 357 | 0.0001% | 99.9899% |
419 | vcvttps2qq | 355 | 0.0001% | 99.99% |
420 | vcvttss2usi | 354 | 0.0001% | 99.9901% |
420 | vcvttsd2usi | 354 | 0.0001% | 99.9902% |
422 | vcvttps2uqq | 353 | 0.0001% | 99.9903% |
422 | vcvttpd2uqq | 353 | 0.0001% | 99.9904% |
424 | vcvtuqq2ps | 352 | 0.0001% | 99.9905% |
424 | vcvtqq2ps | 352 | 0.0001% | 99.9907% |
426 | movq2dq | 345 | 0.0001% | 99.9908% |
427 | fscale | 343 | 0.0001% | 99.9909% |
428 | psubq | 339 | 0.0001% | 99.991% |
429 | pmulhuw | 334 | 0.0001% | 99.9911% |
430 | bndldx | 330 | 0.0001% | 99.9912% |
431 | setp | 319 | 0.0001% | 99.9913% |
432 | lss | 318 | 0.0001% | 99.9914% |
433 | vpunpckhbw | 317 | 0.0001% | 99.9915% |
434 | vpclmulqdq | 312 | 0.0001% | 99.9916% |
435 | vpcmpeqw | 310 | 0.0001% | 99.9917% |
436 | vpsrlw | 308 | 0.0001% | 99.9918% |
437 | cvtps2dq | 307 | 0.0001% | 99.9919% |
438 | fyl2x | 301 | 0.0001% | 99.992% |
439 | cmovnp | 291 | 0.0001% | 99.9921% |
440 | getsec | 289 | 0.0001% | 99.9922% |
441 | cmovp | 284 | 0.0001% | 99.9923% |
442 | movnti | 275 | 0.0001% | 99.9923% |
443 | pavgw | 270 | 0.0001% | 99.9924% |
443 | fdecstp | 270 | 0.0001% | 99.9925% |
445 | vmovups | 267 | 0.0001% | 99.9926% |
446 | prefetcht0 | 266 | 0.0001% | 99.9927% |
447 | vinsertf128 | 264 | 0.0001% | 99.9928% |
447 | cmovo | 264 | 0.0001% | 99.9929% |
449 | vpmullw | 260 | 0.0001% | 99.9929% |
450 | fsqrt | 257 | 0.0001% | 99.993% |
451 | fninit | 256 | 0.0001% | 99.9931% |
452 | pcmpistri | 253 | 0.0001% | 99.9932% |
452 | bndstx | 253 | 0.0001% | 99.9933% |
454 | vpcmpeqd | 251 | 0.0001% | 99.9933% |
455 | cmovno | 249 | 0.0001% | 99.9934% |
456 | setnp | 248 | 0.0001% | 99.9935% |
456 | cvttps2dq | 248 | 0.0001% | 99.9936% |
458 | cwd | 239 | 0.0001% | 99.9936% |
459 | btc | 238 | 0.0001% | 99.9937% |
460 | pabsw | 235 | 0.0001% | 99.9938% |
461 | movntps | 233 | 0.0001% | 99.9939% |
462 | vpsrldq | 229 | 0.0001% | 99.9939% |
463 | tzcnt | 228 | 0.0001% | 99.994% |
464 | fsin | 225 | 0.0001% | 99.9941% |
465 | paddsb | 223 | 0.0001% | 99.9942% |
466 | fldlg2 | 221 | 0.0001% | 99.9942% |
467 | pusha | 218 | 0.0001% | 99.9943% |
467 | cvttps2pi | 218 | 0.0001% | 99.9944% |
469 | fxam | 217 | 0.0001% | 99.9944% |
470 | xbts | 212 | 0.0001% | 99.9945% |
471 | rsm | 210 | 0.0001% | 99.9946% |
472 | movdq2q | 206 | 0.0001% | 99.9946% |
472 | fldln2 | 206 | 0.0001% | 99.9947% |
474 | vpxord | 204 | 0.0001% | 99.9948% |
474 | vpand | 204 | 0.0001% | 99.9948% |
476 | cmpeqsd | 203 | 0.0001% | 99.9949% |
477 | vpackssdw | 202 | 0.0001% | 99.995% |
478 | rdpmc | 200 | 0.0001% | 99.995% |
479 | sysenter | 196 | 0.0001% | 99.9951% |
480 | vpackuswb | 195 | 0.0001% | 99.9951% |
480 | fprem | 195 | 0.0001% | 99.9952% |
482 | sfence | 192 | 0.0001% | 99.9953% |
483 | vmwrite | 188 | 0.0001% | 99.9953% |
484 | fldpi | 187 | 0.0001% | 99.9954% |
485 | rdmsr | 186 | 0.0001% | 99.9954% |
486 | vpsrad | 184 | 0.0001% | 99.9955% |
486 | vpermq | 184 | 0.0001% | 99.9956% |
486 | movhpd | 184 | 0.0001% | 99.9956% |
489 | vxorps | 178 | 0.0001% | 99.9957% |
489 | cmpltps | 178 | 0.0001% | 99.9957% |
491 | pblendvb | 176 | 0.0001% | 99.9958% |
491 | mpsadbw | 176 | 0.0001% | 99.9958% |
493 | feni | 174 | 0.0001% | 99.9959% |
494 | f2xm1 | 173 | 0.0001% | 99.996% |
495 | fpatan | 169 | 0.0001% | 99.996% |
496 | vpslldq | 167 | 0.0001% | 99.9961% |
497 | cvtsd2si | 166 | 0.0001% | 99.9961% |
498 | aesdec | 163 | 0.0001% | 99.9962% |
499 | prefetch | 157 | 0% | 99.9962% |
500 | aesenclast | 156 | 0% | 99.9963% |
501 | vmovaps | 155 | 0% | 99.9963% |
501 | pfadd | 155 | 0% | 99.9964% |
503 | vpsllw | 153 | 0% | 99.9964% |
503 | cmpps | 153 | 0% | 99.9965% |
505 | fprem1 | 152 | 0% | 99.9965% |
506 | psubsb | 150 | 0% | 99.9966% |
507 | sidt | 148 | 0% | 99.9966% |
508 | vpaddq | 146 | 0% | 99.9966% |
509 | vmread | 144 | 0% | 99.9967% |
510 | vmulps | 143 | 0% | 99.9967% |
510 | ibts | 143 | 0% | 99.9968% |
512 | iret | 127 | 0% | 99.9968% |
513 | setno | 126 | 0% | 99.9969% |
514 | vaddps | 124 | 0% | 99.9969% |
514 | fldl2e | 124 | 0% | 99.9969% |
516 | fxtract | 123 | 0% | 99.997% |
517 | fptan | 119 | 0% | 99.997% |
518 | vpsraw | 118 | 0% | 99.9971% |
518 | vpmulhw | 118 | 0% | 99.9971% |
520 | movmskps | 115 | 0% | 99.9971% |
520 | fnop | 115 | 0% | 99.9972% |
522 | lgs | 114 | 0% | 99.9972% |
523 | vpunpckldq | 113 | 0% | 99.9972% |
524 | pushf | 112 | 0% | 99.9973% |
525 | prefetchw | 111 | 0% | 99.9973% |
526 | vpsrlq | 110 | 0% | 99.9973% |
527 | shufpd | 109 | 0% | 99.9974% |
528 | pfsub | 108 | 0% | 99.9974% |
529 | prefetchwt1 | 107 | 0% | 99.9974% |
529 | fldl2t | 107 | 0% | 99.9975% |
531 | vmovntdq | 103 | 0% | 99.9975% |
531 | jcxz | 103 | 0% | 99.9975% |
533 | lidt | 101 | 0% | 99.9976% |
534 | cmpnlepd | 99 | 0% | 99.9976% |
535 | vmovdqu32 | 95 | 0% | 99.9976% |
535 | fdisi | 95 | 0% | 99.9977% |
537 | vpunpcklqdq | 93 | 0% | 99.9977% |
538 | popf | 92 | 0% | 99.9977% |
539 | vpunpckhdq | 90 | 0% | 99.9978% |
539 | vpcmpeqq | 90 | 0% | 99.9978% |
539 | fsincos | 90 | 0% | 99.9978% |
542 | lfs | 89 | 0% | 99.9978% |
543 | vpshufb | 88 | 0% | 99.9979% |
543 | cldemote | 88 | 0% | 99.9979% |
545 | vpsubw | 87 | 0% | 99.9979% |
546 | popcnt | 86 | 0% | 99.998% |
547 | vpmuludq | 85 | 0% | 99.998% |
548 | vinserti128 | 83 | 0% | 99.998% |
549 | vmovss | 81 | 0% | 99.998% |
549 | fincstp | 81 | 0% | 99.9981% |
551 | aesdeclast | 80 | 0% | 99.9981% |
552 | vpslld | 79 | 0% | 99.9981% |
552 | cmpltsd | 79 | 0% | 99.9981% |
554 | andnpd | 77 | 0% | 99.9982% |
555 | pfmul | 75 | 0% | 99.9982% |
556 | pmulld | 74 | 0% | 99.9982% |
557 | vpmaskmovd | 70 | 0% | 99.9982% |
557 | vpbroadcastw | 70 | 0% | 99.9982% |
557 | fsetpm | 70 | 0% | 99.9983% |
560 | vmovsd | 68 | 0% | 99.9983% |
560 | mfence | 68 | 0% | 99.9983% |
560 | cmpltpd | 68 | 0% | 99.9983% |
563 | cmpnlesd | 67 | 0% | 99.9984% |
563 | addsubps | 67 | 0% | 99.9984% |
565 | sha256rnds2 | 66 | 0% | 99.9984% |
566 | cmpleps | 65 | 0% | 99.9984% |
567 | vminps | 64 | 0% | 99.9984% |
567 | lmsw | 64 | 0% | 99.9985% |
569 | movshdup | 63 | 0% | 99.9985% |
570 | movsldup | 62 | 0% | 99.9985% |
571 | vpshuflw | 61 | 0% | 99.9985% |
571 | vpminub | 61 | 0% | 99.9985% |
573 | pextrd | 60 | 0% | 99.9986% |
573 | fyl2xp1 | 60 | 0% | 99.9986% |
573 | fxsave | 60 | 0% | 99.9986% |
576 | cmpeqps | 58 | 0% | 99.9986% |
577 | vxorpd | 57 | 0% | 99.9986% |
577 | vpinsrw | 57 | 0% | 99.9986% |
579 | vpermd | 56 | 0% | 99.9987% |
580 | vextracti128 | 55 | 0% | 99.9987% |
580 | vandpd | 55 | 0% | 99.9987% |
580 | pi2fd | 55 | 0% | 99.9987% |
583 | vpalignr | 53 | 0% | 99.9987% |
584 | vpaddb | 51 | 0% | 99.9988% |
584 | pminsd | 51 | 0% | 99.9988% |
584 | crc32 | 51 | 0% | 99.9988% |
587 | vpunpckhqdq | 49 | 0% | 99.9988% |
587 | pminud | 49 | 0% | 99.9988% |
589 | vpshufhw | 48 | 0% | 99.9988% |
590 | vpsllq | 47 | 0% | 99.9988% |
591 | vpmovzxbw | 46 | 0% | 99.9989% |
591 | pi2fw | 46 | 0% | 99.9989% |
593 | pmaxud | 45 | 0% | 99.9989% |
593 | fxrstor | 45 | 0% | 99.9989% |
593 | divpd | 45 | 0% | 99.9989% |
596 | vphaddw | 44 | 0% | 99.9989% |
597 | vmovupd | 43 | 0% | 99.9989% |
597 | pmaxsd | 43 | 0% | 99.999% |
599 | vmovmskps | 42 | 0% | 99.999% |
599 | phaddd | 42 | 0% | 99.999% |
601 | prefetcht2 | 41 | 0% | 99.999% |
601 | cmpltss | 41 | 0% | 99.999% |
603 | vprotd | 40 | 0% | 99.999% |
603 | psignw | 40 | 0% | 99.999% |
605 | vandps | 39 | 0% | 99.999% |
605 | phaddw | 39 | 0% | 99.9991% |
605 | aeskeygenassist | 39 | 0% | 99.9991% |
608 | vpaddusb | 38 | 0% | 99.9991% |
608 | smsw | 38 | 0% | 99.9991% |
608 | pmaxsb | 38 | 0% | 99.9991% |
611 | andn | 37 | 0% | 99.9991% |
612 | vpsubsb | 36 | 0% | 99.9991% |
612 | vextracti32x4 | 36 | 0% | 99.9991% |
614 | vpsubd | 35 | 0% | 99.9992% |
614 | vmaxps | 35 | 0% | 99.9992% |
614 | roundsd | 35 | 0% | 99.9992% |
614 | pmovsxwd | 35 | 0% | 99.9992% |
618 | vpacksswb | 34 | 0% | 99.9992% |
618 | maskmovdqu | 34 | 0% | 99.9992% |
620 | pminuw | 33 | 0% | 99.9992% |
621 | vminss | 32 | 0% | 99.9992% |
621 | tpause | 32 | 0% | 99.9992% |
623 | vlddqu | 31 | 0% | 99.9992% |
623 | vextractf128 | 31 | 0% | 99.9993% |
623 | vcvtps2dq | 31 | 0% | 99.9993% |
623 | vcvtph2ps | 31 | 0% | 99.9993% |
623 | pminsb | 31 | 0% | 99.9993% |
623 | pcmpeqq | 31 | 0% | 99.9993% |
629 | vperm2f128 | 29 | 0% | 99.9993% |
629 | pinsrd | 29 | 0% | 99.9993% |
631 | vshufpd | 28 | 0% | 99.9993% |
631 | vmulss | 28 | 0% | 99.9993% |
631 | cmpneqps | 28 | 0% | 99.9993% |
634 | vpackusdw | 27 | 0% | 99.9994% |
635 | vshufps | 26 | 0% | 99.9994% |
635 | vpandn | 26 | 0% | 99.9994% |
635 | sha256msg1 | 26 | 0% | 99.9994% |
638 | sha256msg2 | 25 | 0% | 99.9994% |
638 | sha1rnds4 | 25 | 0% | 99.9994% |
638 | pinsrb | 25 | 0% | 99.9994% |
641 | vmovdqa32 | 24 | 0% | 99.9994% |
641 | pmaxuw | 24 | 0% | 99.9994% |
641 | cvttpd2dq | 24 | 0% | 99.9994% |
644 | maxpd | 23 | 0% | 99.9994% |
645 | sha1nexte | 22 | 0% | 99.9994% |
645 | pcmpgtq | 22 | 0% | 99.9994% |
645 | pabsd | 22 | 0% | 99.9995% |
648 | xrstor | 21 | 0% | 99.9995% |
648 | vsubps | 21 | 0% | 99.9995% |
648 | vpmulhuw | 21 | 0% | 99.9995% |
648 | minpd | 21 | 0% | 99.9995% |
648 | maskmovq | 21 | 0% | 99.9995% |
648 | invlpg | 21 | 0% | 99.9995% |
654 | vpbroadcastq | 20 | 0% | 99.9995% |
654 | movntdqa | 20 | 0% | 99.9995% |
656 | vmovlpd | 19 | 0% | 99.9995% |
657 | vminsd | 18 | 0% | 99.9995% |
657 | vmaxss | 18 | 0% | 99.9995% |
657 | vaddss | 18 | 0% | 99.9995% |
660 | xsaves | 17 | 0% | 99.9995% |
660 | vsqrtsd | 17 | 0% | 99.9995% |
660 | vcvtdq2ps | 17 | 0% | 99.9995% |
660 | sha1msg2 | 17 | 0% | 99.9995% |
660 | sha1msg1 | 17 | 0% | 99.9996% |
665 | vpsignw | 16 | 0% | 99.9996% |
665 | vpsadbw | 16 | 0% | 99.9996% |
665 | haddps | 16 | 0% | 99.9996% |
668 | vsqrtps | 15 | 0% | 99.9996% |
668 | vpextrw | 15 | 0% | 99.9996% |
668 | vpaddusw | 15 | 0% | 99.9996% |
668 | vfmadd213ps | 15 | 0% | 99.9996% |
668 | pcmpestri | 15 | 0% | 99.9996% |
673 | xsave | 14 | 0% | 99.9996% |
674 | xsavec | 13 | 0% | 99.9996% |
674 | vmovapd | 13 | 0% | 99.9996% |
674 | vminpd | 13 | 0% | 99.9996% |
674 | vdivps | 13 | 0% | 99.9996% |
674 | vcvttps2dq | 13 | 0% | 99.9996% |
674 | vaddsd | 13 | 0% | 99.9996% |
674 | roundss | 13 | 0% | 99.9996% |
674 | pmovzxwd | 13 | 0% | 99.9996% |
674 | pblendw | 13 | 0% | 99.9996% |
674 | cmpneqpd | 13 | 0% | 99.9996% |
684 | vphaddd | 12 | 0% | 99.9996% |
684 | vpblendw | 12 | 0% | 99.9996% |
684 | vdivss | 12 | 0% | 99.9997% |
684 | vcvtss2si | 12 | 0% | 99.9997% |
684 | psignd | 12 | 0% | 99.9997% |
689 | vpermps | 11 | 0% | 99.9997% |
689 | vhsubpd | 11 | 0% | 99.9997% |
689 | vcvttss2si | 11 | 0% | 99.9997% |
689 | sqrtpd | 11 | 0% | 99.9997% |
689 | rcpss | 11 | 0% | 99.9997% |
689 | prefetchit0 | 11 | 0% | 99.9997% |
689 | phminposuw | 11 | 0% | 99.9997% |
689 | cmpeqpd | 11 | 0% | 99.9997% |
697 | roundps | 10 | 0% | 99.9997% |
697 | roundpd | 10 | 0% | 99.9997% |
697 | ptest | 10 | 0% | 99.9997% |
697 | pmulhrsw | 10 | 0% | 99.9997% |
697 | phaddsw | 10 | 0% | 99.9997% |
697 | cmplesd | 10 | 0% | 99.9997% |
703 | vzeroall | 9 | 0% | 99.9997% |
703 | vpcmpgtw | 9 | 0% | 99.9997% |
703 | vpaddsw | 9 | 0% | 99.9997% |
703 | vmptrst | 9 | 0% | 99.9997% |
703 | vmptrld | 9 | 0% | 99.9997% |
703 | vmovntps | 9 | 0% | 99.9997% |
703 | vcvtsi2ss | 9 | 0% | 99.9997% |
703 | vcmppd | 9 | 0% | 99.9997% |
703 | vaddsubps | 9 | 0% | 99.9997% |
703 | lzcnt | 9 | 0% | 99.9997% |
703 | clflush | 9 | 0% | 99.9997% |
714 | xsaveopt | 8 | 0% | 99.9997% |
714 | vunpcklps | 8 | 0% | 99.9997% |
714 | vpmovzxwd | 8 | 0% | 99.9997% |
714 | vpmovzxbd | 8 | 0% | 99.9997% |
714 | vpblendvb | 8 | 0% | 99.9997% |
714 | vpabsw | 8 | 0% | 99.9998% |
714 | vcvttsd2si | 8 | 0% | 99.9998% |
714 | vcvtpd2dq | 8 | 0% | 99.9998% |
714 | vcmpps | 8 | 0% | 99.9998% |
714 | tlbsync | 8 | 0% | 99.9998% |
714 | movmskpd | 8 | 0% | 99.9998% |
714 | cvtpd2dq | 8 | 0% | 99.9998% |
714 | cmpnless | 8 | 0% | 99.9998% |
727 | vunpckhps | 7 | 0% | 99.9998% |
727 | vpsrlvd | 7 | 0% | 99.9998% |
727 | vpminsd | 7 | 0% | 99.9998% |
727 | vpmaxsd | 7 | 0% | 99.9998% |
727 | vpcmpgtb | 7 | 0% | 99.9998% |
727 | vmovddup | 7 | 0% | 99.9998% |
727 | vhaddps | 7 | 0% | 99.9998% |
727 | vdivsd | 7 | 0% | 99.9998% |
727 | pmuldq | 7 | 0% | 99.9998% |
727 | packusdw | 7 | 0% | 99.9998% |
727 | kmovw | 7 | 0% | 99.9998% |
727 | aesimc | 7 | 0% | 99.9998% |
739 | vsqrtss | 6 | 0% | 99.9998% |
739 | vpsubb | 6 | 0% | 99.9998% |
739 | vpminsw | 6 | 0% | 99.9998% |
739 | vpmaxub | 6 | 0% | 99.9998% |
739 | vpmaxsw | 6 | 0% | 99.9998% |
739 | vpermw | 6 | 0% | 99.9998% |
739 | vpcmpgtd | 6 | 0% | 99.9998% |
739 | vpbroadcastd | 6 | 0% | 99.9998% |
739 | vmovsldup | 6 | 0% | 99.9998% |
739 | vmovdqu16 | 6 | 0% | 99.9998% |
739 | vmaskmovps | 6 | 0% | 99.9998% |
739 | vcvtpd2ps | 6 | 0% | 99.9998% |
739 | vandnps | 6 | 0% | 99.9998% |
739 | rdtscp | 6 | 0% | 99.9998% |
739 | prefetchit1 | 6 | 0% | 99.9998% |
739 | pfpnacc | 6 | 0% | 99.9998% |
739 | mwaitx | 6 | 0% | 99.9998% |
739 | monitorx | 6 | 0% | 99.9998% |
757 | xrstors | 5 | 0% | 99.9998% |
757 | vpsubusw | 5 | 0% | 99.9998% |
757 | vpsubusb | 5 | 0% | 99.9998% |
757 | vpavgb | 5 | 0% | 99.9998% |
757 | vpandd | 5 | 0% | 99.9998% |
757 | vmovshdup | 5 | 0% | 99.9998% |
757 | vmovdqu8 | 5 | 0% | 99.9998% |
757 | vcvtsd2ss | 5 | 0% | 99.9998% |
757 | vcvtps2ph | 5 | 0% | 99.9998% |
757 | vaddsubpd | 5 | 0% | 99.9998% |
757 | rdseed | 5 | 0% | 99.9998% |
757 | psignb | 5 | 0% | 99.9998% |
757 | pmovzxbd | 5 | 0% | 99.9999% |
757 | pfcmpgt | 5 | 0% | 99.9999% |
757 | pfcmpge | 5 | 0% | 99.9999% |
757 | pabsb | 5 | 0% | 99.9999% |
773 | vunpcklpd | 4 | 0% | 99.9999% |
773 | vsubss | 4 | 0% | 99.9999% |
773 | vsubpd | 4 | 0% | 99.9999% |
773 | vrsqrtss | 4 | 0% | 99.9999% |
773 | vrsqrtps | 4 | 0% | 99.9999% |
773 | vpmulld | 4 | 0% | 99.9999% |
773 | vpmaxuw | 4 | 0% | 99.9999% |
773 | vpgatherdd | 4 | 0% | 99.9999% |
773 | vpermb | 4 | 0% | 99.9999% |
773 | vorps | 4 | 0% | 99.9999% |
773 | vmovlps | 4 | 0% | 99.9999% |
773 | vhaddpd | 4 | 0% | 99.9999% |
773 | vfmadd213sd | 4 | 0% | 99.9999% |
773 | vfmadd132sd | 4 | 0% | 99.9999% |
773 | vcvttpd2dq | 4 | 0% | 99.9999% |
773 | vcvtss2sd | 4 | 0% | 99.9999% |
773 | vcvtsd2si | 4 | 0% | 99.9999% |
773 | vcvtps2pd | 4 | 0% | 99.9999% |
773 | vcmpss | 4 | 0% | 99.9999% |
773 | vcmpsd | 4 | 0% | 99.9999% |
773 | stac | 4 | 0% | 99.9999% |
773 | pfsubr | 4 | 0% | 99.9999% |
773 | pfcmpeq | 4 | 0% | 99.9999% |
773 | pf2iw | 4 | 0% | 99.9999% |
773 | kunpckdq | 4 | 0% | 99.9999% |
773 | kmovb | 4 | 0% | 99.9999% |
773 | cmpnltps | 4 | 0% | 99.9999% |
773 | cmpnleps | 4 | 0% | 99.9999% |
773 | cmplepd | 4 | 0% | 99.9999% |
773 | bextr | 4 | 0% | 99.9999% |
803 | vunpckhpd | 3 | 0% | 99.9999% |
803 | vrcpps | 3 | 0% | 99.9999% |
803 | vpsubsw | 3 | 0% | 99.9999% |
803 | vpsubq | 3 | 0% | 99.9999% |
803 | vpmaskmovq | 3 | 0% | 99.9999% |
803 | vphminposuw | 3 | 0% | 99.9999% |
803 | vpaddsb | 3 | 0% | 99.9999% |
803 | vorpd | 3 | 0% | 99.9999% |
803 | vmulpd | 3 | 0% | 99.9999% |
803 | vmovntpd | 3 | 0% | 99.9999% |
803 | vmovhps | 3 | 0% | 99.9999% |
803 | vmaxsd | 3 | 0% | 99.9999% |
803 | vmaxpd | 3 | 0% | 99.9999% |
803 | vfmsub213ps | 3 | 0% | 99.9999% |
803 | vfmadd213ss | 3 | 0% | 99.9999% |
803 | vcvtsi2sd | 3 | 0% | 99.9999% |
803 | vcvtneeph2ps | 3 | 0% | 99.9999% |
803 | vcvtdq2pd | 3 | 0% | 99.9999% |
803 | vcomisd | 3 | 0% | 99.9999% |
803 | vandnpd | 3 | 0% | 99.9999% |
803 | vaddpd | 3 | 0% | 99.9999% |
803 | umwait | 3 | 0% | 99.9999% |
803 | umonitor | 3 | 0% | 99.9999% |
803 | stgi | 3 | 0% | 99.9999% |
803 | rsqrtss | 3 | 0% | 99.9999% |
803 | rdrand | 3 | 0% | 99.9999% |
803 | pswapd | 3 | 0% | 99.9999% |
803 | pmulhrw | 3 | 0% | 99.9999% |
803 | pmovsxdq | 3 | 0% | 99.9999% |
803 | kxnorb | 3 | 0% | 99.9999% |
803 | kmovd | 3 | 0% | 99.9999% |
803 | kandw | 3 | 0% | 99.9999% |
803 | invlpgb | 3 | 0% | 99.9999% |
803 | enclu | 3 | 0% | 99.9999% |
803 | blendvps | 3 | 0% | 99.9999% |
838 | wbnoinvd | 2 | 0% | 99.9999% |
838 | vucomiss | 2 | 0% | 99.9999% |
838 | vsubsd | 2 | 0% | 99.9999% |
838 | vrcpss | 2 | 0% | 99.9999% |
838 | vrangeps | 2 | 0% | 99.9999% |
838 | vpsllvd | 2 | 0% | 99.9999% |
838 | vpord | 2 | 0% | 99.9999% |
838 | vpmuldq | 2 | 0% | 99.9999% |
838 | vpcomq | 2 | 0% | 99.9999% |
838 | vpbroadcastb | 2 | 0% | 99.9999% |
838 | vmulsh | 2 | 0% | 99.9999% |
838 | vmulsd | 2 | 0% | 99.9999% |
838 | vhsubps | 2 | 0% | 99.9999% |
838 | vdivpd | 2 | 0% | 99.9999% |
838 | vcomiss | 2 | 0% | 99.9999% |
838 | vcmpeqps | 2 | 0% | 99.9999% |
838 | vblendps | 2 | 0% | 99.9999% |
838 | phsubw | 2 | 0% | 99.9999% |
838 | phsubsw | 2 | 0% | 99.9999% |
838 | phsubd | 2 | 0% | 99.9999% |
838 | pf2id | 2 | 0% | 99.9999% |
838 | hsubpd | 2 | 0% | 99.9999% |
838 | cmpunordps | 2 | 0% | 99.9999% |
838 | cmpnltss | 2 | 0% | 99.9999% |
838 | cmpnltsd | 2 | 0% | 99.9999% |
838 | cmpnltpd | 2 | 0% | 99.9999% |
838 | cmpless | 2 | 0% | 99.9999% |
865 | wrssd | 1 | 0% | 99.9999% |
865 | wrpkru | 1 | 0% | 99.9999% |
865 | vucomisd | 1 | 0% | 99.9999% |
865 | vpsrlvq | 1 | 0% | 99.9999% |
865 | vpsravd | 1 | 0% | 99.9999% |
865 | vpsllvq | 1 | 0% | 99.9999% |
865 | vpshrdd | 1 | 0% | 99.9999% |
865 | vprotb | 1 | 0% | 99.9999% |
865 | vpexpandq | 1 | 0% | 99.9999% |
865 | vpermilps | 1 | 0% | 99.9999% |
865 | vpermilpd | 1 | 0% | 99.9999% |
865 | vpermi2ps | 1 | 0% | 99.9999% |
865 | vpdpwssd | 1 | 0% | 99.9999% |
865 | vpcmpd | 1 | 0% | 99.9999% |
865 | vpavgw | 1 | 0% | 99.9999% |
865 | vpabsb | 1 | 0% | 99.9999% |
865 | vmxoff | 1 | 0% | 99.9999% |
865 | vmovntdqa | 1 | 0% | 99.9999% |
865 | vmovhpd | 1 | 0% | 99.9999% |
865 | vmcpuid | 1 | 0% | 100% |
865 | vmcall | 1 | 0% | 100% |
865 | vfnmsub213ss | 1 | 0% | 100% |
865 | vfnmsub213sd | 1 | 0% | 100% |
865 | vfnmsub213ps | 1 | 0% | 100% |
865 | vfnmsub213pd | 1 | 0% | 100% |
865 | vfnmaddpd | 1 | 0% | 100% |
865 | vfnmadd213ss | 1 | 0% | 100% |
865 | vfnmadd213sd | 1 | 0% | 100% |
865 | vfnmadd213ps | 1 | 0% | 100% |
865 | vfnmadd213pd | 1 | 0% | 100% |
865 | vfnmadd132ps | 1 | 0% | 100% |
865 | vfmsubadd231ps | 1 | 0% | 100% |
865 | vfmsubadd231ph | 1 | 0% | 100% |
865 | vfmsubadd213ps | 1 | 0% | 100% |
865 | vfmsubadd213pd | 1 | 0% | 100% |
865 | vfmsub231ps | 1 | 0% | 100% |
865 | vfmsub213ss | 1 | 0% | 100% |
865 | vfmsub213sh | 1 | 0% | 100% |
865 | vfmsub213sd | 1 | 0% | 100% |
865 | vfmsub213pd | 1 | 0% | 100% |
865 | vfmsub132ps | 1 | 0% | 100% |
865 | vfmsub132pd | 1 | 0% | 100% |
865 | vfmaddsubpd | 1 | 0% | 100% |
865 | vfmaddsub213ps | 1 | 0% | 100% |
865 | vfmaddsub213pd | 1 | 0% | 100% |
865 | vfmaddsd | 1 | 0% | 100% |
865 | vfmadd231sd | 1 | 0% | 100% |
865 | vfmadd213pd | 1 | 0% | 100% |
865 | vfmadd132ss | 1 | 0% | 100% |
865 | vex | 1 | 0% | 100% |
865 | vcvttph2dq | 1 | 0% | 100% |
865 | vcvtss2sh | 1 | 0% | 100% |
865 | vcvtph2uw | 1 | 0% | 100% |
865 | vcmpunord_sss | 1 | 0% | 100% |
865 | vcmpunord_ssd | 1 | 0% | 100% |
865 | vcmpunord_sps | 1 | 0% | 100% |
865 | vcmpunord_spd | 1 | 0% | 100% |
865 | vcmptruess | 1 | 0% | 100% |
865 | vcmptruesd | 1 | 0% | 100% |
865 | vcmptrueps | 1 | 0% | 100% |
865 | vcmptruepd | 1 | 0% | 100% |
865 | vcmptrue_usss | 1 | 0% | 100% |
865 | vcmptrue_ussd | 1 | 0% | 100% |
865 | vcmptrue_usps | 1 | 0% | 100% |
865 | vcmptrue_uspd | 1 | 0% | 100% |
865 | vcmpord_sss | 1 | 0% | 100% |
865 | vcmpord_ssd | 1 | 0% | 100% |
865 | vcmpord_sps | 1 | 0% | 100% |
865 | vcmpord_spd | 1 | 0% | 100% |
865 | vcmpnlt_uqss | 1 | 0% | 100% |
865 | vcmpnlt_uqsd | 1 | 0% | 100% |
865 | vcmpnlt_uqps | 1 | 0% | 100% |
865 | vcmpnlt_uqpd | 1 | 0% | 100% |
865 | vcmpnle_uqss | 1 | 0% | 100% |
865 | vcmpnle_uqsd | 1 | 0% | 100% |
865 | vcmpnle_uqps | 1 | 0% | 100% |
865 | vcmpnle_uqpd | 1 | 0% | 100% |
865 | vcmpngt_uqss | 1 | 0% | 100% |
865 | vcmpngt_uqsd | 1 | 0% | 100% |
865 | vcmpngt_uqps | 1 | 0% | 100% |
865 | vcmpngt_uqpd | 1 | 0% | 100% |
865 | vcmpnge_uqss | 1 | 0% | 100% |
865 | vcmpnge_uqsd | 1 | 0% | 100% |
865 | vcmpnge_uqps | 1 | 0% | 100% |
865 | vcmpnge_uqpd | 1 | 0% | 100% |
865 | vcmpneq_usss | 1 | 0% | 100% |
865 | vcmpneq_ussd | 1 | 0% | 100% |
865 | vcmpneq_usps | 1 | 0% | 100% |
865 | vcmpneq_uspd | 1 | 0% | 100% |
865 | vcmpneq_osss | 1 | 0% | 100% |
865 | vcmpneq_ossd | 1 | 0% | 100% |
865 | vcmpneq_osps | 1 | 0% | 100% |
865 | vcmpneq_ospd | 1 | 0% | 100% |
865 | vcmpneq_oqss | 1 | 0% | 100% |
865 | vcmpneq_oqsd | 1 | 0% | 100% |
865 | vcmpneq_oqps | 1 | 0% | 100% |
865 | vcmpneq_oqpd | 1 | 0% | 100% |
865 | vcmplt_oqss | 1 | 0% | 100% |
865 | vcmplt_oqsd | 1 | 0% | 100% |
865 | vcmplt_oqps | 1 | 0% | 100% |
865 | vcmplt_oqpd | 1 | 0% | 100% |
865 | vcmple_oqss | 1 | 0% | 100% |
865 | vcmple_oqsd | 1 | 0% | 100% |
865 | vcmple_oqps | 1 | 0% | 100% |
865 | vcmple_oqpd | 1 | 0% | 100% |
865 | vcmpgt_oqss | 1 | 0% | 100% |
865 | vcmpgt_oqsd | 1 | 0% | 100% |
865 | vcmpgt_oqps | 1 | 0% | 100% |
865 | vcmpgt_oqpd | 1 | 0% | 100% |
865 | vcmpge_oqss | 1 | 0% | 100% |
865 | vcmpge_oqsd | 1 | 0% | 100% |
865 | vcmpge_oqps | 1 | 0% | 100% |
865 | vcmpge_oqpd | 1 | 0% | 100% |
865 | vcmpfalsess | 1 | 0% | 100% |
865 | vcmpfalsesd | 1 | 0% | 100% |
865 | vcmpfalseps | 1 | 0% | 100% |
865 | vcmpfalsepd | 1 | 0% | 100% |
865 | vcmpfalse_osss | 1 | 0% | 100% |
865 | vcmpfalse_ossd | 1 | 0% | 100% |
865 | vcmpfalse_osps | 1 | 0% | 100% |
865 | vcmpfalse_ospd | 1 | 0% | 100% |
865 | vcmpeq_usss | 1 | 0% | 100% |
865 | vcmpeq_ussd | 1 | 0% | 100% |
865 | vcmpeq_usps | 1 | 0% | 100% |
865 | vcmpeq_uspd | 1 | 0% | 100% |
865 | vcmpeq_uqss | 1 | 0% | 100% |
865 | vcmpeq_uqsd | 1 | 0% | 100% |
865 | vcmpeq_uqps | 1 | 0% | 100% |
865 | vcmpeq_uqpd | 1 | 0% | 100% |
865 | vcmpeq_osss | 1 | 0% | 100% |
865 | vcmpeq_ossd | 1 | 0% | 100% |
865 | vcmpeq_osps | 1 | 0% | 100% |
865 | vcmpeq_ospd | 1 | 0% | 100% |
865 | pmovzxwq | 1 | 0% | 100% |
865 | pmovzxdq | 1 | 0% | 100% |
865 | pmovzxbq | 1 | 0% | 100% |
865 | pmovsxwq | 1 | 0% | 100% |
865 | pmovsxbw | 1 | 0% | 100% |
865 | pmovsxbq | 1 | 0% | 100% |
865 | pmovsxbd | 1 | 0% | 100% |
865 | pfrsqrt | 1 | 0% | 100% |
865 | pfrcpit1 | 1 | 0% | 100% |
865 | pfmin | 1 | 0% | 100% |
865 | pext | 1 | 0% | 100% |
865 | pdep | 1 | 0% | 100% |
865 | movntpd | 1 | 0% | 100% |
865 | movddup | 1 | 0% | 100% |
865 | kxorw | 1 | 0% | 100% |
865 | kunpckwd | 1 | 0% | 100% |
865 | kunpckbw | 1 | 0% | 100% |
865 | ktestw | 1 | 0% | 100% |
865 | knotw | 1 | 0% | 100% |
865 | kandnb | 1 | 0% | 100% |
865 | kaddw | 1 | 0% | 100% |
865 | hsubps | 1 | 0% | 100% |
865 | haddpd | 1 | 0% | 100% |
865 | enclv | 1 | 0% | 100% |
865 | cvttpd2pi | 1 | 0% | 100% |
865 | cvtpi2pd | 1 | 0% | 100% |
865 | cmpzxadd | 1 | 0% | 100% |
865 | cmpunordss | 1 | 0% | 100% |
865 | cmpunordsd | 1 | 0% | 100% |
865 | cmpunordpd | 1 | 0% | 100% |
865 | cmpordss | 1 | 0% | 100% |
865 | cmpordsd | 1 | 0% | 100% |
865 | cmpordps | 1 | 0% | 100% |
865 | cmpordpd | 1 | 0% | 100% |
865 | cmpneqss | 1 | 0% | 100% |
865 | cmpneqsd | 1 | 0% | 100% |
865 | cmpeqss | 1 | 0% | 100% |
865 | clgi | 1 | 0% | 100% |
865 | bzhi | 1 | 0% | 100% |
865 | blsr | 1 | 0% | 100% |
865 | blsmsk | 1 | 0% | 100% |
865 | blsi | 1 | 0% | 100% |
865 | blendvpd | 1 | 0% | 100% |
865 | addsubpd | 1 | 0% | 100% |
ランキングについてのコメント
1 位はさすがの mov 命令です。これだけで約 2 割を占めています。
x86 の mov 命令は複雑なアドレッシングモードを備えており、利便性が高いのも、数が多い理由でしょう。たとえば次の命令は、esp レジスタの値に rcx レジスタの値を 4 倍した値を足してさらに 430h を足した値をアドレスとして、メモリ上のそのアドレスから 4 バイト分を引っ張ってきて esi レジスタに格納します。
mov esi,dword ptr [esp+ecx*4+430h]
2 位は push 命令です。関数の入り口でレジスタを退避したり、関数の呼び出し時に引数を積んだりと多用される命令なので、これも納得です。以下、push の使用例です。
6B810490: 8B FF mov edi,edi
6B810492: 55 push ebp
6B810493: 8B EC mov ebp,esp
6B810495: 6A 00 push 0
6B810497: FF 75 18 push dword ptr [ebp+18h]
6B81049A: FF 75 14 push dword ptr [ebp+14h]
6B81049D: FF 75 10 push dword ptr [ebp+10h]
6B8104A0: FF 75 0C push dword ptr [ebp+0Ch]
6B8104A3: FF 75 08 push dword ptr [ebp+8]
6B8104A6: E8 15 0F 00 00 call 6B8113C0
6B8104AB: 5D pop ebp
6B8104AC: C2 14 00 ret 14h
3 位の int については注意が必要です。実際に使われている箇所を見るとほとんどが「int 3」(CCh, DebugBreak) で、関数と関数の間の埋め草に使われているだけです。例を挙げます。
72F34B32: 83 C4 0C add esp,0Ch
72F34B35: 5D pop ebp
72F34B36: C3 ret
72F34B37: CC int 3
72F34B38: CC int 3
72F34B39: CC int 3
72F34B3A: CC int 3
72F34B3B: CC int 3
72F34B3C: CC int 3
72F34B3D: CC int 3
72F34B3E: CC int 3
72F34B3F: CC int 3
72F34B40: 8B FF mov edi,edi
72F34B42: 55 push ebp
72F34B43: 8B EC mov ebp,esp
72F34B45: 6A 20 push 20h
72F34B47: FF 75 10 push dword ptr [ebp+10h]
72F34B4A: FF 75 0C push dword ptr [ebp+0Ch]
72F34B4D: E8 1B A9 F7 FF call 72EAF46D
72F34B52: 83 C4 0C add esp,0Ch
72F34B55: 5D pop ebp
72F34B56: C3 ret
72F34B57: CC int 3
72F34B58: CC int 3
72F34B59: CC int 3
72F34B5A: CC int 3
72F34B5B: CC int 3
72F34B5C: CC int 3
72F34B5D: 8B FF mov edi,edi
72F34B5F: 55 push ebp
72F34B60: 8B EC mov ebp,esp
ret から次の関数の先頭までが int 3 で埋められています。この部分は基本的に実行されないので、特別扱いしても、というか除外してもよかったかもしれません。
4 位以降は add, call, pop, lea, je, cmp, test, jmp, …… という馴染みのある命令が続き、21 位までで 90%、35 位までで 95%、99 位までで 99% を占めています。
後ろのほうに行くと、fyl2xp1 だとか phminposuw だとか何をするのか見当も付かない命令があります。とにかく命令が多すぎます。
ちなみに集計した中で一番長いオペコードは以下でした。
aeskeygenassist
集計方法について
集計方法について書き留めておきます。
Windows の SysWOW64 ディレクトリには 64bit のモジュールが紛れ込んでいるので、まず、それらを除外した 32bit モジュールのリストを作りました。
C:\Windows\SysWOW64> for %a in (*.dll *.exe) do ((dumpbin /headers %a | find "machine (x86)" > nul) & if NOT ERRORLEVEL 1 echo %a) >> c:\tmp\list32bit.txt
対象のモジュールは 2622 個でした。
C:\Windows\SysWOW64> type c:\tmp\list32bit.txt
......
advapi32.dll
advapi32res.dll
advpack.dll
aeevts.dll
aepic.dll
agentactivationruntime.dll
agentactivationruntimewindows.dll
ahadmin.dll
amsi.dll
amstream.dll
......
リスト内の全モジュールを、ひとつのファイルに逆アセンブルします。
C:\Windows\SysWOW64> for /F %a in (c:\tmp\list32bit.txt) do dumpbin /nologo /disasm %a >> c:\tmp\disasm32bit.txt
約 17GB、約 3.2 億行の巨大なファイルが生成されました。
C:\Windows\SysWOW64> type c:\tmp\disasm32bit.txt
......
6B818950: 8B FF mov edi,edi
6B818952: 55 push ebp
6B818953: 8B EC mov ebp,esp
6B818955: 83 EC 14 sub esp,14h
6B818958: A1 40 01 8B 6B mov eax,dword ptr ds:[6B8B0140h]
6B81895D: 33 C5 xor eax,ebp
6B81895F: 89 45 FC mov dword ptr [ebp-4],eax
6B818962: 56 push esi
......
ただし、時折、本来コードではない場所が逆アセンブルされることがあるようでした。例を示します。
10002013: 00 38 add byte ptr [eax],bh
10002015: 10 07 adc byte ptr [edi],al
10002017: 00 09 add byte ptr [ecx],cl
10002019: 00 00 add byte ptr [eax],al
1000201B: 00 00 add byte ptr [eax],al
1000201D: 00 00 add byte ptr [eax],al
とはいえすべてを目視でチェックするわけにもいかず、そのまま受け入れた点、ご了承ください。
さて、ここからアセンブリ言語のオペコードの部分のみを抜き出すのですが、「repe stos」のようなプレフィックスの付いた命令や、「repe lock push」のようなプレフィックスが 2 個付いた命令もあり、スクリプトでの処理は難しそうでした。
1000F1F5: F3 AA rep stos byte ptr es:[edi]
10010A65: F0 F3 0E repe lock push cs
そこで、各行について、プレフィックス(lock, rep, repe, repne, repz, repnz, xacquire, xrelease, vex, evex, bnd, ht, hnt)以外に達するまで単語を抜き出す C 言語のプログラム filter32bit.exe を作りました。
これを実行します。
C:\tmp> filter32bit.exe disasm32bit.txt > opcode32bit.txt
5 分ほどでオペコード(プレフィックスを含む)が抜き出されました。
C:\tmp> type opcode32bit.txt
......
mov
push
mov
lea
cmp
jb
mov
cmp
mov
sbb
......
最後に、オペコード(プレフィックスを含む)ごとの使用回数を集計します。WSL (Windows Subsystem for Linux) に入って sort と uniq コマンドを利用しました。
C:\tmp> wsl.exe
***:/mnt/c/tmp$ sort opcode32bit.txt | uniq -c | sort -nr > opcode32bit_rank.txt
集計結果です。
C:\tmp> type opcode32bit_rank.txt
63183290 mov
38414209 push
37519703 int
34346643 add
19004925 call
11085274 pop
10277527 lea
8811379 je
8002698 cmp
7982909 test
......
この集計結果を元に、Excel で順位 (RANK.EQ)、割合、累積割合を計算しました。
参考文献
[1] Intel「Intel(R) 64 and IA-32 Architectures Software Developer’s Manual」, 2024