1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py 2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=bdver2 -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.50 U f2xm1 210# CHECK-NEXT: 1 1 2.00 U fabs 211# CHECK-NEXT: 1 5 1.00 U fadd %st, %st(1) 212# CHECK-NEXT: 1 5 1.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 1.00 U faddp %st, %st(1) 216# CHECK-NEXT: 1 5 1.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 2.00 U fchs 222# CHECK-NEXT: 1 100 0.50 U fnclex 223# CHECK-NEXT: 1 1 1.00 U fcmovb %st(1), %st 224# CHECK-NEXT: 1 1 1.00 U fcmovbe %st(1), %st 225# CHECK-NEXT: 1 1 1.00 U fcmove %st(1), %st 226# CHECK-NEXT: 1 1 1.00 U fcmovnb %st(1), %st 227# CHECK-NEXT: 1 1 1.00 U fcmovnbe %st(1), %st 228# CHECK-NEXT: 1 1 1.00 U fcmovne %st(1), %st 229# CHECK-NEXT: 1 1 1.00 U fcmovnu %st(1), %st 230# CHECK-NEXT: 1 1 1.00 U fcmovu %st(1), %st 231# CHECK-NEXT: 2 1 1.00 U fcom %st(1) 232# CHECK-NEXT: 2 1 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: 2 1 1.00 U fcomp %st(1) 236# CHECK-NEXT: 2 1 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 0.50 U fcompp 240# CHECK-NEXT: 2 1 1.00 U fcomi %st(3), %st 241# CHECK-NEXT: 2 1 1.00 U fcompi %st(3), %st 242# CHECK-NEXT: 1 100 0.50 U fcos 243# CHECK-NEXT: 1 100 0.50 U fdecstp 244# CHECK-NEXT: 1 9 4.50 U fdiv %st, %st(1) 245# CHECK-NEXT: 1 9 4.50 U fdiv %st(2), %st 246# CHECK-NEXT: 1 9 9.00 * U fdivs (%ecx) 247# CHECK-NEXT: 1 9 9.00 * U fdivl (%eax) 248# CHECK-NEXT: 1 9 4.50 U fdivp %st, %st(1) 249# CHECK-NEXT: 1 9 4.50 U fdivp %st, %st(2) 250# CHECK-NEXT: 1 9 9.00 * U fidivs (%ecx) 251# CHECK-NEXT: 1 9 9.00 * U fidivl (%eax) 252# CHECK-NEXT: 1 9 4.50 U fdivr %st, %st(1) 253# CHECK-NEXT: 1 9 4.50 U fdivr %st(2), %st 254# CHECK-NEXT: 1 9 9.00 * U fdivrs (%ecx) 255# CHECK-NEXT: 1 9 9.00 * U fdivrl (%eax) 256# CHECK-NEXT: 1 9 4.50 U fdivrp %st, %st(1) 257# CHECK-NEXT: 1 9 4.50 U fdivrp %st, %st(2) 258# CHECK-NEXT: 1 9 9.00 * U fidivrs (%ecx) 259# CHECK-NEXT: 1 9 9.00 * U fidivrl (%eax) 260# CHECK-NEXT: 1 100 0.50 U ffree %st(0) 261# CHECK-NEXT: 2 6 1.50 * U ficoms (%ecx) 262# CHECK-NEXT: 2 6 1.50 * U ficoml (%eax) 263# CHECK-NEXT: 2 6 1.50 * U ficomps (%ecx) 264# CHECK-NEXT: 2 6 1.50 * U ficompl (%eax) 265# CHECK-NEXT: 1 5 1.00 * U filds (%edx) 266# CHECK-NEXT: 1 5 1.00 * U fildl (%ecx) 267# CHECK-NEXT: 1 5 1.00 * U fildll (%eax) 268# CHECK-NEXT: 1 100 0.50 U fincstp 269# CHECK-NEXT: 1 100 0.50 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 1.00 U fld %st(0) 279# CHECK-NEXT: 1 5 1.00 * U flds (%edx) 280# CHECK-NEXT: 1 5 1.00 * U fldl (%ecx) 281# CHECK-NEXT: 1 5 1.00 * U fldt (%eax) 282# CHECK-NEXT: 1 5 1.00 * U fldcw (%eax) 283# CHECK-NEXT: 1 100 0.50 * U fldenv (%eax) 284# CHECK-NEXT: 1 3 1.00 U fld1 285# CHECK-NEXT: 1 3 1.00 U fldl2e 286# CHECK-NEXT: 1 3 1.00 U fldl2t 287# CHECK-NEXT: 1 3 1.00 U fldlg2 288# CHECK-NEXT: 1 3 1.00 U fldln2 289# CHECK-NEXT: 1 3 1.00 U fldpi 290# CHECK-NEXT: 1 3 1.00 U fldz 291# CHECK-NEXT: 1 5 1.00 U fmul %st, %st(1) 292# CHECK-NEXT: 1 5 1.00 U fmul %st(2), %st 293# CHECK-NEXT: 1 5 5.00 * U fmuls (%ecx) 294# CHECK-NEXT: 1 5 5.00 * U fmull (%eax) 295# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(1) 296# CHECK-NEXT: 1 5 1.00 U fmulp %st, %st(2) 297# CHECK-NEXT: 1 5 5.00 * U fimuls (%ecx) 298# CHECK-NEXT: 1 5 5.00 * U fimull (%eax) 299# CHECK-NEXT: 1 1 1.00 U fnop 300# CHECK-NEXT: 1 100 0.50 U fpatan 301# CHECK-NEXT: 1 100 0.50 U fprem 302# CHECK-NEXT: 1 100 0.50 U fprem1 303# CHECK-NEXT: 1 100 0.50 U fptan 304# CHECK-NEXT: 1 100 0.50 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 100 0.50 U fscale 308# CHECK-NEXT: 1 100 0.50 U fsin 309# CHECK-NEXT: 1 100 0.50 U fsincos 310# CHECK-NEXT: 1 1 9.00 U fsqrt 311# CHECK-NEXT: 1 1 1.00 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 1.00 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 1.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 100 0.50 U wait 323# CHECK-NEXT: 1 100 0.50 * U fnsave (%eax) 324# CHECK-NEXT: 1 5 1.00 U fsub %st, %st(1) 325# CHECK-NEXT: 1 5 1.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 1.00 U fsubp %st, %st(1) 329# CHECK-NEXT: 1 5 1.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 1.00 U fsubr %st, %st(1) 333# CHECK-NEXT: 1 5 1.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 1.00 U fsubrp %st, %st(1) 337# CHECK-NEXT: 1 5 1.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 1 1.00 U ftst 341# CHECK-NEXT: 2 1 1.00 U fucom %st(1) 342# CHECK-NEXT: 2 1 1.00 U fucom %st(3) 343# CHECK-NEXT: 2 1 1.00 U fucomp %st(1) 344# CHECK-NEXT: 2 1 1.00 U fucomp %st(3) 345# CHECK-NEXT: 1 1 1.00 U fucompp 346# CHECK-NEXT: 2 1 1.00 U fucomi %st(3), %st 347# CHECK-NEXT: 2 1 1.00 U fucompi %st(3), %st 348# CHECK-NEXT: 1 100 0.50 U wait 349# CHECK-NEXT: 2 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 100 0.50 * * U fxrstor (%eax) 353# CHECK-NEXT: 1 100 0.50 * * U fxsave (%eax) 354# CHECK-NEXT: 1 100 0.50 U fxtract 355# CHECK-NEXT: 1 100 0.50 U fyl2x 356# CHECK-NEXT: 1 100 0.50 U fyl2xp1 357 358# CHECK: Resources: 359# CHECK-NEXT: [0.0] - PdAGLU01 360# CHECK-NEXT: [0.1] - PdAGLU01 361# CHECK-NEXT: [1] - PdBranch 362# CHECK-NEXT: [2] - PdCount 363# CHECK-NEXT: [3] - PdDiv 364# CHECK-NEXT: [4] - PdEX0 365# CHECK-NEXT: [5] - PdEX1 366# CHECK-NEXT: [6] - PdFPCVT 367# CHECK-NEXT: [7.0] - PdFPFMA 368# CHECK-NEXT: [7.1] - PdFPFMA 369# CHECK-NEXT: [8.0] - PdFPMAL 370# CHECK-NEXT: [8.1] - PdFPMAL 371# CHECK-NEXT: [9] - PdFPMMA 372# CHECK-NEXT: [10] - PdFPSTO 373# CHECK-NEXT: [11] - PdFPU0 374# CHECK-NEXT: [12] - PdFPU1 375# CHECK-NEXT: [13] - PdFPU2 376# CHECK-NEXT: [14] - PdFPU3 377# CHECK-NEXT: [15] - PdFPXBR 378# CHECK-NEXT: [16.0] - PdLoad 379# CHECK-NEXT: [16.1] - PdLoad 380# CHECK-NEXT: [17] - PdMul 381# CHECK-NEXT: [18] - PdStore 382 383# CHECK: Resource pressure per iteration: 384# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] 385# CHECK-NEXT: 55.50 55.50 - - - 40.00 23.00 - 224.50 224.50 - - - 7.00 57.00 32.00 - - - 49.00 49.00 - 13.00 386 387# CHECK: Resource pressure by instruction: 388# CHECK-NEXT: [0.0] [0.1] [1] [2] [3] [4] [5] [6] [7.0] [7.1] [8.0] [8.1] [9] [10] [11] [12] [13] [14] [15] [16.0] [16.1] [17] [18] Instructions: 389# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - f2xm1 390# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - 1.00 - - - - - - - fabs 391# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fadd %st, %st(1) 392# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fadd %st(2), %st 393# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fadds (%ecx) 394# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - faddl (%ecx) 395# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - faddp %st, %st(1) 396# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - faddp %st, %st(2) 397# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fiadds (%ecx) 398# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fiaddl (%ecx) 399# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fbld (%ecx) 400# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fbstp (%eax) 401# CHECK-NEXT: - - - - - - - - 2.00 2.00 - - - - - 1.00 - - - - - - - fchs 402# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnclex 403# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovb %st(1), %st 404# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovbe %st(1), %st 405# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmove %st(1), %st 406# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnb %st(1), %st 407# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnbe %st(1), %st 408# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovne %st(1), %st 409# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovnu %st(1), %st 410# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcmovu %st(1), %st 411# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcom %st(1) 412# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcom %st(3) 413# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fcoms (%ecx) 414# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fcoml (%eax) 415# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcomp %st(1) 416# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcomp %st(3) 417# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fcomps (%ecx) 418# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fcompl (%eax) 419# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fcompp 420# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcomi %st(3), %st 421# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fcompi %st(3), %st 422# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fcos 423# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fdecstp 424# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - fdiv %st, %st(1) 425# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - fdiv %st(2), %st 426# CHECK-NEXT: 1.50 1.50 - - - - - - 9.00 9.00 - - - - 1.00 - - - - 1.50 1.50 - - fdivs (%ecx) 427# CHECK-NEXT: 1.50 1.50 - - - - - - 9.00 9.00 - - - - 1.00 - - - - 1.50 1.50 - - fdivl (%eax) 428# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - fdivp %st, %st(1) 429# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - fdivp %st, %st(2) 430# CHECK-NEXT: 1.50 1.50 - - - - - - 9.00 9.00 - - - - 1.00 - - - - 1.50 1.50 - - fidivs (%ecx) 431# CHECK-NEXT: 1.50 1.50 - - - - - - 9.00 9.00 - - - - 1.00 - - - - 1.50 1.50 - - fidivl (%eax) 432# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - fdivr %st, %st(1) 433# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - fdivr %st(2), %st 434# CHECK-NEXT: 1.50 1.50 - - - - - - 9.00 9.00 - - - - 1.00 - - - - 1.50 1.50 - - fdivrs (%ecx) 435# CHECK-NEXT: 1.50 1.50 - - - - - - 9.00 9.00 - - - - 1.00 - - - - 1.50 1.50 - - fdivrl (%eax) 436# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - fdivrp %st, %st(1) 437# CHECK-NEXT: - - - - - - - - 4.50 4.50 - - - - - 1.00 - - - - - - - fdivrp %st, %st(2) 438# CHECK-NEXT: 1.50 1.50 - - - - - - 9.00 9.00 - - - - 1.00 - - - - 1.50 1.50 - - fidivrs (%ecx) 439# CHECK-NEXT: 1.50 1.50 - - - - - - 9.00 9.00 - - - - 1.00 - - - - 1.50 1.50 - - fidivrl (%eax) 440# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - ffree %st(0) 441# CHECK-NEXT: 1.50 1.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 1.50 1.50 - - ficoms (%ecx) 442# CHECK-NEXT: 1.50 1.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 1.50 1.50 - - ficoml (%eax) 443# CHECK-NEXT: 1.50 1.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 1.50 1.50 - - ficomps (%ecx) 444# CHECK-NEXT: 1.50 1.50 - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - 1.50 1.50 - - ficompl (%eax) 445# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - filds (%edx) 446# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - fildl (%ecx) 447# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - fildll (%eax) 448# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fincstp 449# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fninit 450# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fists (%edx) 451# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fistl (%ecx) 452# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fistps (%edx) 453# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fistpl (%ecx) 454# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fistpll (%eax) 455# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fisttps (%edx) 456# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fisttpl (%ecx) 457# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fisttpll (%eax) 458# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fld %st(0) 459# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - flds (%edx) 460# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - fldl (%ecx) 461# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - fldt (%eax) 462# CHECK-NEXT: 1.00 1.00 - - - - - - - - - - - - - - - - - 1.00 1.00 - - fldcw (%eax) 463# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fldenv (%eax) 464# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fld1 465# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldl2e 466# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldl2t 467# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldlg2 468# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldln2 469# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldpi 470# CHECK-NEXT: - - - - - - - - - - - - - 1.00 - 1.00 - - - - - - - fldz 471# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmul %st, %st(1) 472# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmul %st(2), %st 473# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - - 1.00 - - - 1.50 1.50 - - fmuls (%ecx) 474# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - - 1.00 - - - 1.50 1.50 - - fmull (%eax) 475# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmulp %st, %st(1) 476# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fmulp %st, %st(2) 477# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - - 1.00 - - - 1.50 1.50 - - fimuls (%ecx) 478# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - - 1.00 - - - 1.50 1.50 - - fimull (%eax) 479# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fnop 480# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fpatan 481# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fprem 482# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fprem1 483# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fptan 484# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - frndint 485# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - frstor (%eax) 486# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnsave (%eax) 487# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fscale 488# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fsin 489# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fsincos 490# CHECK-NEXT: - - - - - - - - 9.00 9.00 - - - - - 1.00 - - - - - - - fsqrt 491# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fst %st(0) 492# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fsts (%edx) 493# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fstl (%ecx) 494# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fstp %st(0) 495# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fstpl (%edx) 496# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fstpl (%ecx) 497# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - - - - - - - - - 1.00 fstpt (%eax) 498# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fnstcw (%eax) 499# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnstenv (%eax) 500# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnstsw (%eax) 501# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - frstor (%eax) 502# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - wait 503# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fnsave (%eax) 504# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsub %st, %st(1) 505# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsub %st(2), %st 506# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fsubs (%ecx) 507# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fsubl (%eax) 508# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubp %st, %st(1) 509# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubp %st, %st(2) 510# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fisubs (%ecx) 511# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fisubl (%eax) 512# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubr %st, %st(1) 513# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubr %st(2), %st 514# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fsubrs (%ecx) 515# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fsubrl (%eax) 516# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubrp %st, %st(1) 517# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - 1.00 - - - - - - - - fsubrp %st, %st(2) 518# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fisubrs (%ecx) 519# CHECK-NEXT: 1.50 1.50 - - - - - - 5.00 5.00 - - - - 1.00 - - - - 1.50 1.50 - - fisubrl (%eax) 520# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - ftst 521# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucom %st(1) 522# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucom %st(3) 523# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucomp %st(1) 524# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucomp %st(3) 525# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - 1.00 - - - - - - - fucompp 526# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucomi %st(3), %st 527# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fucompi %st(3), %st 528# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - wait 529# CHECK-NEXT: - - - - - 1.00 - - 0.50 0.50 - - - - 1.00 - - - - - - - - fxam 530# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fxch %st(1) 531# CHECK-NEXT: - - - - - 1.00 1.00 - - - - - - - - - - - - - - - - fxch %st(3) 532# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fxrstor (%eax) 533# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fxsave (%eax) 534# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fxtract 535# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fyl2x 536# CHECK-NEXT: - - - - - 0.50 0.50 - - - - - - - - - - - - - - - - fyl2xp1 537