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