Home | History | Annotate | Download | only in Haswell
      1 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
      2 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=haswell -instruction-tables < %s | FileCheck %s
      3 
      4 f2xm1
      5 
      6 fabs
      7 
      8 fadd %st(0), %st(1)
      9 fadd %st(2)
     10 fadds (%ecx)
     11 faddl (%ecx)
     12 faddp %st(1)
     13 faddp %st(2)
     14 fiadds (%ecx)
     15 fiaddl (%ecx)
     16 
     17 fbld (%ecx)
     18 fbstp (%eax)
     19 
     20 fchs
     21 
     22 fnclex
     23 
     24 fcmovb %st(1), %st(0)
     25 fcmovbe %st(1), %st(0)
     26 fcmove %st(1), %st(0)
     27 fcmovnb %st(1), %st(0)
     28 fcmovnbe %st(1), %st(0)
     29 fcmovne %st(1), %st(0)
     30 fcmovnu %st(1), %st(0)
     31 fcmovu %st(1), %st(0)
     32 
     33 fcom %st(1)
     34 fcom %st(3)
     35 fcoms (%ecx)
     36 fcoml (%eax)
     37 fcomp %st(1)
     38 fcomp %st(3)
     39 fcomps (%ecx)
     40 fcompl (%eax)
     41 fcompp
     42 
     43 fcomi %st(3)
     44 fcompi %st(3)
     45 
     46 fcos
     47 
     48 fdecstp
     49 
     50 fdiv %st(0), %st(1)
     51 fdiv %st(2)
     52 fdivs (%ecx)
     53 fdivl (%eax)
     54 fdivp %st(1)
     55 fdivp %st(2)
     56 fidivs (%ecx)
     57 fidivl (%eax)
     58 
     59 fdivr %st(0), %st(1)
     60 fdivr %st(2)
     61 fdivrs (%ecx)
     62 fdivrl (%eax)
     63 fdivrp %st(1)
     64 fdivrp %st(2)
     65 fidivrs (%ecx)
     66 fidivrl (%eax)
     67 
     68 ffree %st(0)
     69 
     70 ficoms (%ecx)
     71 ficoml (%eax)
     72 ficomps (%ecx)
     73 ficompl (%eax)
     74 
     75 filds (%edx)
     76 fildl (%ecx)
     77 fildll (%eax)
     78 
     79 fincstp
     80 
     81 fninit
     82 
     83 fists (%edx)
     84 fistl (%ecx)
     85 fistps (%edx)
     86 fistpl (%ecx)
     87 fistpll (%eax)
     88 
     89 fisttps (%edx)
     90 fisttpl (%ecx)
     91 fisttpll (%eax)
     92 
     93 fld %st(0)
     94 flds (%edx)
     95 fldl (%ecx)
     96 fldt (%eax)
     97 
     98 fldcw (%eax)
     99 fldenv (%eax)
    100 
    101 fld1
    102 fldl2e
    103 fldl2t
    104 fldlg2
    105 fldln2
    106 fldpi
    107 fldz
    108 
    109 fmul %st(0), %st(1)
    110 fmul %st(2)
    111 fmuls (%ecx)
    112 fmull (%eax)
    113 fmulp %st(1)
    114 fmulp %st(2)
    115 fimuls (%ecx)
    116 fimull (%eax)
    117 
    118 fnop
    119 
    120 fpatan
    121 
    122 fprem
    123 fprem1
    124 
    125 fptan
    126 
    127 frndint
    128 
    129 frstor (%eax)
    130 
    131 fnsave (%eax)
    132 
    133 fscale
    134 
    135 fsin
    136 
    137 fsincos
    138 
    139 fsqrt
    140 
    141 fst %st(0)
    142 fsts (%edx)
    143 fstl (%ecx)
    144 fstp %st(0)
    145 fstpl (%edx)
    146 fstpl (%ecx)
    147 fstpt (%eax)
    148 
    149 fnstcw (%eax)
    150 fnstenv (%eax)
    151 fnstsw (%eax)
    152 
    153 frstor (%eax)
    154 fsave (%eax)
    155 
    156 fsub %st(0), %st(1)
    157 fsub %st(2)
    158 fsubs (%ecx)
    159 fsubl (%eax)
    160 fsubp %st(1)
    161 fsubp %st(2)
    162 fisubs (%ecx)
    163 fisubl (%eax)
    164 
    165 fsubr %st(0), %st(1)
    166 fsubr %st(2)
    167 fsubrs (%ecx)
    168 fsubrl (%eax)
    169 fsubrp %st(1)
    170 fsubrp %st(2)
    171 fisubrs (%ecx)
    172 fisubrl (%eax)
    173 
    174 ftst
    175 
    176 fucom %st(1)
    177 fucom %st(3)
    178 fucomp %st(1)
    179 fucomp %st(3)
    180 fucompp
    181 
    182 fucomi %st(3)
    183 fucompi %st(3)
    184 
    185 fwait
    186 
    187 fxam
    188 
    189 fxch %st(1)
    190 fxch %st(3)
    191 
    192 fxrstor (%eax)
    193 fxsave (%eax)
    194 
    195 fxtract
    196 
    197 fyl2x
    198 fyl2xp1
    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(0), %st(1)
    212 # CHECK-NEXT:  1      3     1.00                  U     fadd	%st(2)
    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(1)
    216 # CHECK-NEXT:  1      3     1.00                  U     faddp	%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:  43     47    10.75                 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(0)
    224 # CHECK-NEXT:  1      3     1.00                  U     fcmovbe	%st(1), %st(0)
    225 # CHECK-NEXT:  1      3     1.00                  U     fcmove	%st(1), %st(0)
    226 # CHECK-NEXT:  1      3     1.00                  U     fcmovnb	%st(1), %st(0)
    227 # CHECK-NEXT:  1      3     1.00                  U     fcmovnbe	%st(1), %st(0)
    228 # CHECK-NEXT:  1      3     1.00                  U     fcmovne	%st(1), %st(0)
    229 # CHECK-NEXT:  1      3     1.00                  U     fcmovnu	%st(1), %st(0)
    230 # CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st(0)
    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:  2      1     0.50                  U     fcompp
    240 # CHECK-NEXT:  3      1     0.50                  U     fcomi	%st(3)
    241 # CHECK-NEXT:  3      1     0.50                  U     fcompi	%st(3)
    242 # CHECK-NEXT:  1      100   0.25                  U     fcos
    243 # CHECK-NEXT:  2      2     1.00                  U     fdecstp
    244 # CHECK-NEXT:  1      24    1.00                  U     fdiv	%st(0), %st(1)
    245 # CHECK-NEXT:  1      20    1.00                  U     fdiv	%st(2)
    246 # CHECK-NEXT:  2      31    1.00    *             U     fdivs	(%ecx)
    247 # CHECK-NEXT:  2      31    1.00    *             U     fdivl	(%eax)
    248 # CHECK-NEXT:  1      24    1.00                  U     fdivp	%st(1)
    249 # CHECK-NEXT:  1      24    1.00                  U     fdivp	%st(2)
    250 # CHECK-NEXT:  3      34    1.00    *             U     fidivs	(%ecx)
    251 # CHECK-NEXT:  3      34    1.00    *             U     fidivl	(%eax)
    252 # CHECK-NEXT:  1      20    1.00                  U     fdivr	%st(0), %st(1)
    253 # CHECK-NEXT:  1      24    1.00                  U     fdivr	%st(2)
    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(1)
    257 # CHECK-NEXT:  1      20    1.00                  U     fdivrp	%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      1     0.50                  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.50                  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     61    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      5     1.00                  U     fmul	%st(0), %st(1)
    292 # CHECK-NEXT:  1      5     1.00                  U     fmul	%st(2)
    293 # CHECK-NEXT:  2      12    1.00    *             U     fmuls	(%ecx)
    294 # CHECK-NEXT:  2      12    1.00    *             U     fmull	(%eax)
    295 # CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(1)
    296 # CHECK-NEXT:  1      5     1.00                  U     fmulp	%st(2)
    297 # CHECK-NEXT:  3      15    1.00    *             U     fimuls	(%ecx)
    298 # CHECK-NEXT:  3      15    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:  28     19    7.00                  U     fprem
    302 # CHECK-NEXT:  41     27    10.25                 U     fprem1
    303 # CHECK-NEXT:  1      100   0.25                  U     fptan
    304 # CHECK-NEXT:  17     11    4.25                  U     frndint
    305 # CHECK-NEXT:  90     1     22.50                 U     frstor	(%eax)
    306 # CHECK-NEXT:  147    1     36.75                 U     fnsave	(%eax)
    307 # CHECK-NEXT:  50     75    12.50                 U     fscale
    308 # CHECK-NEXT:  1      100   0.25                  U     fsin
    309 # CHECK-NEXT:  1      100   0.25                  U     fsincos
    310 # CHECK-NEXT:  1      23    17.00                 U     fsqrt
    311 # CHECK-NEXT:  1      1     0.50                  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.50                  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    115   19.50                 U     fnstenv	(%eax)
    320 # CHECK-NEXT:  3      4     1.00                  U     fnstsw	(%eax)
    321 # CHECK-NEXT:  90     1     22.50                 U     frstor	(%eax)
    322 # CHECK-NEXT:  2      2     0.50                  U     wait
    323 # CHECK-NEXT:  147    1     36.75                 U     fnsave	(%eax)
    324 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(0), %st(1)
    325 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2)
    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(1)
    329 # CHECK-NEXT:  1      3     1.00                  U     fsubp	%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(0), %st(1)
    333 # CHECK-NEXT:  1      3     1.00                  U     fsubr	%st(2)
    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(1)
    337 # CHECK-NEXT:  1      3     1.00                  U     fsubrp	%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      1     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:  2      1     0.50                  U     fucompp
    346 # CHECK-NEXT:  3      1     0.50                  U     fucomi	%st(3)
    347 # CHECK-NEXT:  3      1     0.50                  U     fucompi	%st(3)
    348 # CHECK-NEXT:  2      2     0.50                  U     wait
    349 # CHECK-NEXT:  2      1     2.00                  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     64    16.50   *      *      U     fxrstor	(%eax)
    353 # CHECK-NEXT:  1      100   0.25    *      *      U     fxsave	(%eax)
    354 # CHECK-NEXT:  17     15    4.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]   - HWDivider
    360 # CHECK-NEXT: [1]   - HWFPDivider
    361 # CHECK-NEXT: [2]   - HWPort0
    362 # CHECK-NEXT: [3]   - HWPort1
    363 # CHECK-NEXT: [4]   - HWPort2
    364 # CHECK-NEXT: [5]   - HWPort3
    365 # CHECK-NEXT: [6]   - HWPort4
    366 # CHECK-NEXT: [7]   - HWPort5
    367 # CHECK-NEXT: [8]   - HWPort6
    368 # CHECK-NEXT: [9]   - HWPort7
    369 
    370 # CHECK:      Resource pressure per iteration:
    371 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
    372 # CHECK-NEXT:  -     17.00  121.42 145.42 49.00  49.00  27.00  56.92  65.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(0), %st(1)
    379 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fadd	%st(2)
    380 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fadds	(%ecx)
    381 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     faddl	(%ecx)
    382 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st(1)
    383 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     faddp	%st(2)
    384 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fiadds	(%ecx)
    385 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fiaddl	(%ecx)
    386 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     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(0)
    391 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovbe	%st(1), %st(0)
    392 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmove	%st(1), %st(0)
    393 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnb	%st(1), %st(0)
    394 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnbe	%st(1), %st(0)
    395 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovne	%st(1), %st(0)
    396 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovnu	%st(1), %st(0)
    397 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcmovu	%st(1), %st(0)
    398 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcom	%st(1)
    399 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcom	%st(3)
    400 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcoms	(%ecx)
    401 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcoml	(%eax)
    402 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcomp	%st(1)
    403 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fcomp	%st(3)
    404 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcomps	(%ecx)
    405 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fcompl	(%eax)
    406 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcompp
    407 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcomi	%st(3)
    408 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fcompi	%st(3)
    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(0), %st(1)
    412 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdiv	%st(2)
    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(1)
    416 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivp	%st(2)
    417 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivs	(%ecx)
    418 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivl	(%eax)
    419 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(0), %st(1)
    420 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivr	%st(2)
    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(1)
    424 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fdivrp	%st(2)
    425 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivrs	(%ecx)
    426 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fidivrl	(%eax)
    427 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     ffree	%st(0)
    428 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficoms	(%ecx)
    429 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficoml	(%eax)
    430 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficomps	(%ecx)
    431 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     ficompl	(%eax)
    432 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     filds	(%edx)
    433 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fildl	(%ecx)
    434 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fildll	(%eax)
    435 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fincstp
    436 # CHECK-NEXT:  -      -     3.00   3.00    -      -      -     7.50   1.50    -     fninit
    437 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fists	(%edx)
    438 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fistl	(%ecx)
    439 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fistps	(%edx)
    440 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fistpl	(%ecx)
    441 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fistpll	(%eax)
    442 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttps	(%edx)
    443 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttpl	(%ecx)
    444 # CHECK-NEXT:  -      -      -     1.00   0.33   0.33   1.00    -      -     0.33   fisttpll	(%eax)
    445 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     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:  -      -     18.92  11.42  4.00   4.00    -     10.92  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(0), %st(1)
    459 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)
    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(1)
    463 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmulp	%st(2)
    464 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     fimuls	(%ecx)
    465 # CHECK-NEXT:  -      -     1.00   1.00   0.50   0.50    -      -      -      -     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:  -      -      -      -      -      -      -      -      -      -     fprem
    469 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     fprem1
    470 # CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fptan
    471 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     frndint
    472 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     frstor	(%eax)
    473 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     fnsave	(%eax)
    474 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     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:  -     17.00  1.00    -      -      -      -      -      -      -     fsqrt
    478 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     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.50   0.50    -      -      -      -      -      -     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  16.50  3.67   3.67   11.00  15.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:  -      -      -      -      -      -      -      -      -      -     frstor	(%eax)
    489 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -     0.50   0.50    -     wait
    490 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -      -     fnsave	(%eax)
    491 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st(0), %st(1)
    492 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsub	%st(2)
    493 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubs	(%ecx)
    494 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubl	(%eax)
    495 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st(1)
    496 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubp	%st(2)
    497 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubs	(%ecx)
    498 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubl	(%eax)
    499 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(0), %st(1)
    500 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubr	%st(2)
    501 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrs	(%ecx)
    502 # CHECK-NEXT:  -      -      -     1.00   0.50   0.50    -      -      -      -     fsubrl	(%eax)
    503 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st(1)
    504 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -      -      -     fsubrp	%st(2)
    505 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     fisubrs	(%ecx)
    506 # CHECK-NEXT:  -      -      -     2.00   0.50   0.50    -      -      -      -     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:  -      -     0.50   0.50    -      -      -      -      -      -     fucompp
    513 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fucomi	%st(3)
    514 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fucompi	%st(3)
    515 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -     0.50   0.50    -     wait
    516 # CHECK-NEXT:  -      -      -     2.00    -      -      -      -      -      -     fxam
    517 # CHECK-NEXT:  -      -     4.00   3.00    -      -      -     3.00   5.00    -     fxch	%st(1)
    518 # CHECK-NEXT:  -      -     4.00   3.00    -      -      -     3.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:  -      -      -      -      -      -      -      -      -      -     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