1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake -instruction-tables < %s | FileCheck %s
3
4f2xm1
5
6fabs
7
8fadd %st, %st(1)
9fadd %st(2)
10fadds (%ecx)
11faddl (%ecx)
12faddp %st(1)
13faddp %st(2)
14fiadds (%ecx)
15fiaddl (%ecx)
16
17fbld (%ecx)
18fbstp (%eax)
19
20fchs
21
22fnclex
23
24fcmovb %st(1), %st
25fcmovbe %st(1), %st
26fcmove %st(1), %st
27fcmovnb %st(1), %st
28fcmovnbe %st(1), %st
29fcmovne %st(1), %st
30fcmovnu %st(1), %st
31fcmovu %st(1), %st
32
33fcom %st(1)
34fcom %st(3)
35fcoms (%ecx)
36fcoml (%eax)
37fcomp %st(1)
38fcomp %st(3)
39fcomps (%ecx)
40fcompl (%eax)
41fcompp
42
43fcomi %st(3)
44fcompi %st(3)
45
46fcos
47
48fdecstp
49
50fdiv %st, %st(1)
51fdiv %st(2)
52fdivs (%ecx)
53fdivl (%eax)
54fdivp %st(1)
55fdivp %st(2)
56fidivs (%ecx)
57fidivl (%eax)
58
59fdivr %st, %st(1)
60fdivr %st(2)
61fdivrs (%ecx)
62fdivrl (%eax)
63fdivrp %st(1)
64fdivrp %st(2)
65fidivrs (%ecx)
66fidivrl (%eax)
67
68ffree %st(0)
69
70ficoms (%ecx)
71ficoml (%eax)
72ficomps (%ecx)
73ficompl (%eax)
74
75filds (%edx)
76fildl (%ecx)
77fildll (%eax)
78
79fincstp
80
81fninit
82
83fists (%edx)
84fistl (%ecx)
85fistps (%edx)
86fistpl (%ecx)
87fistpll (%eax)
88
89fisttps (%edx)
90fisttpl (%ecx)
91fisttpll (%eax)
92
93fld %st(0)
94flds (%edx)
95fldl (%ecx)
96fldt (%eax)
97
98fldcw (%eax)
99fldenv (%eax)
100
101fld1
102fldl2e
103fldl2t
104fldlg2
105fldln2
106fldpi
107fldz
108
109fmul %st, %st(1)
110fmul %st(2)
111fmuls (%ecx)
112fmull (%eax)
113fmulp %st(1)
114fmulp %st(2)
115fimuls (%ecx)
116fimull (%eax)
117
118fnop
119
120fpatan
121
122fprem
123fprem1
124
125fptan
126
127frndint
128
129frstor (%eax)
130
131fnsave (%eax)
132
133fscale
134
135fsin
136
137fsincos
138
139fsqrt
140
141fst %st(0)
142fsts (%edx)
143fstl (%ecx)
144fstp %st(0)
145fstpl (%edx)
146fstpl (%ecx)
147fstpt (%eax)
148
149fnstcw (%eax)
150fnstenv (%eax)
151fnstsw (%eax)
152
153frstor (%eax)
154fsave (%eax)
155
156fsub %st, %st(1)
157fsub %st(2)
158fsubs (%ecx)
159fsubl (%eax)
160fsubp %st(1)
161fsubp %st(2)
162fisubs (%ecx)
163fisubl (%eax)
164
165fsubr %st, %st(1)
166fsubr %st(2)
167fsubrs (%ecx)
168fsubrl (%eax)
169fsubrp %st(1)
170fsubrp %st(2)
171fisubrs (%ecx)
172fisubrl (%eax)
173
174ftst
175
176fucom %st(1)
177fucom %st(3)
178fucomp %st(1)
179fucomp %st(3)
180fucompp
181
182fucomi %st(3)
183fucompi %st(3)
184
185fwait
186
187fxam
188
189fxch %st(1)
190fxch %st(3)
191
192fxrstor (%eax)
193fxsave (%eax)
194
195fxtract
196
197fyl2x
198fyl2xp1
199
200# CHECK:      Instruction Info:
201# CHECK-NEXT: [1]: #uOps
202# CHECK-NEXT: [2]: Latency
203# CHECK-NEXT: [3]: RThroughput
204# CHECK-NEXT: [4]: MayLoad
205# CHECK-NEXT: [5]: MayStore
206# CHECK-NEXT: [6]: HasSideEffects (U)
207
208# CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
209# CHECK-NEXT:  1      100   0.25                  U     f2xm1
210# CHECK-NEXT:  1      1     1.00                  U     fabs
211# CHECK-NEXT:  1      3     1.00                  U     fadd	%st, %st(1)
212# CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2), %st
213# CHECK-NEXT:  2      10    1.00    *             U     fadds	(%ecx)
214# CHECK-NEXT:  2      10    1.00    *             U     faddl	(%ecx)
215# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(1)
216# CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
217# CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
218# CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
219# CHECK-NEXT:  1      100   0.25    *             U     fbld	(%ecx)
220# CHECK-NEXT:  2      1     1.00           *      U     fbstp	(%eax)
221# CHECK-NEXT:  1      1     1.00                  U     fchs
222# CHECK-NEXT:  4      4     1.00                  U     fnclex
223# CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
224# CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st
225# CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st
226# CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st
227# CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st
228# CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st
229# CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st
230# CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
231# CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
232# CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
233# CHECK-NEXT:  2      8     1.00    *             U     fcoms	(%ecx)
234# CHECK-NEXT:  2      8     1.00    *             U     fcoml	(%eax)
235# CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
236# CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
237# CHECK-NEXT:  2      8     1.00    *             U     fcomps	(%ecx)
238# CHECK-NEXT:  2      8     1.00    *             U     fcompl	(%eax)
239# CHECK-NEXT:  1      100   0.25                  U     fcompp
240# CHECK-NEXT:  1      2     1.00                  U     fcomi	%st(3), %st
241# CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3), %st
242# CHECK-NEXT:  1      100   0.25                  U     fcos
243# CHECK-NEXT:  2      2     1.00                  U     fdecstp
244# CHECK-NEXT:  1      15    1.00                  U     fdiv	%st, %st(1)
245# CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2), %st
246# CHECK-NEXT:  2      22    1.00    *             U     fdivs	(%ecx)
247# CHECK-NEXT:  2      22    1.00    *             U     fdivl	(%eax)
248# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(1)
249# CHECK-NEXT:  1      15    1.00                  U     fdivp	%st, %st(2)
250# CHECK-NEXT:  3      25    1.00    *             U     fidivs	(%ecx)
251# CHECK-NEXT:  3      25    1.00    *             U     fidivl	(%eax)
252# CHECK-NEXT:  1      20    1.00                  U     fdivr	%st, %st(1)
253# CHECK-NEXT:  1      15    1.00                  U     fdivr	%st(2), %st
254# CHECK-NEXT:  2      27    1.00    *             U     fdivrs	(%ecx)
255# CHECK-NEXT:  2      27    1.00    *             U     fdivrl	(%eax)
256# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(1)
257# CHECK-NEXT:  1      20    1.00                  U     fdivrp	%st, %st(2)
258# CHECK-NEXT:  3      30    1.00    *             U     fidivrs	(%ecx)
259# CHECK-NEXT:  3      30    1.00    *             U     fidivrl	(%eax)
260# CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
261# CHECK-NEXT:  3      11    2.00    *             U     ficoms	(%ecx)
262# CHECK-NEXT:  3      11    2.00    *             U     ficoml	(%eax)
263# CHECK-NEXT:  3      11    2.00    *             U     ficomps	(%ecx)
264# CHECK-NEXT:  3      11    2.00    *             U     ficompl	(%eax)
265# CHECK-NEXT:  2      10    1.00    *             U     filds	(%edx)
266# CHECK-NEXT:  2      10    1.00    *             U     fildl	(%ecx)
267# CHECK-NEXT:  2      10    1.00    *             U     fildll	(%eax)
268# CHECK-NEXT:  1      1     0.50                  U     fincstp
269# CHECK-NEXT:  15     75    6.00                  U     fninit
270# CHECK-NEXT:  3      4     1.00           *      U     fists	(%edx)
271# CHECK-NEXT:  3      4     1.00           *      U     fistl	(%ecx)
272# CHECK-NEXT:  3      4     1.00           *      U     fistps	(%edx)
273# CHECK-NEXT:  3      4     1.00           *      U     fistpl	(%ecx)
274# CHECK-NEXT:  3      4     1.00           *      U     fistpll	(%eax)
275# CHECK-NEXT:  3      4     1.00           *      U     fisttps	(%edx)
276# CHECK-NEXT:  3      4     1.00           *      U     fisttpl	(%ecx)
277# CHECK-NEXT:  3      4     1.00           *      U     fisttpll	(%eax)
278# CHECK-NEXT:  1      1     0.25                  U     fld	%st(0)
279# CHECK-NEXT:  1      7     0.50    *             U     flds	(%edx)
280# CHECK-NEXT:  1      7     0.50    *             U     fldl	(%ecx)
281# CHECK-NEXT:  1      7     0.50    *             U     fldt	(%eax)
282# CHECK-NEXT:  3      7     1.00    *             U     fldcw	(%eax)
283# CHECK-NEXT:  64     62    14.00   *             U     fldenv	(%eax)
284# CHECK-NEXT:  2      1     1.00                  U     fld1
285# CHECK-NEXT:  2      1     1.00                  U     fldl2e
286# CHECK-NEXT:  2      1     1.00                  U     fldl2t
287# CHECK-NEXT:  2      1     1.00                  U     fldlg2
288# CHECK-NEXT:  2      1     1.00                  U     fldln2
289# CHECK-NEXT:  2      1     1.00                  U     fldpi
290# CHECK-NEXT:  1      1     0.50                  U     fldz
291# CHECK-NEXT:  1      4     1.00                  U     fmul	%st, %st(1)
292# CHECK-NEXT:  1      4     1.00                  U     fmul	%st(2), %st
293# CHECK-NEXT:  2      11    1.00    *             U     fmuls	(%ecx)
294# CHECK-NEXT:  2      11    1.00    *             U     fmull	(%eax)
295# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st, %st(1)
296# CHECK-NEXT:  1      4     1.00                  U     fmulp	%st, %st(2)
297# CHECK-NEXT:  3      14    1.00    *             U     fimuls	(%ecx)
298# CHECK-NEXT:  3      14    1.00    *             U     fimull	(%eax)
299# CHECK-NEXT:  1      1     0.50                  U     fnop
300# CHECK-NEXT:  1      100   0.25                  U     fpatan
301# CHECK-NEXT:  1      100   0.25                  U     fprem
302# CHECK-NEXT:  1      100   0.25                  U     fprem1
303# CHECK-NEXT:  1      100   0.25                  U     fptan
304# CHECK-NEXT:  1      100   0.25                  U     frndint
305# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
306# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
307# CHECK-NEXT:  1      100   0.25                  U     fscale
308# CHECK-NEXT:  1      100   0.25                  U     fsin
309# CHECK-NEXT:  1      100   0.25                  U     fsincos
310# CHECK-NEXT:  1      21    7.00                  U     fsqrt
311# CHECK-NEXT:  1      1     0.25                  U     fst	%st(0)
312# CHECK-NEXT:  1      1     1.00           *      U     fsts	(%edx)
313# CHECK-NEXT:  1      1     1.00           *      U     fstl	(%ecx)
314# CHECK-NEXT:  1      1     0.25                  U     fstp	%st(0)
315# CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%edx)
316# CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
317# CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
318# CHECK-NEXT:  3      2     1.00           *      U     fnstcw	(%eax)
319# CHECK-NEXT:  100    106   19.50          *      U     fnstenv	(%eax)
320# CHECK-NEXT:  3      3     1.00           *      U     fnstsw	(%eax)
321# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
322# CHECK-NEXT:  2      2     0.50                  U     wait
323# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
324# CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
325# CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
326# CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)
327# CHECK-NEXT:  2      10    1.00    *             U     fsubl	(%eax)
328# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(1)
329# CHECK-NEXT:  1      3     1.00                  U     fsubp	%st, %st(2)
330# CHECK-NEXT:  3      13    2.00    *             U     fisubs	(%ecx)
331# CHECK-NEXT:  3      13    2.00    *             U     fisubl	(%eax)
332# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st, %st(1)
333# CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2), %st
334# CHECK-NEXT:  2      10    1.00    *             U     fsubrs	(%ecx)
335# CHECK-NEXT:  2      10    1.00    *             U     fsubrl	(%eax)
336# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(1)
337# CHECK-NEXT:  1      3     1.00                  U     fsubrp	%st, %st(2)
338# CHECK-NEXT:  3      13    2.00    *             U     fisubrs	(%ecx)
339# CHECK-NEXT:  3      13    2.00    *             U     fisubrl	(%eax)
340# CHECK-NEXT:  1      2     1.00                  U     ftst
341# CHECK-NEXT:  1      1     1.00                  U     fucom	%st(1)
342# CHECK-NEXT:  1      1     1.00                  U     fucom	%st(3)
343# CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(1)
344# CHECK-NEXT:  1      1     1.00                  U     fucomp	%st(3)
345# CHECK-NEXT:  1      2     1.00                  U     fucompp
346# CHECK-NEXT:  1      2     1.00                  U     fucomi	%st(3), %st
347# CHECK-NEXT:  1      2     1.00                  U     fucompi	%st(3), %st
348# CHECK-NEXT:  2      2     0.50                  U     wait
349# CHECK-NEXT:  1      100   0.25                  U     fxam
350# CHECK-NEXT:  15     17    4.00                  U     fxch	%st(1)
351# CHECK-NEXT:  15     17    4.00                  U     fxch	%st(3)
352# CHECK-NEXT:  90     63    16.50   *      *      U     fxrstor	(%eax)
353# CHECK-NEXT:  1      100   0.25    *      *      U     fxsave	(%eax)
354# CHECK-NEXT:  1      100   0.25                  U     fxtract
355# CHECK-NEXT:  1      100   0.25                  U     fyl2x
356# CHECK-NEXT:  1      100   0.25                  U     fyl2xp1
357
358# CHECK:      Resources:
359# CHECK-NEXT: [0]   - SKLDivider
360# CHECK-NEXT: [1]   - SKLFPDivider
361# CHECK-NEXT: [2]   - SKLPort0
362# CHECK-NEXT: [3]   - SKLPort1
363# CHECK-NEXT: [4]   - SKLPort2
364# CHECK-NEXT: [5]   - SKLPort3
365# CHECK-NEXT: [6]   - SKLPort4
366# CHECK-NEXT: [7]   - SKLPort5
367# CHECK-NEXT: [8]   - SKLPort6
368# CHECK-NEXT: [9]   - SKLPort7
369
370# CHECK:      Resource pressure per iteration:
371# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
372# CHECK-NEXT:  -     7.00   126.75 52.25  49.00  49.00  27.00  149.75 69.25  9.00
373
374# CHECK:      Resource pressure by instruction:
375# CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
376# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     f2xm1
377# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fabs
378# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st, %st(1)
379# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fadd	%st(2), %st
380# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fadds	(%ecx)
381# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     faddl	(%ecx)
382# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st, %st(1)
383# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     faddp	%st, %st(2)
384# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fiadds	(%ecx)
385# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fiaddl	(%ecx)
386# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fbld	(%ecx)
387# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fbstp	(%eax)
388# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fchs
389# CHECK-NEXT:  -      -     1.00   1.00    -      -      -     1.00   1.00    -     fnclex
390# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovb	%st(1), %st
391# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st
392# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st
393# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st
394# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st
395# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st
396# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st
397# CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st
398# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcom	%st(1)
399# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcom	%st(3)
400# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcoms	(%ecx)
401# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcoml	(%eax)
402# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcomp	%st(1)
403# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fcomp	%st(3)
404# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcomps	(%ecx)
405# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fcompl	(%eax)
406# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcompp
407# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcomi	%st(3), %st
408# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fcompi	%st(3), %st
409# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fcos
410# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fdecstp
411# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st, %st(1)
412# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2), %st
413# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivs	(%ecx)
414# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivl	(%eax)
415# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(1)
416# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st, %st(2)
417# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivs	(%ecx)
418# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivl	(%eax)
419# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st, %st(1)
420# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2), %st
421# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrs	(%ecx)
422# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fdivrl	(%eax)
423# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(1)
424# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st, %st(2)
425# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivrs	(%ecx)
426# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fidivrl	(%eax)
427# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     ffree	%st(0)
428# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficoms	(%ecx)
429# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficoml	(%eax)
430# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficomps	(%ecx)
431# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     ficompl	(%eax)
432# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     filds	(%edx)
433# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fildl	(%ecx)
434# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fildll	(%eax)
435# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     fincstp
436# CHECK-NEXT:  -      -     3.00   1.50    -      -      -     9.00   1.50    -     fninit
437# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fists	(%edx)
438# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fistl	(%ecx)
439# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fistps	(%edx)
440# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fistpl	(%ecx)
441# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fistpll	(%eax)
442# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttps	(%edx)
443# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttpl	(%ecx)
444# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00   1.00    -     0.33   fisttpll	(%eax)
445# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fld	%st(0)
446# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     flds	(%edx)
447# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldl	(%ecx)
448# CHECK-NEXT:  -      -      -      -     0.50   0.50    -      -      -      -     fldt	(%eax)
449# CHECK-NEXT:  -      -     1.50    -     0.50   0.50    -     0.50    -      -     fldcw	(%eax)
450# CHECK-NEXT:  -      -     19.25  9.75   4.00   4.00    -     12.25  14.75   -     fldenv	(%eax)
451# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fld1
452# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldl2e
453# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldl2t
454# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldlg2
455# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldln2
456# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldpi
457# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     fldz
458# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st, %st(1)
459# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2), %st
460# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmuls	(%ecx)
461# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -      -      -      -     fmull	(%eax)
462# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(1)
463# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st, %st(2)
464# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fimuls	(%ecx)
465# CHECK-NEXT:  -      -     1.00    -     0.50   0.50    -     1.00    -      -     fimull	(%eax)
466# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     fnop
467# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fpatan
468# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fprem
469# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fprem1
470# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fptan
471# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     frndint
472# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     frstor	(%eax)
473# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fnsave	(%eax)
474# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fscale
475# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsin
476# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fsincos
477# CHECK-NEXT:  -     7.00   1.00    -      -      -      -      -      -      -     fsqrt
478# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fst	%st(0)
479# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fsts	(%edx)
480# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstl	(%ecx)
481# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fstp	%st(0)
482# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%edx)
483# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpl	(%ecx)
484# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -      -     0.33   fstpt	(%eax)
485# CHECK-NEXT:  -      -      -      -     0.33   0.33   1.00    -     1.00   0.33   fnstcw	(%eax)
486# CHECK-NEXT:  -      -     27.00  8.50   3.67   3.67   11.00  23.50  19.00  3.67   fnstenv	(%eax)
487# CHECK-NEXT:  -      -     1.00    -     0.33   0.33   1.00    -      -     0.33   fnstsw	(%eax)
488# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     frstor	(%eax)
489# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     0.50   0.50    -     wait
490# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fnsave	(%eax)
491# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st, %st(1)
492# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsub	%st(2), %st
493# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubs	(%ecx)
494# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubl	(%eax)
495# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st, %st(1)
496# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubp	%st, %st(2)
497# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubs	(%ecx)
498# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubl	(%eax)
499# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st, %st(1)
500# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubr	%st(2), %st
501# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrs	(%ecx)
502# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     1.00    -      -     fsubrl	(%eax)
503# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st, %st(1)
504# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fsubrp	%st, %st(2)
505# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubrs	(%ecx)
506# CHECK-NEXT:  -      -      -      -     0.50   0.50    -     2.00    -      -     fisubrl	(%eax)
507# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     ftst
508# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fucom	%st(1)
509# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fucom	%st(3)
510# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fucomp	%st(1)
511# CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -     fucomp	%st(3)
512# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucompp
513# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucomi	%st(3), %st
514# CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fucompi	%st(3), %st
515# CHECK-NEXT:  -      -     0.50   0.50    -      -      -     0.50   0.50    -     wait
516# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fxam
517# CHECK-NEXT:  -      -     4.00   2.00    -      -      -     4.00   5.00    -     fxch	%st(1)
518# CHECK-NEXT:  -      -     4.00   2.00    -      -      -     4.00   5.00    -     fxch	%st(3)
519# CHECK-NEXT:  -      -     17.25  12.25  16.50  16.50   -     12.75  14.75   -     fxrstor	(%eax)
520# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fxsave	(%eax)
521# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fxtract
522# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fyl2x
523# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fyl2xp1
524