524 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=skylake-avx512 -instruction-tables < %s | FileCheck %s3 4f2xm15 6fabs7 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 20fchs21 22fnclex23 24fcmovb %st(1), %st25fcmovbe %st(1), %st26fcmove %st(1), %st27fcmovnb %st(1), %st28fcmovnbe %st(1), %st29fcmovne %st(1), %st30fcmovnu %st(1), %st31fcmovu %st(1), %st32 33fcom %st(1)34fcom %st(3)35fcoms (%ecx)36fcoml (%eax)37fcomp %st(1)38fcomp %st(3)39fcomps (%ecx)40fcompl (%eax)41fcompp42 43fcomi %st(3)44fcompi %st(3)45 46fcos47 48fdecstp49 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 79fincstp80 81fninit82 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 101fld1102fldl2e103fldl2t104fldlg2105fldln2106fldpi107fldz108 109fmul %st, %st(1)110fmul %st(2)111fmuls (%ecx)112fmull (%eax)113fmulp %st(1)114fmulp %st(2)115fimuls (%ecx)116fimull (%eax)117 118fnop119 120fpatan121 122fprem123fprem1124 125fptan126 127frndint128 129frstor (%eax)130 131fnsave (%eax)132 133fscale134 135fsin136 137fsincos138 139fsqrt140 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 174ftst175 176fucom %st(1)177fucom %st(3)178fucomp %st(1)179fucomp %st(3)180fucompp181 182fucomi %st(3)183fucompi %st(3)184 185fwait186 187fxam188 189fxch %st(1)190fxch %st(3)191 192fxrstor (%eax)193fxsave (%eax)194 195fxtract196 197fyl2x198fyl2xp1199 200# CHECK: Instruction Info:201# CHECK-NEXT: [1]: #uOps202# CHECK-NEXT: [2]: Latency203# CHECK-NEXT: [3]: RThroughput204# CHECK-NEXT: [4]: MayLoad205# CHECK-NEXT: [5]: MayStore206# CHECK-NEXT: [6]: HasSideEffects (U)207 208# CHECK: [1] [2] [3] [4] [5] [6] Instructions:209# CHECK-NEXT: 1 100 0.25 U f2xm1210# CHECK-NEXT: 1 1 1.00 U fabs211# CHECK-NEXT: 1 3 1.00 U fadd %st, %st(1)212# CHECK-NEXT: 1 3 1.00 U fadd %st(2), %st213# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)214# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)215# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(1)216# CHECK-NEXT: 1 3 1.00 U faddp %st, %st(2)217# CHECK-NEXT: 3 13 2.00 * U fiadds (%ecx)218# CHECK-NEXT: 3 13 2.00 * U fiaddl (%ecx)219# CHECK-NEXT: 1 100 0.25 * U fbld (%ecx)220# CHECK-NEXT: 2 1 1.00 * U fbstp (%eax)221# CHECK-NEXT: 1 1 1.00 U fchs222# CHECK-NEXT: 4 4 1.00 U fnclex223# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st224# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st225# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st226# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st227# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st228# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st229# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st230# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st231# CHECK-NEXT: 1 1 1.00 U fcom %st(1)232# CHECK-NEXT: 1 1 1.00 U fcom %st(3)233# CHECK-NEXT: 2 8 1.00 * U fcoms (%ecx)234# CHECK-NEXT: 2 8 1.00 * U fcoml (%eax)235# CHECK-NEXT: 1 1 1.00 U fcomp %st(1)236# CHECK-NEXT: 1 1 1.00 U fcomp %st(3)237# CHECK-NEXT: 2 8 1.00 * U fcomps (%ecx)238# CHECK-NEXT: 2 8 1.00 * U fcompl (%eax)239# CHECK-NEXT: 1 100 0.25 U fcompp240# CHECK-NEXT: 1 2 1.00 U fcomi %st(3), %st241# CHECK-NEXT: 1 2 1.00 U fcompi %st(3), %st242# CHECK-NEXT: 1 100 0.25 U fcos243# CHECK-NEXT: 2 2 1.00 U fdecstp244# CHECK-NEXT: 1 15 1.00 U fdiv %st, %st(1)245# CHECK-NEXT: 1 20 1.00 U fdiv %st(2), %st246# CHECK-NEXT: 2 22 1.00 * U fdivs (%ecx)247# CHECK-NEXT: 2 22 1.00 * U fdivl (%eax)248# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(1)249# CHECK-NEXT: 1 15 1.00 U fdivp %st, %st(2)250# CHECK-NEXT: 3 25 1.00 * U fidivs (%ecx)251# CHECK-NEXT: 3 25 1.00 * U fidivl (%eax)252# CHECK-NEXT: 1 20 1.00 U fdivr %st, %st(1)253# CHECK-NEXT: 1 15 1.00 U fdivr %st(2), %st254# CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx)255# CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax)256# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(1)257# CHECK-NEXT: 1 20 1.00 U fdivrp %st, %st(2)258# CHECK-NEXT: 3 30 1.00 * U fidivrs (%ecx)259# CHECK-NEXT: 3 30 1.00 * U fidivrl (%eax)260# CHECK-NEXT: 1 100 0.25 U ffree %st(0)261# CHECK-NEXT: 3 11 2.00 * U ficoms (%ecx)262# CHECK-NEXT: 3 11 2.00 * U ficoml (%eax)263# CHECK-NEXT: 3 11 2.00 * U ficomps (%ecx)264# CHECK-NEXT: 3 11 2.00 * U ficompl (%eax)265# CHECK-NEXT: 2 10 1.00 * U filds (%edx)266# CHECK-NEXT: 2 10 1.00 * U fildl (%ecx)267# CHECK-NEXT: 2 10 1.00 * U fildll (%eax)268# CHECK-NEXT: 1 1 0.50 U fincstp269# CHECK-NEXT: 15 75 6.00 U fninit270# CHECK-NEXT: 3 4 1.00 * U fists (%edx)271# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)272# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)273# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)274# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)275# CHECK-NEXT: 3 4 1.00 * U fisttps (%edx)276# CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx)277# CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax)278# CHECK-NEXT: 1 1 0.25 U fld %st(0)279# CHECK-NEXT: 1 7 0.50 * U flds (%edx)280# CHECK-NEXT: 1 7 0.50 * U fldl (%ecx)281# CHECK-NEXT: 1 7 0.50 * U fldt (%eax)282# CHECK-NEXT: 3 7 1.00 * U fldcw (%eax)283# CHECK-NEXT: 64 62 14.00 * U fldenv (%eax)284# CHECK-NEXT: 2 1 1.00 U fld1285# CHECK-NEXT: 2 1 1.00 U fldl2e286# CHECK-NEXT: 2 1 1.00 U fldl2t287# CHECK-NEXT: 2 1 1.00 U fldlg2288# CHECK-NEXT: 2 1 1.00 U fldln2289# CHECK-NEXT: 2 1 1.00 U fldpi290# CHECK-NEXT: 1 1 0.50 U fldz291# CHECK-NEXT: 1 4 1.00 U fmul %st, %st(1)292# CHECK-NEXT: 1 4 1.00 U fmul %st(2), %st293# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)294# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)295# CHECK-NEXT: 1 4 1.00 U fmulp %st, %st(1)296# CHECK-NEXT: 1 4 1.00 U fmulp %st, %st(2)297# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)298# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)299# CHECK-NEXT: 1 1 0.50 U fnop300# CHECK-NEXT: 1 100 0.25 U fpatan301# CHECK-NEXT: 1 100 0.25 U fprem302# CHECK-NEXT: 1 100 0.25 U fprem1303# CHECK-NEXT: 1 100 0.25 U fptan304# CHECK-NEXT: 1 100 0.25 U frndint305# CHECK-NEXT: 1 100 0.25 * U frstor (%eax)306# CHECK-NEXT: 1 100 0.25 * U fnsave (%eax)307# CHECK-NEXT: 1 100 0.25 U fscale308# CHECK-NEXT: 1 100 0.25 U fsin309# CHECK-NEXT: 1 100 0.25 U fsincos310# CHECK-NEXT: 1 21 7.00 U fsqrt311# CHECK-NEXT: 1 1 0.25 U fst %st(0)312# CHECK-NEXT: 1 1 1.00 * U fsts (%edx)313# CHECK-NEXT: 1 1 1.00 * U fstl (%ecx)314# CHECK-NEXT: 1 1 0.25 U fstp %st(0)315# CHECK-NEXT: 2 1 1.00 * U fstpl (%edx)316# CHECK-NEXT: 2 1 1.00 * U fstpl (%ecx)317# CHECK-NEXT: 2 1 1.00 * U fstpt (%eax)318# CHECK-NEXT: 3 2 1.00 * U fnstcw (%eax)319# CHECK-NEXT: 100 106 19.50 * U fnstenv (%eax)320# CHECK-NEXT: 3 3 1.00 * U fnstsw (%eax)321# CHECK-NEXT: 1 100 0.25 * U frstor (%eax)322# CHECK-NEXT: 2 2 0.50 U wait323# CHECK-NEXT: 1 100 0.25 * U fnsave (%eax)324# CHECK-NEXT: 1 3 1.00 U fsub %st, %st(1)325# CHECK-NEXT: 1 3 1.00 U fsub %st(2), %st326# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)327# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)328# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(1)329# CHECK-NEXT: 1 3 1.00 U fsubp %st, %st(2)330# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)331# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)332# CHECK-NEXT: 1 3 1.00 U fsubr %st, %st(1)333# CHECK-NEXT: 1 3 1.00 U fsubr %st(2), %st334# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)335# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)336# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(1)337# CHECK-NEXT: 1 3 1.00 U fsubrp %st, %st(2)338# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)339# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)340# CHECK-NEXT: 1 2 1.00 U ftst341# CHECK-NEXT: 1 1 1.00 U fucom %st(1)342# CHECK-NEXT: 1 1 1.00 U fucom %st(3)343# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)344# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)345# CHECK-NEXT: 1 2 1.00 U fucompp346# CHECK-NEXT: 1 2 1.00 U fucomi %st(3), %st347# CHECK-NEXT: 1 2 1.00 U fucompi %st(3), %st348# CHECK-NEXT: 2 2 0.50 U wait349# CHECK-NEXT: 1 2 1.00 U fxam350# CHECK-NEXT: 15 17 4.00 U fxch %st(1)351# CHECK-NEXT: 15 17 4.00 U fxch %st(3)352# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)353# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)354# CHECK-NEXT: 1 100 0.25 U fxtract355# CHECK-NEXT: 1 100 0.25 U fyl2x356# CHECK-NEXT: 1 100 0.25 U fyl2xp1357 358# CHECK: Resources:359# CHECK-NEXT: [0] - SKXDivider360# CHECK-NEXT: [1] - SKXFPDivider361# CHECK-NEXT: [2] - SKXPort0362# CHECK-NEXT: [3] - SKXPort1363# CHECK-NEXT: [4] - SKXPort2364# CHECK-NEXT: [5] - SKXPort3365# CHECK-NEXT: [6] - SKXPort4366# CHECK-NEXT: [7] - SKXPort5367# CHECK-NEXT: [8] - SKXPort6368# CHECK-NEXT: [9] - SKXPort7369 370# CHECK: Resource pressure per iteration:371# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]372# CHECK-NEXT: - 7.00 127.50 52.00 49.00 49.00 27.00 149.50 69.00 9.00373 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 - f2xm1377# CHECK-NEXT: - - 1.00 - - - - - - - fabs378# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st, %st(1)379# CHECK-NEXT: - - - - - - - 1.00 - - fadd %st(2), %st380# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fadds (%ecx)381# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - faddl (%ecx)382# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st, %st(1)383# CHECK-NEXT: - - - - - - - 1.00 - - faddp %st, %st(2)384# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiadds (%ecx)385# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fiaddl (%ecx)386# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fbld (%ecx)387# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fbstp (%eax)388# CHECK-NEXT: - - 1.00 - - - - - - - fchs389# CHECK-NEXT: - - 1.00 1.00 - - - 1.00 1.00 - fnclex390# CHECK-NEXT: - - - 1.00 - - - - - - fcmovb %st(1), %st391# CHECK-NEXT: - - - 1.00 - - - - - - fcmovbe %st(1), %st392# CHECK-NEXT: - - - 1.00 - - - - - - fcmove %st(1), %st393# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnb %st(1), %st394# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnbe %st(1), %st395# CHECK-NEXT: - - - 1.00 - - - - - - fcmovne %st(1), %st396# CHECK-NEXT: - - - 1.00 - - - - - - fcmovnu %st(1), %st397# CHECK-NEXT: - - - 1.00 - - - - - - fcmovu %st(1), %st398# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(1)399# CHECK-NEXT: - - - - - - - 1.00 - - fcom %st(3)400# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoms (%ecx)401# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcoml (%eax)402# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(1)403# CHECK-NEXT: - - - - - - - 1.00 - - fcomp %st(3)404# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcomps (%ecx)405# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fcompl (%eax)406# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcompp407# CHECK-NEXT: - - 1.00 - - - - - - - fcomi %st(3), %st408# CHECK-NEXT: - - 1.00 - - - - - - - fcompi %st(3), %st409# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fcos410# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fdecstp411# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st, %st(1)412# CHECK-NEXT: - - 1.00 - - - - - - - fdiv %st(2), %st413# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivs (%ecx)414# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivl (%eax)415# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(1)416# CHECK-NEXT: - - 1.00 - - - - - - - fdivp %st, %st(2)417# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivs (%ecx)418# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivl (%eax)419# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st, %st(1)420# CHECK-NEXT: - - 1.00 - - - - - - - fdivr %st(2), %st421# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrs (%ecx)422# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fdivrl (%eax)423# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(1)424# CHECK-NEXT: - - 1.00 - - - - - - - fdivrp %st, %st(2)425# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrs (%ecx)426# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fidivrl (%eax)427# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - ffree %st(0)428# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoms (%ecx)429# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficoml (%eax)430# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficomps (%ecx)431# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - ficompl (%eax)432# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - filds (%edx)433# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildl (%ecx)434# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fildll (%eax)435# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fincstp436# CHECK-NEXT: - - 3.00 1.50 - - - 9.00 1.50 - fninit437# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fists (%edx)438# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistl (%ecx)439# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistps (%edx)440# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpl (%ecx)441# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fistpll (%eax)442# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttps (%edx)443# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpl (%ecx)444# CHECK-NEXT: - - - - 0.33 0.33 1.00 1.00 - 0.33 fisttpll (%eax)445# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fld %st(0)446# CHECK-NEXT: - - - - 0.50 0.50 - - - - flds (%edx)447# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldl (%ecx)448# CHECK-NEXT: - - - - 0.50 0.50 - - - - fldt (%eax)449# CHECK-NEXT: - - 1.50 - 0.50 0.50 - 0.50 - - fldcw (%eax)450# CHECK-NEXT: - - 19.25 9.75 4.00 4.00 - 12.25 14.75 - fldenv (%eax)451# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fld1452# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldl2e453# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldl2t454# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldlg2455# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldln2456# CHECK-NEXT: - - 1.00 - - - - 1.00 - - fldpi457# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fldz458# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st, %st(1)459# CHECK-NEXT: - - 1.00 - - - - - - - fmul %st(2), %st460# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmuls (%ecx)461# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - fmull (%eax)462# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(1)463# CHECK-NEXT: - - 1.00 - - - - - - - fmulp %st, %st(2)464# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimuls (%ecx)465# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - fimull (%eax)466# CHECK-NEXT: - - 0.50 - - - - 0.50 - - fnop467# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fpatan468# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem469# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fprem1470# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fptan471# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frndint472# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax)473# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax)474# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fscale475# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsin476# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fsincos477# CHECK-NEXT: - 7.00 1.00 - - - - - - - fsqrt478# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fst %st(0)479# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fsts (%edx)480# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstl (%ecx)481# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fstp %st(0)482# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%edx)483# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpl (%ecx)484# CHECK-NEXT: - - - - 0.33 0.33 1.00 - - 0.33 fstpt (%eax)485# CHECK-NEXT: - - - - 0.33 0.33 1.00 - 1.00 0.33 fnstcw (%eax)486# CHECK-NEXT: - - 27.00 8.50 3.67 3.67 11.00 23.50 19.00 3.67 fnstenv (%eax)487# CHECK-NEXT: - - 1.00 - 0.33 0.33 1.00 - - 0.33 fnstsw (%eax)488# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - frstor (%eax)489# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait490# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fnsave (%eax)491# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st, %st(1)492# CHECK-NEXT: - - - - - - - 1.00 - - fsub %st(2), %st493# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubs (%ecx)494# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubl (%eax)495# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st, %st(1)496# CHECK-NEXT: - - - - - - - 1.00 - - fsubp %st, %st(2)497# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubs (%ecx)498# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubl (%eax)499# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st, %st(1)500# CHECK-NEXT: - - - - - - - 1.00 - - fsubr %st(2), %st501# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrs (%ecx)502# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - fsubrl (%eax)503# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st, %st(1)504# CHECK-NEXT: - - - - - - - 1.00 - - fsubrp %st, %st(2)505# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrs (%ecx)506# CHECK-NEXT: - - - - 0.50 0.50 - 2.00 - - fisubrl (%eax)507# CHECK-NEXT: - - 1.00 - - - - - - - ftst508# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(1)509# CHECK-NEXT: - - - - - - - 1.00 - - fucom %st(3)510# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(1)511# CHECK-NEXT: - - - - - - - 1.00 - - fucomp %st(3)512# CHECK-NEXT: - - 1.00 - - - - - - - fucompp513# CHECK-NEXT: - - 1.00 - - - - - - - fucomi %st(3), %st514# CHECK-NEXT: - - 1.00 - - - - - - - fucompi %st(3), %st515# CHECK-NEXT: - - 0.50 0.50 - - - 0.50 0.50 - wait516# CHECK-NEXT: - - 1.00 - - - - - - - fxam517# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(1)518# CHECK-NEXT: - - 4.00 2.00 - - - 4.00 5.00 - fxch %st(3)519# CHECK-NEXT: - - 17.25 12.25 16.50 16.50 - 12.75 14.75 - fxrstor (%eax)520# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxsave (%eax)521# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fxtract522# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2x523# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - fyl2xp1524