526 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py2# RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=znver1 -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 2 1.00 U fabs211# CHECK-NEXT: 1 3 0.50 U fadd %st, %st(1)212# CHECK-NEXT: 1 3 0.50 U fadd %st(2), %st213# CHECK-NEXT: 1 10 0.50 * U fadds (%ecx)214# CHECK-NEXT: 1 10 0.50 * U faddl (%ecx)215# CHECK-NEXT: 1 3 0.50 U faddp %st, %st(1)216# CHECK-NEXT: 1 3 0.50 U faddp %st, %st(2)217# CHECK-NEXT: 1 10 0.50 * U fiadds (%ecx)218# CHECK-NEXT: 1 10 0.50 * U fiaddl (%ecx)219# CHECK-NEXT: 1 100 0.25 * U fbld (%ecx)220# CHECK-NEXT: 1 100 0.25 * U fbstp (%eax)221# CHECK-NEXT: 1 1 1.00 U fchs222# CHECK-NEXT: 1 100 0.25 U fnclex223# CHECK-NEXT: 1 100 0.25 U fcmovb %st(1), %st224# CHECK-NEXT: 1 100 0.25 U fcmovbe %st(1), %st225# CHECK-NEXT: 1 100 0.25 U fcmove %st(1), %st226# CHECK-NEXT: 1 100 0.25 U fcmovnb %st(1), %st227# CHECK-NEXT: 1 100 0.25 U fcmovnbe %st(1), %st228# CHECK-NEXT: 1 100 0.25 U fcmovne %st(1), %st229# CHECK-NEXT: 1 100 0.25 U fcmovnu %st(1), %st230# CHECK-NEXT: 1 100 0.25 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: 1 8 1.00 * U fcoms (%ecx)234# CHECK-NEXT: 1 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: 1 8 1.00 * U fcomps (%ecx)238# CHECK-NEXT: 1 8 1.00 * U fcompl (%eax)239# CHECK-NEXT: 1 1 1.00 U fcompp240# CHECK-NEXT: 1 9 0.50 U fcomi %st(3), %st241# CHECK-NEXT: 1 9 0.50 U fcompi %st(3), %st242# CHECK-NEXT: 1 100 0.25 U fcos243# CHECK-NEXT: 1 11 1.00 U fdecstp244# CHECK-NEXT: 1 10 3.00 U fdiv %st, %st(1)245# CHECK-NEXT: 1 10 3.00 U fdiv %st(2), %st246# CHECK-NEXT: 1 17 3.00 * U fdivs (%ecx)247# CHECK-NEXT: 1 17 3.00 * U fdivl (%eax)248# CHECK-NEXT: 1 10 3.00 U fdivp %st, %st(1)249# CHECK-NEXT: 1 10 3.00 U fdivp %st, %st(2)250# CHECK-NEXT: 1 17 3.00 * U fidivs (%ecx)251# CHECK-NEXT: 1 17 3.00 * U fidivl (%eax)252# CHECK-NEXT: 1 10 3.00 U fdivr %st, %st(1)253# CHECK-NEXT: 1 10 3.00 U fdivr %st(2), %st254# CHECK-NEXT: 1 17 3.00 * U fdivrs (%ecx)255# CHECK-NEXT: 1 17 3.00 * U fdivrl (%eax)256# CHECK-NEXT: 1 10 3.00 U fdivrp %st, %st(1)257# CHECK-NEXT: 1 10 3.00 U fdivrp %st, %st(2)258# CHECK-NEXT: 1 17 3.00 * U fidivrs (%ecx)259# CHECK-NEXT: 1 17 3.00 * U fidivrl (%eax)260# CHECK-NEXT: 1 11 1.00 U ffree %st(0)261# CHECK-NEXT: 2 12 1.50 * U ficoms (%ecx)262# CHECK-NEXT: 2 12 1.50 * U ficoml (%eax)263# CHECK-NEXT: 2 12 1.50 * U ficomps (%ecx)264# CHECK-NEXT: 2 12 1.50 * U ficompl (%eax)265# CHECK-NEXT: 2 11 1.00 * U filds (%edx)266# CHECK-NEXT: 2 11 1.00 * U fildl (%ecx)267# CHECK-NEXT: 2 11 1.00 * U fildll (%eax)268# CHECK-NEXT: 1 11 1.00 U fincstp269# CHECK-NEXT: 1 100 0.25 U fninit270# CHECK-NEXT: 1 12 0.50 * U fists (%edx)271# CHECK-NEXT: 1 12 0.50 * U fistl (%ecx)272# CHECK-NEXT: 1 12 0.50 * U fistps (%edx)273# CHECK-NEXT: 1 12 0.50 * U fistpl (%ecx)274# CHECK-NEXT: 1 12 0.50 * U fistpll (%eax)275# CHECK-NEXT: 1 12 0.50 * U fisttps (%edx)276# CHECK-NEXT: 1 12 0.50 * U fisttpl (%ecx)277# CHECK-NEXT: 1 12 0.50 * U fisttpll (%eax)278# CHECK-NEXT: 1 1 0.50 U fld %st(0)279# CHECK-NEXT: 1 4 0.50 * U flds (%edx)280# CHECK-NEXT: 1 4 0.50 * U fldl (%ecx)281# CHECK-NEXT: 2 1 0.50 * U fldt (%eax)282# CHECK-NEXT: 1 100 0.25 * U fldcw (%eax)283# CHECK-NEXT: 1 100 0.25 * U fldenv (%eax)284# CHECK-NEXT: 1 11 1.00 U fld1285# CHECK-NEXT: 1 11 1.00 U fldl2e286# CHECK-NEXT: 1 11 1.00 U fldl2t287# CHECK-NEXT: 1 11 1.00 U fldlg2288# CHECK-NEXT: 1 11 1.00 U fldln2289# CHECK-NEXT: 1 11 1.00 U fldpi290# CHECK-NEXT: 1 8 0.50 U fldz291# CHECK-NEXT: 1 3 0.50 U fmul %st, %st(1)292# CHECK-NEXT: 1 3 0.50 U fmul %st(2), %st293# CHECK-NEXT: 1 10 0.50 * U fmuls (%ecx)294# CHECK-NEXT: 1 10 0.50 * U fmull (%eax)295# CHECK-NEXT: 1 3 0.50 U fmulp %st, %st(1)296# CHECK-NEXT: 1 3 0.50 U fmulp %st, %st(2)297# CHECK-NEXT: 1 10 0.50 * U fimuls (%ecx)298# CHECK-NEXT: 1 10 0.50 * U fimull (%eax)299# CHECK-NEXT: 1 1 1.00 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 20 20.00 U fsqrt311# CHECK-NEXT: 2 5 0.50 U fst %st(0)312# CHECK-NEXT: 1 1 0.50 * U fsts (%edx)313# CHECK-NEXT: 1 1 0.50 * U fstl (%ecx)314# CHECK-NEXT: 2 5 0.50 U fstp %st(0)315# CHECK-NEXT: 1 1 0.50 * U fstpl (%edx)316# CHECK-NEXT: 1 1 0.50 * U fstpl (%ecx)317# CHECK-NEXT: 1 5 0.50 * U fstpt (%eax)318# CHECK-NEXT: 1 100 0.25 * U fnstcw (%eax)319# CHECK-NEXT: 1 100 0.25 * U fnstenv (%eax)320# CHECK-NEXT: 1 100 0.25 * U fnstsw (%eax)321# CHECK-NEXT: 1 100 0.25 * U frstor (%eax)322# CHECK-NEXT: 1 1 1.00 U wait323# CHECK-NEXT: 1 100 0.25 * U fnsave (%eax)324# CHECK-NEXT: 1 3 0.50 U fsub %st, %st(1)325# CHECK-NEXT: 1 3 0.50 U fsub %st(2), %st326# CHECK-NEXT: 1 10 0.50 * U fsubs (%ecx)327# CHECK-NEXT: 1 10 0.50 * U fsubl (%eax)328# CHECK-NEXT: 1 3 0.50 U fsubp %st, %st(1)329# CHECK-NEXT: 1 3 0.50 U fsubp %st, %st(2)330# CHECK-NEXT: 1 10 0.50 * U fisubs (%ecx)331# CHECK-NEXT: 1 10 0.50 * U fisubl (%eax)332# CHECK-NEXT: 1 3 0.50 U fsubr %st, %st(1)333# CHECK-NEXT: 1 3 0.50 U fsubr %st(2), %st334# CHECK-NEXT: 1 10 0.50 * U fsubrs (%ecx)335# CHECK-NEXT: 1 10 0.50 * U fsubrl (%eax)336# CHECK-NEXT: 1 3 0.50 U fsubrp %st, %st(1)337# CHECK-NEXT: 1 3 0.50 U fsubrp %st, %st(2)338# CHECK-NEXT: 1 10 0.50 * U fisubrs (%ecx)339# CHECK-NEXT: 1 10 0.50 * U fisubrl (%eax)340# CHECK-NEXT: 1 1 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 1 1.00 U fucompp346# CHECK-NEXT: 1 9 0.50 U fucomi %st(3), %st347# CHECK-NEXT: 1 9 0.50 U fucompi %st(3), %st348# CHECK-NEXT: 1 1 1.00 U wait349# CHECK-NEXT: 1 1 1.00 U fxam350# CHECK-NEXT: 1 1 0.25 U fxch %st(1)351# CHECK-NEXT: 1 1 0.25 U fxch %st(3)352# CHECK-NEXT: 1 100 0.25 * * 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] - ZnAGU0360# CHECK-NEXT: [1] - ZnAGU1361# CHECK-NEXT: [2] - ZnALU0362# CHECK-NEXT: [3] - ZnALU1363# CHECK-NEXT: [4] - ZnALU2364# CHECK-NEXT: [5] - ZnALU3365# CHECK-NEXT: [6] - ZnDivider366# CHECK-NEXT: [7] - ZnFPU0367# CHECK-NEXT: [8] - ZnFPU1368# CHECK-NEXT: [9] - ZnFPU2369# CHECK-NEXT: [10] - ZnFPU3370# CHECK-NEXT: [11] - ZnMultiplier371 372# CHECK: Resource pressure per iteration:373# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]374# CHECK-NEXT: 32.50 32.50 - - - - - 30.50 6.00 20.00 108.50 -375 376# CHECK: Resource pressure by instruction:377# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:378# CHECK-NEXT: - - - - - - - - - - - - f2xm1379# CHECK-NEXT: - - - - - - - - - - 1.00 - fabs380# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fadd %st, %st(1)381# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fadd %st(2), %st382# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fadds (%ecx)383# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - faddl (%ecx)384# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - faddp %st, %st(1)385# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - faddp %st, %st(2)386# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fiadds (%ecx)387# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fiaddl (%ecx)388# CHECK-NEXT: - - - - - - - - - - - - fbld (%ecx)389# CHECK-NEXT: - - - - - - - - - - - - fbstp (%eax)390# CHECK-NEXT: - - - - - - - - - - 1.00 - fchs391# CHECK-NEXT: - - - - - - - - - - - - fnclex392# CHECK-NEXT: - - - - - - - - - - - - fcmovb %st(1), %st393# CHECK-NEXT: - - - - - - - - - - - - fcmovbe %st(1), %st394# CHECK-NEXT: - - - - - - - - - - - - fcmove %st(1), %st395# CHECK-NEXT: - - - - - - - - - - - - fcmovnb %st(1), %st396# CHECK-NEXT: - - - - - - - - - - - - fcmovnbe %st(1), %st397# CHECK-NEXT: - - - - - - - - - - - - fcmovne %st(1), %st398# CHECK-NEXT: - - - - - - - - - - - - fcmovnu %st(1), %st399# CHECK-NEXT: - - - - - - - - - - - - fcmovu %st(1), %st400# CHECK-NEXT: - - - - - - - 1.00 - - - - fcom %st(1)401# CHECK-NEXT: - - - - - - - 1.00 - - - - fcom %st(3)402# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcoms (%ecx)403# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcoml (%eax)404# CHECK-NEXT: - - - - - - - 1.00 - - - - fcomp %st(1)405# CHECK-NEXT: - - - - - - - 1.00 - - - - fcomp %st(3)406# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcomps (%ecx)407# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - - - - fcompl (%eax)408# CHECK-NEXT: - - - - - - - 1.00 - - - - fcompp409# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcomi %st(3), %st410# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fcompi %st(3), %st411# CHECK-NEXT: - - - - - - - - - - - - fcos412# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fdecstp413# CHECK-NEXT: - - - - - - - - - - 3.00 - fdiv %st, %st(1)414# CHECK-NEXT: - - - - - - - - - - 3.00 - fdiv %st(2), %st415# CHECK-NEXT: 0.50 0.50 - - - - - - - - 3.00 - fdivs (%ecx)416# CHECK-NEXT: 0.50 0.50 - - - - - - - - 3.00 - fdivl (%eax)417# CHECK-NEXT: - - - - - - - - - - 3.00 - fdivp %st, %st(1)418# CHECK-NEXT: - - - - - - - - - - 3.00 - fdivp %st, %st(2)419# CHECK-NEXT: 0.50 0.50 - - - - - - - - 3.00 - fidivs (%ecx)420# CHECK-NEXT: 0.50 0.50 - - - - - - - - 3.00 - fidivl (%eax)421# CHECK-NEXT: - - - - - - - - - - 3.00 - fdivr %st, %st(1)422# CHECK-NEXT: - - - - - - - - - - 3.00 - fdivr %st(2), %st423# CHECK-NEXT: 0.50 0.50 - - - - - - - - 3.00 - fdivrs (%ecx)424# CHECK-NEXT: 0.50 0.50 - - - - - - - - 3.00 - fdivrl (%eax)425# CHECK-NEXT: - - - - - - - - - - 3.00 - fdivrp %st, %st(1)426# CHECK-NEXT: - - - - - - - - - - 3.00 - fdivrp %st, %st(2)427# CHECK-NEXT: 0.50 0.50 - - - - - - - - 3.00 - fidivrs (%ecx)428# CHECK-NEXT: 0.50 0.50 - - - - - - - - 3.00 - fidivrl (%eax)429# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - ffree %st(0)430# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficoms (%ecx)431# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficoml (%eax)432# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficomps (%ecx)433# CHECK-NEXT: 0.50 0.50 - - - - - 1.50 - - 1.50 - ficompl (%eax)434# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - filds (%edx)435# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fildl (%ecx)436# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fildll (%eax)437# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fincstp438# CHECK-NEXT: - - - - - - - - - - - - fninit439# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fists (%edx)440# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistl (%ecx)441# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistps (%edx)442# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistpl (%ecx)443# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fistpll (%eax)444# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttps (%edx)445# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttpl (%ecx)446# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisttpll (%eax)447# CHECK-NEXT: - - - - - - - - 0.50 - 0.50 - fld %st(0)448# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - flds (%edx)449# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fldl (%ecx)450# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldt (%eax)451# CHECK-NEXT: - - - - - - - - - - - - fldcw (%eax)452# CHECK-NEXT: - - - - - - - - - - - - fldenv (%eax)453# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fld1454# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldl2e455# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldl2t456# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldlg2457# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldln2458# CHECK-NEXT: 0.50 0.50 - - - - - - - - 1.00 - fldpi459# CHECK-NEXT: 0.50 0.50 - - - - - - 0.50 - 0.50 - fldz460# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st, %st(1)461# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmul %st(2), %st462# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmuls (%ecx)463# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fmull (%eax)464# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st, %st(1)465# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - fmulp %st, %st(2)466# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fimuls (%ecx)467# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - fimull (%eax)468# CHECK-NEXT: - - - - - - - 1.00 - - - - fnop469# CHECK-NEXT: - - - - - - - - - - - - fpatan470# CHECK-NEXT: - - - - - - - - - - - - fprem471# CHECK-NEXT: - - - - - - - - - - - - fprem1472# CHECK-NEXT: - - - - - - - - - - - - fptan473# CHECK-NEXT: - - - - - - - - - - - - frndint474# CHECK-NEXT: - - - - - - - - - - - - frstor (%eax)475# CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax)476# CHECK-NEXT: - - - - - - - - - - - - fscale477# CHECK-NEXT: - - - - - - - - - - - - fsin478# CHECK-NEXT: - - - - - - - - - - - - fsincos479# CHECK-NEXT: - - - - - - - - - - 20.00 - fsqrt480# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fst %st(0)481# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fsts (%edx)482# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstl (%ecx)483# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fstp %st(0)484# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstpl (%edx)485# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - fstpl (%ecx)486# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fstpt (%eax)487# CHECK-NEXT: - - - - - - - - - - - - fnstcw (%eax)488# CHECK-NEXT: - - - - - - - - - - - - fnstenv (%eax)489# CHECK-NEXT: - - - - - - - - - - - - fnstsw (%eax)490# CHECK-NEXT: - - - - - - - - - - - - frstor (%eax)491# CHECK-NEXT: - - - - - - - 1.00 - - - - wait492# CHECK-NEXT: - - - - - - - - - - - - fnsave (%eax)493# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsub %st, %st(1)494# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsub %st(2), %st495# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fsubs (%ecx)496# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fsubl (%eax)497# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubp %st, %st(1)498# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubp %st, %st(2)499# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisubs (%ecx)500# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisubl (%eax)501# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubr %st, %st(1)502# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubr %st(2), %st503# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fsubrs (%ecx)504# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fsubrl (%eax)505# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubrp %st, %st(1)506# CHECK-NEXT: - - - - - - - - - 0.50 0.50 - fsubrp %st, %st(2)507# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisubrs (%ecx)508# CHECK-NEXT: 0.50 0.50 - - - - - - - 0.50 0.50 - fisubrl (%eax)509# CHECK-NEXT: - - - - - - - 1.00 - - - - ftst510# CHECK-NEXT: - - - - - - - 1.00 - - - - fucom %st(1)511# CHECK-NEXT: - - - - - - - 1.00 - - - - fucom %st(3)512# CHECK-NEXT: - - - - - - - 1.00 - - - - fucomp %st(1)513# CHECK-NEXT: - - - - - - - 1.00 - - - - fucomp %st(3)514# CHECK-NEXT: - - - - - - - 1.00 - - - - fucompp515# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucomi %st(3), %st516# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - 0.50 - - fucompi %st(3), %st517# CHECK-NEXT: - - - - - - - 1.00 - - - - wait518# CHECK-NEXT: - - - - - - - - - - 1.00 - fxam519# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - fxch %st(1)520# CHECK-NEXT: - - - - - - - 0.25 0.25 0.25 0.25 - fxch %st(3)521# CHECK-NEXT: - - - - - - - - - - - - fxrstor (%eax)522# CHECK-NEXT: - - - - - - - - - - - - fxsave (%eax)523# CHECK-NEXT: - - - - - - - - - - - - fxtract524# CHECK-NEXT: - - - - - - - - - - - - fyl2x525# CHECK-NEXT: - - - - - - - - - - - - fyl2xp1526