1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=atom -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      99    49.50                 U     f2xm1
210# CHECK-NEXT:  1      1     1.00                  U     fabs
211# CHECK-NEXT:  1      5     5.00                  U     fadd	%st, %st(1)
212# CHECK-NEXT:  1      5     5.00                  U     fadd	%st(2), %st
213# CHECK-NEXT:  1      5     5.00    *             U     fadds	(%ecx)
214# CHECK-NEXT:  1      5     5.00    *             U     faddl	(%ecx)
215# CHECK-NEXT:  1      5     5.00                  U     faddp	%st, %st(1)
216# CHECK-NEXT:  1      5     5.00                  U     faddp	%st, %st(2)
217# CHECK-NEXT:  1      5     5.00    *             U     fiadds	(%ecx)
218# CHECK-NEXT:  1      5     5.00    *             U     fiaddl	(%ecx)
219# CHECK-NEXT:  1      100   0.50    *             U     fbld	(%ecx)
220# CHECK-NEXT:  1      100   0.50           *      U     fbstp	(%eax)
221# CHECK-NEXT:  1      1     1.00                  U     fchs
222# CHECK-NEXT:  1      25    12.50                 U     fnclex
223# CHECK-NEXT:  1      9     4.50                  U     fcmovb	%st(1), %st
224# CHECK-NEXT:  1      9     4.50                  U     fcmovbe	%st(1), %st
225# CHECK-NEXT:  1      9     4.50                  U     fcmove	%st(1), %st
226# CHECK-NEXT:  1      9     4.50                  U     fcmovnb	%st(1), %st
227# CHECK-NEXT:  1      9     4.50                  U     fcmovnbe	%st(1), %st
228# CHECK-NEXT:  1      9     4.50                  U     fcmovne	%st(1), %st
229# CHECK-NEXT:  1      9     4.50                  U     fcmovnu	%st(1), %st
230# CHECK-NEXT:  1      9     4.50                  U     fcmovu	%st(1), %st
231# CHECK-NEXT:  1      5     5.00                  U     fcom	%st(1)
232# CHECK-NEXT:  1      5     5.00                  U     fcom	%st(3)
233# CHECK-NEXT:  1      5     5.00    *             U     fcoms	(%ecx)
234# CHECK-NEXT:  1      5     5.00    *             U     fcoml	(%eax)
235# CHECK-NEXT:  1      5     5.00                  U     fcomp	%st(1)
236# CHECK-NEXT:  1      5     5.00                  U     fcomp	%st(3)
237# CHECK-NEXT:  1      5     5.00    *             U     fcomps	(%ecx)
238# CHECK-NEXT:  1      5     5.00    *             U     fcompl	(%eax)
239# CHECK-NEXT:  1      1     1.00                  U     fcompp
240# CHECK-NEXT:  1      9     4.50                  U     fcomi	%st(3), %st
241# CHECK-NEXT:  1      9     4.50                  U     fcompi	%st(3), %st
242# CHECK-NEXT:  1      174   87.00                 U     fcos
243# CHECK-NEXT:  1      1     0.50                  U     fdecstp
244# CHECK-NEXT:  1      34    17.00                 U     fdiv	%st, %st(1)
245# CHECK-NEXT:  1      34    17.00                 U     fdiv	%st(2), %st
246# CHECK-NEXT:  1      34    17.00   *             U     fdivs	(%ecx)
247# CHECK-NEXT:  1      34    17.00   *             U     fdivl	(%eax)
248# CHECK-NEXT:  1      34    17.00                 U     fdivp	%st, %st(1)
249# CHECK-NEXT:  1      34    17.00                 U     fdivp	%st, %st(2)
250# CHECK-NEXT:  1      34    17.00   *             U     fidivs	(%ecx)
251# CHECK-NEXT:  1      34    17.00   *             U     fidivl	(%eax)
252# CHECK-NEXT:  1      34    17.00                 U     fdivr	%st, %st(1)
253# CHECK-NEXT:  1      34    17.00                 U     fdivr	%st(2), %st
254# CHECK-NEXT:  1      34    17.00   *             U     fdivrs	(%ecx)
255# CHECK-NEXT:  1      34    17.00   *             U     fdivrl	(%eax)
256# CHECK-NEXT:  1      34    17.00                 U     fdivrp	%st, %st(1)
257# CHECK-NEXT:  1      34    17.00                 U     fdivrp	%st, %st(2)
258# CHECK-NEXT:  1      34    17.00   *             U     fidivrs	(%ecx)
259# CHECK-NEXT:  1      34    17.00   *             U     fidivrl	(%eax)
260# CHECK-NEXT:  1      1     0.50                  U     ffree	%st(0)
261# CHECK-NEXT:  1      5     5.00    *             U     ficoms	(%ecx)
262# CHECK-NEXT:  1      5     5.00    *             U     ficoml	(%eax)
263# CHECK-NEXT:  1      5     5.00    *             U     ficomps	(%ecx)
264# CHECK-NEXT:  1      5     5.00    *             U     ficompl	(%eax)
265# CHECK-NEXT:  1      5     5.00    *             U     filds	(%edx)
266# CHECK-NEXT:  1      5     5.00    *             U     fildl	(%ecx)
267# CHECK-NEXT:  1      5     5.00    *             U     fildll	(%eax)
268# CHECK-NEXT:  1      1     0.50                  U     fincstp
269# CHECK-NEXT:  1      63    31.50                 U     fninit
270# CHECK-NEXT:  1      6     3.00           *      U     fists	(%edx)
271# CHECK-NEXT:  1      6     3.00           *      U     fistl	(%ecx)
272# CHECK-NEXT:  1      6     3.00           *      U     fistps	(%edx)
273# CHECK-NEXT:  1      6     3.00           *      U     fistpl	(%ecx)
274# CHECK-NEXT:  1      6     3.00           *      U     fistpll	(%eax)
275# CHECK-NEXT:  1      2     1.00           *      U     fisttps	(%edx)
276# CHECK-NEXT:  1      2     1.00           *      U     fisttpl	(%ecx)
277# CHECK-NEXT:  1      2     1.00           *      U     fisttpll	(%eax)
278# CHECK-NEXT:  1      1     1.00                  U     fld	%st(0)
279# CHECK-NEXT:  1      1     1.00    *             U     flds	(%edx)
280# CHECK-NEXT:  1      1     1.00    *             U     fldl	(%ecx)
281# CHECK-NEXT:  1      4     2.00    *             U     fldt	(%eax)
282# CHECK-NEXT:  1      5     2.50    *             U     fldcw	(%eax)
283# CHECK-NEXT:  1      100   0.50    *             U     fldenv	(%eax)
284# CHECK-NEXT:  1      6     3.00                  U     fld1
285# CHECK-NEXT:  1      10    5.00                  U     fldl2e
286# CHECK-NEXT:  1      10    5.00                  U     fldl2t
287# CHECK-NEXT:  1      10    5.00                  U     fldlg2
288# CHECK-NEXT:  1      10    5.00                  U     fldln2
289# CHECK-NEXT:  1      10    5.00                  U     fldpi
290# CHECK-NEXT:  1      1     0.50                  U     fldz
291# CHECK-NEXT:  1      4     4.00                  U     fmul	%st, %st(1)
292# CHECK-NEXT:  1      4     4.00                  U     fmul	%st(2), %st
293# CHECK-NEXT:  1      4     4.00    *             U     fmuls	(%ecx)
294# CHECK-NEXT:  1      4     4.00    *             U     fmull	(%eax)
295# CHECK-NEXT:  1      4     4.00                  U     fmulp	%st, %st(1)
296# CHECK-NEXT:  1      4     4.00                  U     fmulp	%st, %st(2)
297# CHECK-NEXT:  1      4     4.00    *             U     fimuls	(%ecx)
298# CHECK-NEXT:  1      4     4.00    *             U     fimull	(%eax)
299# CHECK-NEXT:  1      1     0.50                  U     fnop
300# CHECK-NEXT:  1      183   91.50                 U     fpatan
301# CHECK-NEXT:  1      55    27.50                 U     fprem
302# CHECK-NEXT:  1      71    35.50                 U     fprem1
303# CHECK-NEXT:  1      168   84.00                 U     fptan
304# CHECK-NEXT:  1      46    23.00                 U     frndint
305# CHECK-NEXT:  1      100   0.50    *             U     frstor	(%eax)
306# CHECK-NEXT:  1      100   0.50           *      U     fnsave	(%eax)
307# CHECK-NEXT:  1      77    38.50                 U     fscale
308# CHECK-NEXT:  1      174   87.00                 U     fsin
309# CHECK-NEXT:  1      174   87.00                 U     fsincos
310# CHECK-NEXT:  1      71    35.50                 U     fsqrt
311# CHECK-NEXT:  1      2     1.00                  U     fst	%st(0)
312# CHECK-NEXT:  1      2     1.00           *      U     fsts	(%edx)
313# CHECK-NEXT:  1      2     1.00           *      U     fstl	(%ecx)
314# CHECK-NEXT:  1      2     1.00                  U     fstp	%st(0)
315# CHECK-NEXT:  1      2     1.00           *      U     fstpl	(%edx)
316# CHECK-NEXT:  1      2     1.00           *      U     fstpl	(%ecx)
317# CHECK-NEXT:  1      5     2.50           *      U     fstpt	(%eax)
318# CHECK-NEXT:  1      8     4.00           *      U     fnstcw	(%eax)
319# CHECK-NEXT:  1      100   0.50           *      U     fnstenv	(%eax)
320# CHECK-NEXT:  1      100   0.50           *      U     fnstsw	(%eax)
321# CHECK-NEXT:  1      100   0.50    *             U     frstor	(%eax)
322# CHECK-NEXT:  1      1     0.50                  U     wait
323# CHECK-NEXT:  1      100   0.50           *      U     fnsave	(%eax)
324# CHECK-NEXT:  1      5     5.00                  U     fsub	%st, %st(1)
325# CHECK-NEXT:  1      5     5.00                  U     fsub	%st(2), %st
326# CHECK-NEXT:  1      5     5.00    *             U     fsubs	(%ecx)
327# CHECK-NEXT:  1      5     5.00    *             U     fsubl	(%eax)
328# CHECK-NEXT:  1      5     5.00                  U     fsubp	%st, %st(1)
329# CHECK-NEXT:  1      5     5.00                  U     fsubp	%st, %st(2)
330# CHECK-NEXT:  1      5     5.00    *             U     fisubs	(%ecx)
331# CHECK-NEXT:  1      5     5.00    *             U     fisubl	(%eax)
332# CHECK-NEXT:  1      5     5.00                  U     fsubr	%st, %st(1)
333# CHECK-NEXT:  1      5     5.00                  U     fsubr	%st(2), %st
334# CHECK-NEXT:  1      5     5.00    *             U     fsubrs	(%ecx)
335# CHECK-NEXT:  1      5     5.00    *             U     fsubrl	(%eax)
336# CHECK-NEXT:  1      5     5.00                  U     fsubrp	%st, %st(1)
337# CHECK-NEXT:  1      5     5.00                  U     fsubrp	%st, %st(2)
338# CHECK-NEXT:  1      5     5.00    *             U     fisubrs	(%ecx)
339# CHECK-NEXT:  1      5     5.00    *             U     fisubrl	(%eax)
340# CHECK-NEXT:  1      9     4.50                  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      1     1.00                  U     fucompp
346# CHECK-NEXT:  1      9     4.50                  U     fucomi	%st(3), %st
347# CHECK-NEXT:  1      9     4.50                  U     fucompi	%st(3), %st
348# CHECK-NEXT:  1      1     0.50                  U     wait
349# CHECK-NEXT:  1      1     1.00                  U     fxam
350# CHECK-NEXT:  1      1     1.00                  U     fxch	%st(1)
351# CHECK-NEXT:  1      1     1.00                  U     fxch	%st(3)
352# CHECK-NEXT:  1      141   70.50   *      *      U     fxrstor	(%eax)
353# CHECK-NEXT:  1      140   70.00   *      *      U     fxsave	(%eax)
354# CHECK-NEXT:  1      25    12.50                 U     fxtract
355# CHECK-NEXT:  1      146   73.00                 U     fyl2x
356# CHECK-NEXT:  1      147   73.50                 U     fyl2xp1
357
358# CHECK:      Resources:
359# CHECK-NEXT: [0]   - AtomPort0
360# CHECK-NEXT: [1]   - AtomPort1
361
362# CHECK:      Resource pressure per iteration:
363# CHECK-NEXT: [0]    [1]
364# CHECK-NEXT: 1624.00 1416.00
365
366# CHECK:      Resource pressure by instruction:
367# CHECK-NEXT: [0]    [1]    Instructions:
368# CHECK-NEXT: 49.50  49.50  f2xm1
369# CHECK-NEXT:  -     1.00   fabs
370# CHECK-NEXT: 5.00    -     fadd	%st, %st(1)
371# CHECK-NEXT: 5.00    -     fadd	%st(2), %st
372# CHECK-NEXT: 5.00    -     fadds	(%ecx)
373# CHECK-NEXT: 5.00    -     faddl	(%ecx)
374# CHECK-NEXT: 5.00    -     faddp	%st, %st(1)
375# CHECK-NEXT: 5.00    -     faddp	%st, %st(2)
376# CHECK-NEXT: 5.00    -     fiadds	(%ecx)
377# CHECK-NEXT: 5.00    -     fiaddl	(%ecx)
378# CHECK-NEXT: 0.50   0.50   fbld	(%ecx)
379# CHECK-NEXT: 0.50   0.50   fbstp	(%eax)
380# CHECK-NEXT:  -     1.00   fchs
381# CHECK-NEXT: 12.50  12.50  fnclex
382# CHECK-NEXT: 4.50   4.50   fcmovb	%st(1), %st
383# CHECK-NEXT: 4.50   4.50   fcmovbe	%st(1), %st
384# CHECK-NEXT: 4.50   4.50   fcmove	%st(1), %st
385# CHECK-NEXT: 4.50   4.50   fcmovnb	%st(1), %st
386# CHECK-NEXT: 4.50   4.50   fcmovnbe	%st(1), %st
387# CHECK-NEXT: 4.50   4.50   fcmovne	%st(1), %st
388# CHECK-NEXT: 4.50   4.50   fcmovnu	%st(1), %st
389# CHECK-NEXT: 4.50   4.50   fcmovu	%st(1), %st
390# CHECK-NEXT: 5.00    -     fcom	%st(1)
391# CHECK-NEXT: 5.00    -     fcom	%st(3)
392# CHECK-NEXT: 5.00    -     fcoms	(%ecx)
393# CHECK-NEXT: 5.00    -     fcoml	(%eax)
394# CHECK-NEXT: 5.00    -     fcomp	%st(1)
395# CHECK-NEXT: 5.00    -     fcomp	%st(3)
396# CHECK-NEXT: 5.00    -     fcomps	(%ecx)
397# CHECK-NEXT: 5.00    -     fcompl	(%eax)
398# CHECK-NEXT:  -     1.00   fcompp
399# CHECK-NEXT: 4.50   4.50   fcomi	%st(3), %st
400# CHECK-NEXT: 4.50   4.50   fcompi	%st(3), %st
401# CHECK-NEXT: 87.00  87.00  fcos
402# CHECK-NEXT: 0.50   0.50   fdecstp
403# CHECK-NEXT: 17.00  17.00  fdiv	%st, %st(1)
404# CHECK-NEXT: 17.00  17.00  fdiv	%st(2), %st
405# CHECK-NEXT: 17.00  17.00  fdivs	(%ecx)
406# CHECK-NEXT: 17.00  17.00  fdivl	(%eax)
407# CHECK-NEXT: 17.00  17.00  fdivp	%st, %st(1)
408# CHECK-NEXT: 17.00  17.00  fdivp	%st, %st(2)
409# CHECK-NEXT: 17.00  17.00  fidivs	(%ecx)
410# CHECK-NEXT: 17.00  17.00  fidivl	(%eax)
411# CHECK-NEXT: 17.00  17.00  fdivr	%st, %st(1)
412# CHECK-NEXT: 17.00  17.00  fdivr	%st(2), %st
413# CHECK-NEXT: 17.00  17.00  fdivrs	(%ecx)
414# CHECK-NEXT: 17.00  17.00  fdivrl	(%eax)
415# CHECK-NEXT: 17.00  17.00  fdivrp	%st, %st(1)
416# CHECK-NEXT: 17.00  17.00  fdivrp	%st, %st(2)
417# CHECK-NEXT: 17.00  17.00  fidivrs	(%ecx)
418# CHECK-NEXT: 17.00  17.00  fidivrl	(%eax)
419# CHECK-NEXT: 0.50   0.50   ffree	%st(0)
420# CHECK-NEXT: 5.00    -     ficoms	(%ecx)
421# CHECK-NEXT: 5.00    -     ficoml	(%eax)
422# CHECK-NEXT: 5.00    -     ficomps	(%ecx)
423# CHECK-NEXT: 5.00    -     ficompl	(%eax)
424# CHECK-NEXT: 5.00   5.00   filds	(%edx)
425# CHECK-NEXT: 5.00   5.00   fildl	(%ecx)
426# CHECK-NEXT: 5.00   5.00   fildll	(%eax)
427# CHECK-NEXT: 0.50   0.50   fincstp
428# CHECK-NEXT: 31.50  31.50  fninit
429# CHECK-NEXT: 3.00   3.00   fists	(%edx)
430# CHECK-NEXT: 3.00   3.00   fistl	(%ecx)
431# CHECK-NEXT: 3.00   3.00   fistps	(%edx)
432# CHECK-NEXT: 3.00   3.00   fistpl	(%ecx)
433# CHECK-NEXT: 3.00   3.00   fistpll	(%eax)
434# CHECK-NEXT: 1.00   1.00   fisttps	(%edx)
435# CHECK-NEXT: 1.00   1.00   fisttpl	(%ecx)
436# CHECK-NEXT: 1.00   1.00   fisttpll	(%eax)
437# CHECK-NEXT: 1.00    -     fld	%st(0)
438# CHECK-NEXT: 1.00    -     flds	(%edx)
439# CHECK-NEXT: 1.00    -     fldl	(%ecx)
440# CHECK-NEXT: 2.00   2.00   fldt	(%eax)
441# CHECK-NEXT: 2.50   2.50   fldcw	(%eax)
442# CHECK-NEXT: 0.50   0.50   fldenv	(%eax)
443# CHECK-NEXT: 3.00   3.00   fld1
444# CHECK-NEXT: 5.00   5.00   fldl2e
445# CHECK-NEXT: 5.00   5.00   fldl2t
446# CHECK-NEXT: 5.00   5.00   fldlg2
447# CHECK-NEXT: 5.00   5.00   fldln2
448# CHECK-NEXT: 5.00   5.00   fldpi
449# CHECK-NEXT: 0.50   0.50   fldz
450# CHECK-NEXT: 4.00    -     fmul	%st, %st(1)
451# CHECK-NEXT: 4.00    -     fmul	%st(2), %st
452# CHECK-NEXT: 4.00    -     fmuls	(%ecx)
453# CHECK-NEXT: 4.00    -     fmull	(%eax)
454# CHECK-NEXT: 4.00    -     fmulp	%st, %st(1)
455# CHECK-NEXT: 4.00    -     fmulp	%st, %st(2)
456# CHECK-NEXT: 4.00    -     fimuls	(%ecx)
457# CHECK-NEXT: 4.00    -     fimull	(%eax)
458# CHECK-NEXT: 0.50   0.50   fnop
459# CHECK-NEXT: 91.50  91.50  fpatan
460# CHECK-NEXT: 27.50  27.50  fprem
461# CHECK-NEXT: 35.50  35.50  fprem1
462# CHECK-NEXT: 84.00  84.00  fptan
463# CHECK-NEXT: 23.00  23.00  frndint
464# CHECK-NEXT: 0.50   0.50   frstor	(%eax)
465# CHECK-NEXT: 0.50   0.50   fnsave	(%eax)
466# CHECK-NEXT: 38.50  38.50  fscale
467# CHECK-NEXT: 87.00  87.00  fsin
468# CHECK-NEXT: 87.00  87.00  fsincos
469# CHECK-NEXT: 35.50  35.50  fsqrt
470# CHECK-NEXT: 1.00   1.00   fst	%st(0)
471# CHECK-NEXT: 1.00   1.00   fsts	(%edx)
472# CHECK-NEXT: 1.00   1.00   fstl	(%ecx)
473# CHECK-NEXT: 1.00   1.00   fstp	%st(0)
474# CHECK-NEXT: 1.00   1.00   fstpl	(%edx)
475# CHECK-NEXT: 1.00   1.00   fstpl	(%ecx)
476# CHECK-NEXT: 2.50   2.50   fstpt	(%eax)
477# CHECK-NEXT: 4.00   4.00   fnstcw	(%eax)
478# CHECK-NEXT: 0.50   0.50   fnstenv	(%eax)
479# CHECK-NEXT: 0.50   0.50   fnstsw	(%eax)
480# CHECK-NEXT: 0.50   0.50   frstor	(%eax)
481# CHECK-NEXT: 0.50   0.50   wait
482# CHECK-NEXT: 0.50   0.50   fnsave	(%eax)
483# CHECK-NEXT: 5.00    -     fsub	%st, %st(1)
484# CHECK-NEXT: 5.00    -     fsub	%st(2), %st
485# CHECK-NEXT: 5.00    -     fsubs	(%ecx)
486# CHECK-NEXT: 5.00    -     fsubl	(%eax)
487# CHECK-NEXT: 5.00    -     fsubp	%st, %st(1)
488# CHECK-NEXT: 5.00    -     fsubp	%st, %st(2)
489# CHECK-NEXT: 5.00    -     fisubs	(%ecx)
490# CHECK-NEXT: 5.00    -     fisubl	(%eax)
491# CHECK-NEXT: 5.00    -     fsubr	%st, %st(1)
492# CHECK-NEXT: 5.00    -     fsubr	%st(2), %st
493# CHECK-NEXT: 5.00    -     fsubrs	(%ecx)
494# CHECK-NEXT: 5.00    -     fsubrl	(%eax)
495# CHECK-NEXT: 5.00    -     fsubrp	%st, %st(1)
496# CHECK-NEXT: 5.00    -     fsubrp	%st, %st(2)
497# CHECK-NEXT: 5.00    -     fisubrs	(%ecx)
498# CHECK-NEXT: 5.00    -     fisubrl	(%eax)
499# CHECK-NEXT: 4.50   4.50   ftst
500# CHECK-NEXT:  -     1.00   fucom	%st(1)
501# CHECK-NEXT:  -     1.00   fucom	%st(3)
502# CHECK-NEXT:  -     1.00   fucomp	%st(1)
503# CHECK-NEXT:  -     1.00   fucomp	%st(3)
504# CHECK-NEXT:  -     1.00   fucompp
505# CHECK-NEXT: 4.50   4.50   fucomi	%st(3), %st
506# CHECK-NEXT: 4.50   4.50   fucompi	%st(3), %st
507# CHECK-NEXT: 0.50   0.50   wait
508# CHECK-NEXT: 1.00    -     fxam
509# CHECK-NEXT: 1.00   1.00   fxch	%st(1)
510# CHECK-NEXT: 1.00   1.00   fxch	%st(3)
511# CHECK-NEXT: 70.50  70.50  fxrstor	(%eax)
512# CHECK-NEXT: 70.00  70.00  fxsave	(%eax)
513# CHECK-NEXT: 12.50  12.50  fxtract
514# CHECK-NEXT: 73.00  73.00  fyl2x
515# CHECK-NEXT: 73.50  73.50  fyl2xp1
516