[llvm] r333656 - [X86] Introduce WriteFLDC for x87 constant loads.

Clement Courbet via llvm-commits llvm-commits at lists.llvm.org
Thu May 31 07:22:01 PDT 2018


Author: courbet
Date: Thu May 31 07:22:01 2018
New Revision: 333656

URL: http://llvm.org/viewvc/llvm-project?rev=333656&view=rev
Log:
[X86] Introduce WriteFLDC for x87 constant loads.

Summary:
{FLDL2E, FLDL2T, FLDLG2, FLDLN2, FLDPI} were using WriteMicrocoded.

 - I've measured the values for Broadwell, Haswell, SandyBridge, Skylake.
 - For ZnVer1 and Atom, values were transferred form InstRWs.
 - For SLM and BtVer2, I've guessed some values :(

Reviewers: RKSimon, craig.topper, andreadb

Subscribers: gbedwell, llvm-commits

Differential Revision: https://reviews.llvm.org/D47585

Modified:
    llvm/trunk/lib/Target/X86/X86InstrFPStack.td
    llvm/trunk/lib/Target/X86/X86SchedBroadwell.td
    llvm/trunk/lib/Target/X86/X86SchedHaswell.td
    llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
    llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td
    llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td
    llvm/trunk/lib/Target/X86/X86Schedule.td
    llvm/trunk/lib/Target/X86/X86ScheduleAtom.td
    llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
    llvm/trunk/lib/Target/X86/X86ScheduleSLM.td
    llvm/trunk/lib/Target/X86/X86ScheduleZnver1.td
    llvm/trunk/test/CodeGen/X86/x87-schedule.ll
    llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
    llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s

Modified: llvm/trunk/lib/Target/X86/X86InstrFPStack.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrFPStack.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrFPStack.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrFPStack.td Thu May 31 07:22:01 2018
@@ -570,6 +570,14 @@ def LD_F0 : FPI<0xD9, MRM_EE, (outs), (i
 let SchedRW = [WriteFLD1] in
 def LD_F1 : FPI<0xD9, MRM_E8, (outs), (ins), "fld1">;
 
+let SchedRW = [WriteFLDC], Defs = [FPSW] in {
+def FLDL2T : I<0xD9, MRM_E9, (outs), (ins), "fldl2t", []>;
+def FLDL2E : I<0xD9, MRM_EA, (outs), (ins), "fldl2e", []>;
+def FLDPI : I<0xD9, MRM_EB, (outs), (ins), "fldpi", []>;
+def FLDLG2 : I<0xD9, MRM_EC, (outs), (ins), "fldlg2", []>;
+def FLDLN2 : I<0xD9, MRM_ED, (outs), (ins), "fldln2", []>;
+} // SchedRW
+
 // Floating point compares.
 let SchedRW = [WriteFCom] in {
 def UCOM_Fpr32 : FpIf32<(outs), (ins RFP32:$lhs, RFP32:$rhs), CompareFP,
@@ -649,11 +657,6 @@ let SchedRW = [WriteMicrocoded] in {
 let Defs = [FPSW] in {
 def WAIT : I<0x9B, RawFrm, (outs), (ins), "wait", []>;
 def FXAM : I<0xD9, MRM_E5, (outs), (ins), "fxam", []>;
-def FLDL2T : I<0xD9, MRM_E9, (outs), (ins), "fldl2t", []>;
-def FLDL2E : I<0xD9, MRM_EA, (outs), (ins), "fldl2e", []>;
-def FLDPI : I<0xD9, MRM_EB, (outs), (ins), "fldpi", []>;
-def FLDLG2 : I<0xD9, MRM_EC, (outs), (ins), "fldlg2", []>;
-def FLDLN2 : I<0xD9, MRM_ED, (outs), (ins), "fldln2", []>;
 def F2XM1 : I<0xD9, MRM_F0, (outs), (ins), "f2xm1", []>;
 def FYL2X : I<0xD9, MRM_F1, (outs), (ins), "fyl2x", []>;
 def FPTAN : I<0xD9, MRM_F2, (outs), (ins), "fptan", []>;

Modified: llvm/trunk/lib/Target/X86/X86SchedBroadwell.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedBroadwell.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedBroadwell.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedBroadwell.td Thu May 31 07:22:01 2018
@@ -168,6 +168,7 @@ defm : BWWriteResPair<WriteJump,  [BWPor
 // Floating point. This covers both scalar and vector operations.
 defm : X86WriteRes<WriteFLD0,          [BWPort01], 1, [1], 1>;
 defm : X86WriteRes<WriteFLD1,          [BWPort01], 1, [2], 2>;
+defm : X86WriteRes<WriteFLDC,          [BWPort01], 1, [2], 2>;
 defm : X86WriteRes<WriteFLoad,         [BWPort23], 5, [1], 1>;
 defm : X86WriteRes<WriteFLoadX,        [BWPort23], 5, [1], 1>;
 defm : X86WriteRes<WriteFLoadY,        [BWPort23], 6, [1], 1>;

Modified: llvm/trunk/lib/Target/X86/X86SchedHaswell.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedHaswell.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedHaswell.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedHaswell.td Thu May 31 07:22:01 2018
@@ -158,6 +158,7 @@ defm : HWWriteResPair<WriteIDiv64, [HWPo
 // Scalar and vector floating point.
 defm : X86WriteRes<WriteFLD0,          [HWPort01], 1, [1], 1>;
 defm : X86WriteRes<WriteFLD1,          [HWPort01], 1, [2], 2>;
+defm : X86WriteRes<WriteFLDC,          [HWPort01], 1, [2], 2>;
 defm : X86WriteRes<WriteFLoad,         [HWPort23], 5, [1], 1>;
 defm : X86WriteRes<WriteFLoadX,        [HWPort23], 6, [1], 1>;
 defm : X86WriteRes<WriteFLoadY,        [HWPort23], 7, [1], 1>;
@@ -659,9 +660,6 @@ def : InstRW<[HWWriteFBLD], (instregex "
 // r.
 def : InstRW<[HWWriteP01], (instregex "ST_(F|FP)rr")>;
 
-// FLDPI FLDL2E etc.
-def : InstRW<[HWWrite2P01], (instregex "FLDPI", "FLDL2(T|E)", "FLDL(G|N)2")>;
-
 // FFREE.
 def : InstRW<[HWWriteP01], (instregex "FFREE")>;
 

Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Thu May 31 07:22:01 2018
@@ -150,6 +150,7 @@ defm : SBWriteResPair<WriteBZHI, [SBPort
 // Scalar and vector floating point.
 defm : X86WriteRes<WriteFLD0,          [SBPort5], 1, [1], 1>;
 defm : X86WriteRes<WriteFLD1,          [SBPort0,SBPort5], 1, [1,1], 2>;
+defm : X86WriteRes<WriteFLDC,          [SBPort0,SBPort1], 1, [1,1], 2>;
 defm : X86WriteRes<WriteFLoad,         [SBPort23], 5, [1], 1>;
 defm : X86WriteRes<WriteFLoadX,        [SBPort23], 6, [1], 1>;
 defm : X86WriteRes<WriteFLoadY,        [SBPort23], 7, [1], 1>;

Modified: llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSkylakeClient.td Thu May 31 07:22:01 2018
@@ -163,6 +163,7 @@ defm : SKLWriteResPair<WriteJump,  [SKLP
 // Floating point. This covers both scalar and vector operations.
 defm : X86WriteRes<WriteFLD0,          [SKLPort05], 1, [1], 1>;
 defm : X86WriteRes<WriteFLD1,          [SKLPort05], 1, [2], 2>;
+defm : X86WriteRes<WriteFLDC,          [SKLPort05], 1, [2], 2>;
 defm : X86WriteRes<WriteFLoad,         [SKLPort23], 5, [1], 1>;
 defm : X86WriteRes<WriteFLoadX,        [SKLPort23], 6, [1], 1>;
 defm : X86WriteRes<WriteFLoadY,        [SKLPort23], 7, [1], 1>;

Modified: llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSkylakeServer.td Thu May 31 07:22:01 2018
@@ -163,6 +163,7 @@ defm : SKXWriteResPair<WriteJump,  [SKXP
 // Floating point. This covers both scalar and vector operations.
 defm : X86WriteRes<WriteFLD0,          [SKXPort05], 1, [1], 1>;
 defm : X86WriteRes<WriteFLD1,          [SKXPort05], 1, [2], 2>;
+defm : X86WriteRes<WriteFLDC,          [SKXPort05], 1, [2], 2>;
 defm : X86WriteRes<WriteFLoad,         [SKXPort23], 5, [1], 1>;
 defm : X86WriteRes<WriteFLoadX,        [SKXPort23], 6, [1], 1>;
 defm : X86WriteRes<WriteFLoadY,        [SKXPort23], 7, [1], 1>;

Modified: llvm/trunk/lib/Target/X86/X86Schedule.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Schedule.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86Schedule.td (original)
+++ llvm/trunk/lib/Target/X86/X86Schedule.td Thu May 31 07:22:01 2018
@@ -143,6 +143,7 @@ defm WriteJump : X86SchedWritePair;
 // Floating point. This covers both scalar and vector operations.
 def  WriteFLD0          : SchedWrite;
 def  WriteFLD1          : SchedWrite;
+def  WriteFLDC          : SchedWrite;
 def  WriteFLoad         : SchedWrite;
 def  WriteFLoadX        : SchedWrite;
 def  WriteFLoadY        : SchedWrite;

Modified: llvm/trunk/lib/Target/X86/X86ScheduleAtom.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleAtom.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleAtom.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleAtom.td Thu May 31 07:22:01 2018
@@ -605,7 +605,7 @@ def AtomWrite01_10 : SchedWriteRes<[Atom
   let Latency = 10;
   let ResourceCycles = [10];
 }
-def : InstRW<[AtomWrite01_10], (instrs FLDL2E, FLDL2T, FLDLG2, FLDLN2, FLDPI)>;
+def : SchedAlias<WriteFLDC, AtomWrite01_10>;
 def : InstRW<[AtomWrite01_10], (instregex "(U)?COMIS(D|S)rm",
                                           "CVT(T)?SS2SI64rm(_Int)?")>;
 

Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Thu May 31 07:22:01 2018
@@ -273,6 +273,7 @@ def : WriteRes<WriteNop, [JALU01]> { let
 
 defm : X86WriteRes<WriteFLD0,          [JFPU1, JSTC], 3, [1,1], 1>;
 defm : X86WriteRes<WriteFLD1,          [JFPU1, JSTC], 3, [1,1], 1>;
+defm : X86WriteRes<WriteFLDC,          [JFPU1, JSTC], 3, [1,1], 1>;
 defm : X86WriteRes<WriteFLoad,         [JLAGU, JFPU01, JFPX], 5, [1, 1, 1], 1>;
 defm : X86WriteRes<WriteFLoadX,        [JLAGU, JFPU01, JFPX], 5, [1, 1, 1], 1>;
 defm : X86WriteRes<WriteFLoadY,        [JLAGU, JFPU01, JFPX], 5, [1, 1, 1], 1>;

Modified: llvm/trunk/lib/Target/X86/X86ScheduleSLM.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleSLM.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleSLM.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleSLM.td Thu May 31 07:22:01 2018
@@ -138,6 +138,7 @@ defm : SLMWriteResPair<WriteIDiv64, [SLM
 // Scalar and vector floating point.
 defm : X86WriteRes<WriteFLD0,       [SLM_FPC_RSV01], 1, [1], 1>;
 defm : X86WriteRes<WriteFLD1,       [SLM_FPC_RSV01], 1, [1], 1>;
+defm : X86WriteRes<WriteFLDC,       [SLM_FPC_RSV01], 1, [2], 2>;
 def  : WriteRes<WriteFLoad,         [SLM_MEC_RSV]> { let Latency = 3; }
 def  : WriteRes<WriteFLoadX,        [SLM_MEC_RSV]> { let Latency = 3; }
 def  : WriteRes<WriteFLoadY,        [SLM_MEC_RSV]> { let Latency = 3; }

Modified: llvm/trunk/lib/Target/X86/X86ScheduleZnver1.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleZnver1.td?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleZnver1.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleZnver1.td Thu May 31 07:22:01 2018
@@ -821,7 +821,7 @@ def : SchedAlias<WriteFLD0, ZnWriteFPU13
 def : SchedAlias<WriteFLD1, ZnWriteFPU3>;
 
 // FLDPI FLDL2E etc.
-def : InstRW<[ZnWriteFPU3], (instregex "FLDPI", "FLDL2(T|E)", "FLDL(G|N)2")>;
+def : SchedAlias<WriteFLDC, ZnWriteFPU3>;
 
 // FNSTSW.
 // AX.

Modified: llvm/trunk/test/CodeGen/X86/x87-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/x87-schedule.ll?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/x87-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/x87-schedule.ll Thu May 31 07:22:01 2018
@@ -2850,11 +2850,11 @@ define void @test_fld1_fldl2e_fldl2t_fld
 ; SLM:       # %bb.0:
 ; SLM-NEXT:    #APP
 ; SLM-NEXT:    fld1 # sched: [1:0.50]
-; SLM-NEXT:    fldl2e # sched: [100:1.00]
-; SLM-NEXT:    fldl2t # sched: [100:1.00]
-; SLM-NEXT:    fldlg2 # sched: [100:1.00]
-; SLM-NEXT:    fldln2 # sched: [100:1.00]
-; SLM-NEXT:    fldpi # sched: [100:1.00]
+; SLM-NEXT:    fldl2e # sched: [1:1.00]
+; SLM-NEXT:    fldl2t # sched: [1:1.00]
+; SLM-NEXT:    fldlg2 # sched: [1:1.00]
+; SLM-NEXT:    fldln2 # sched: [1:1.00]
+; SLM-NEXT:    fldpi # sched: [1:1.00]
 ; SLM-NEXT:    fldz # sched: [1:0.50]
 ; SLM-NEXT:    #NO_APP
 ; SLM-NEXT:    retl # sched: [4:1.00]
@@ -2863,11 +2863,11 @@ define void @test_fld1_fldl2e_fldl2t_fld
 ; SANDY:       # %bb.0:
 ; SANDY-NEXT:    #APP
 ; SANDY-NEXT:    fld1 # sched: [1:1.00]
-; SANDY-NEXT:    fldl2e # sched: [100:0.33]
-; SANDY-NEXT:    fldl2t # sched: [100:0.33]
-; SANDY-NEXT:    fldlg2 # sched: [100:0.33]
-; SANDY-NEXT:    fldln2 # sched: [100:0.33]
-; SANDY-NEXT:    fldpi # sched: [100:0.33]
+; SANDY-NEXT:    fldl2e # sched: [1:1.00]
+; SANDY-NEXT:    fldl2t # sched: [1:1.00]
+; SANDY-NEXT:    fldlg2 # sched: [1:1.00]
+; SANDY-NEXT:    fldln2 # sched: [1:1.00]
+; SANDY-NEXT:    fldpi # sched: [1:1.00]
 ; SANDY-NEXT:    fldz # sched: [1:1.00]
 ; SANDY-NEXT:    #NO_APP
 ; SANDY-NEXT:    retl # sched: [6:1.00]
@@ -2876,11 +2876,11 @@ define void @test_fld1_fldl2e_fldl2t_fld
 ; HASWELL:       # %bb.0:
 ; HASWELL-NEXT:    #APP
 ; HASWELL-NEXT:    fld1 # sched: [1:1.00]
-; HASWELL-NEXT:    fldl2e # sched: [1:0.50]
-; HASWELL-NEXT:    fldl2t # sched: [1:0.50]
-; HASWELL-NEXT:    fldlg2 # sched: [1:0.50]
-; HASWELL-NEXT:    fldln2 # sched: [1:0.50]
-; HASWELL-NEXT:    fldpi # sched: [1:0.50]
+; HASWELL-NEXT:    fldl2e # sched: [1:1.00]
+; HASWELL-NEXT:    fldl2t # sched: [1:1.00]
+; HASWELL-NEXT:    fldlg2 # sched: [1:1.00]
+; HASWELL-NEXT:    fldln2 # sched: [1:1.00]
+; HASWELL-NEXT:    fldpi # sched: [1:1.00]
 ; HASWELL-NEXT:    fldz # sched: [1:0.50]
 ; HASWELL-NEXT:    #NO_APP
 ; HASWELL-NEXT:    retl # sched: [7:1.00]
@@ -2889,11 +2889,11 @@ define void @test_fld1_fldl2e_fldl2t_fld
 ; BROADWELL:       # %bb.0:
 ; BROADWELL-NEXT:    #APP
 ; BROADWELL-NEXT:    fld1 # sched: [1:1.00]
-; BROADWELL-NEXT:    fldl2e # sched: [100:0.25]
-; BROADWELL-NEXT:    fldl2t # sched: [100:0.25]
-; BROADWELL-NEXT:    fldlg2 # sched: [100:0.25]
-; BROADWELL-NEXT:    fldln2 # sched: [100:0.25]
-; BROADWELL-NEXT:    fldpi # sched: [100:0.25]
+; BROADWELL-NEXT:    fldl2e # sched: [1:1.00]
+; BROADWELL-NEXT:    fldl2t # sched: [1:1.00]
+; BROADWELL-NEXT:    fldlg2 # sched: [1:1.00]
+; BROADWELL-NEXT:    fldln2 # sched: [1:1.00]
+; BROADWELL-NEXT:    fldpi # sched: [1:1.00]
 ; BROADWELL-NEXT:    fldz # sched: [1:0.50]
 ; BROADWELL-NEXT:    #NO_APP
 ; BROADWELL-NEXT:    retl # sched: [6:0.50]
@@ -2902,11 +2902,11 @@ define void @test_fld1_fldl2e_fldl2t_fld
 ; SKYLAKE:       # %bb.0:
 ; SKYLAKE-NEXT:    #APP
 ; SKYLAKE-NEXT:    fld1 # sched: [1:1.00]
-; SKYLAKE-NEXT:    fldl2e # sched: [100:0.25]
-; SKYLAKE-NEXT:    fldl2t # sched: [100:0.25]
-; SKYLAKE-NEXT:    fldlg2 # sched: [100:0.25]
-; SKYLAKE-NEXT:    fldln2 # sched: [100:0.25]
-; SKYLAKE-NEXT:    fldpi # sched: [100:0.25]
+; SKYLAKE-NEXT:    fldl2e # sched: [1:1.00]
+; SKYLAKE-NEXT:    fldl2t # sched: [1:1.00]
+; SKYLAKE-NEXT:    fldlg2 # sched: [1:1.00]
+; SKYLAKE-NEXT:    fldln2 # sched: [1:1.00]
+; SKYLAKE-NEXT:    fldpi # sched: [1:1.00]
 ; SKYLAKE-NEXT:    fldz # sched: [1:0.50]
 ; SKYLAKE-NEXT:    #NO_APP
 ; SKYLAKE-NEXT:    retl # sched: [6:0.50]
@@ -2915,11 +2915,11 @@ define void @test_fld1_fldl2e_fldl2t_fld
 ; SKX:       # %bb.0:
 ; SKX-NEXT:    #APP
 ; SKX-NEXT:    fld1 # sched: [1:1.00]
-; SKX-NEXT:    fldl2e # sched: [100:0.25]
-; SKX-NEXT:    fldl2t # sched: [100:0.25]
-; SKX-NEXT:    fldlg2 # sched: [100:0.25]
-; SKX-NEXT:    fldln2 # sched: [100:0.25]
-; SKX-NEXT:    fldpi # sched: [100:0.25]
+; SKX-NEXT:    fldl2e # sched: [1:1.00]
+; SKX-NEXT:    fldl2t # sched: [1:1.00]
+; SKX-NEXT:    fldlg2 # sched: [1:1.00]
+; SKX-NEXT:    fldln2 # sched: [1:1.00]
+; SKX-NEXT:    fldpi # sched: [1:1.00]
 ; SKX-NEXT:    fldz # sched: [1:0.50]
 ; SKX-NEXT:    #NO_APP
 ; SKX-NEXT:    retl # sched: [6:0.50]
@@ -2928,11 +2928,11 @@ define void @test_fld1_fldl2e_fldl2t_fld
 ; BTVER2:       # %bb.0:
 ; BTVER2-NEXT:    #APP
 ; BTVER2-NEXT:    fld1 # sched: [3:1.00]
-; BTVER2-NEXT:    fldl2e # sched: [100:0.50]
-; BTVER2-NEXT:    fldl2t # sched: [100:0.50]
-; BTVER2-NEXT:    fldlg2 # sched: [100:0.50]
-; BTVER2-NEXT:    fldln2 # sched: [100:0.50]
-; BTVER2-NEXT:    fldpi # sched: [100:0.50]
+; BTVER2-NEXT:    fldl2e # sched: [3:1.00]
+; BTVER2-NEXT:    fldl2t # sched: [3:1.00]
+; BTVER2-NEXT:    fldlg2 # sched: [3:1.00]
+; BTVER2-NEXT:    fldln2 # sched: [3:1.00]
+; BTVER2-NEXT:    fldpi # sched: [3:1.00]
 ; BTVER2-NEXT:    fldz # sched: [3:1.00]
 ; BTVER2-NEXT:    #NO_APP
 ; BTVER2-NEXT:    retl # sched: [4:1.00]

Modified: llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Broadwell/resources-x87.s Thu May 31 07:22:01 2018
@@ -282,11 +282,11 @@ fyl2xp1
 # CHECK-NEXT:  3      7     1.00    *             *     fldcw	(%eax)
 # CHECK-NEXT:  64     60    14.00                 *     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  *     fld1
-# CHECK-NEXT:  1      100   0.25                  *     fldl2e
-# CHECK-NEXT:  1      100   0.25                  *     fldl2t
-# CHECK-NEXT:  1      100   0.25                  *     fldlg2
-# CHECK-NEXT:  1      100   0.25                  *     fldln2
-# CHECK-NEXT:  1      100   0.25                  *     fldpi
+# CHECK-NEXT:  2      1     1.00                  *     fldl2e
+# CHECK-NEXT:  2      1     1.00                  *     fldl2t
+# CHECK-NEXT:  2      1     1.00                  *     fldlg2
+# CHECK-NEXT:  2      1     1.00                  *     fldln2
+# CHECK-NEXT:  2      1     1.00                  *     fldpi
 # CHECK-NEXT:  1      1     0.50                  *     fldz
 # CHECK-NEXT:  1      5     1.00                  *     fmul	%st(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  *     fmul	%st(2)
@@ -369,7 +369,7 @@ fyl2xp1
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -     9.00   113.17 142.17 49.00  49.00  27.00  60.67  71.00  9.00
+# CHECK-NEXT:  -     9.00   116.92 145.92 49.00  49.00  27.00  59.42  69.75  9.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -449,11 +449,11 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.50   0.50   0.50   0.50    -      -      -      -     fldcw	(%eax)
 # CHECK-NEXT:  -      -     18.92  11.42  4.00   4.00    -     10.92  14.75   -     fldenv	(%eax)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fld1
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldl2e
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldl2t
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldlg2
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldln2
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldpi
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldl2e
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldl2t
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldlg2
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldln2
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldpi
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fldz
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-x87.s Thu May 31 07:22:01 2018
@@ -282,11 +282,11 @@ fyl2xp1
 # CHECK-NEXT:  1      5     1.00    *             *     fldcw	(%eax)
 # CHECK-NEXT:  1      100   0.50                  *     fldenv	(%eax)
 # CHECK-NEXT:  1      3     1.00                  *     fld1
-# CHECK-NEXT:  1      100   0.50                  *     fldl2e
-# CHECK-NEXT:  1      100   0.50                  *     fldl2t
-# CHECK-NEXT:  1      100   0.50                  *     fldlg2
-# CHECK-NEXT:  1      100   0.50                  *     fldln2
-# CHECK-NEXT:  1      100   0.50                  *     fldpi
+# CHECK-NEXT:  1      3     1.00                  *     fldl2e
+# CHECK-NEXT:  1      3     1.00                  *     fldl2t
+# CHECK-NEXT:  1      3     1.00                  *     fldlg2
+# CHECK-NEXT:  1      3     1.00                  *     fldln2
+# CHECK-NEXT:  1      3     1.00                  *     fldpi
 # CHECK-NEXT:  1      3     1.00                  *     fldz
 # CHECK-NEXT:  1      2     1.00                  *     fmul	%st(0), %st(1)
 # CHECK-NEXT:  1      2     1.00                  *     fmul	%st(2)
@@ -373,7 +373,7 @@ fyl2xp1
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]
-# CHECK-NEXT: 44.50  22.50   -     54.00  349.00 54.00  29.00  39.00   -     13.00  2.00    -      -      -
+# CHECK-NEXT: 42.00  20.00   -     54.00  349.00 54.00  34.00  39.00   -     13.00  7.00    -      -      -
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   Instructions:
@@ -453,11 +453,11 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00    -      -      -      -      -      -     fldcw	(%eax)
 # CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fldenv	(%eax)
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     fld1
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fldl2e
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fldl2t
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fldlg2
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fldln2
-# CHECK-NEXT: 0.50   0.50    -      -      -      -      -      -      -      -      -      -      -      -     fldpi
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     fldl2e
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     fldl2t
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     fldlg2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     fldln2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     fldpi
 # CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -     1.00    -      -      -     fldz
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmul	%st(0), %st(1)
 # CHECK-NEXT:  -      -      -      -     1.00    -     1.00    -      -      -      -      -      -      -     fmul	%st(2)

Modified: llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/Haswell/resources-x87.s Thu May 31 07:22:01 2018
@@ -282,11 +282,11 @@ fyl2xp1
 # CHECK-NEXT:  3      7     1.00    *             *     fldcw	(%eax)
 # CHECK-NEXT:  64     61    14.00                 *     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  *     fld1
-# CHECK-NEXT:  2      1     0.50                  *     fldl2e
-# CHECK-NEXT:  2      1     0.50                  *     fldl2t
-# CHECK-NEXT:  2      1     0.50                  *     fldlg2
-# CHECK-NEXT:  2      1     0.50                  *     fldln2
-# CHECK-NEXT:  2      1     0.50                  *     fldpi
+# CHECK-NEXT:  2      1     1.00                  *     fldl2e
+# CHECK-NEXT:  2      1     1.00                  *     fldl2t
+# CHECK-NEXT:  2      1     1.00                  *     fldlg2
+# CHECK-NEXT:  2      1     1.00                  *     fldln2
+# CHECK-NEXT:  2      1     1.00                  *     fldpi
 # CHECK-NEXT:  1      1     0.50                  *     fldz
 # CHECK-NEXT:  1      5     1.00                  *     fmul	%st(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  *     fmul	%st(2)
@@ -369,7 +369,7 @@ fyl2xp1
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -     17.00  118.92 142.92 49.00  49.00  27.00  56.92  65.25  9.00
+# CHECK-NEXT:  -     17.00  121.42 145.42 49.00  49.00  27.00  56.92  65.25  9.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -449,11 +449,11 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.50   0.50   0.50   0.50    -      -      -      -     fldcw	(%eax)
 # CHECK-NEXT:  -      -     18.92  11.42  4.00   4.00    -     10.92  14.75   -     fldenv	(%eax)
 # CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fld1
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fldl2e
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fldl2t
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fldlg2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fldln2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fldpi
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldl2e
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldl2t
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldlg2
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldln2
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -      -      -     fldpi
 # CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -     fldz
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SLM/resources-x87.s Thu May 31 07:22:01 2018
@@ -282,11 +282,11 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00    *             *     fldcw	(%eax)
 # CHECK-NEXT:  1      100   1.00                  *     fldenv	(%eax)
 # CHECK-NEXT:  1      1     0.50                  *     fld1
-# CHECK-NEXT:  1      100   1.00                  *     fldl2e
-# CHECK-NEXT:  1      100   1.00                  *     fldl2t
-# CHECK-NEXT:  1      100   1.00                  *     fldlg2
-# CHECK-NEXT:  1      100   1.00                  *     fldln2
-# CHECK-NEXT:  1      100   1.00                  *     fldpi
+# CHECK-NEXT:  2      1     1.00                  *     fldl2e
+# CHECK-NEXT:  2      1     1.00                  *     fldl2t
+# CHECK-NEXT:  2      1     1.00                  *     fldlg2
+# CHECK-NEXT:  2      1     1.00                  *     fldln2
+# CHECK-NEXT:  2      1     1.00                  *     fldpi
 # CHECK-NEXT:  1      1     0.50                  *     fldz
 # CHECK-NEXT:  1      5     2.00                  *     fmul	%st(0), %st(1)
 # CHECK-NEXT:  1      5     2.00                  *     fmul	%st(2)
@@ -367,7 +367,7 @@ fyl2xp1
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]
-# CHECK-NEXT:  -     312.00 16.00  65.00  56.00  9.50   9.50   52.00
+# CHECK-NEXT:  -     312.00 16.00  65.00  61.00  9.50   9.50   52.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    Instructions:
@@ -447,11 +447,11 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -      -      -      -     1.00   fldcw	(%eax)
 # CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fldenv	(%eax)
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fld1
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fldl2e
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fldl2t
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fldlg2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fldln2
-# CHECK-NEXT:  -      -      -     1.00    -      -      -      -     fldpi
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     fldl2e
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     fldl2t
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     fldlg2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     fldln2
+# CHECK-NEXT:  -      -      -     1.00   1.00    -      -      -     fldpi
 # CHECK-NEXT:  -      -      -     0.50   0.50    -      -      -     fldz
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmul	%st(0), %st(1)
 # CHECK-NEXT:  -      -     2.00   1.00    -      -      -      -     fmul	%st(2)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s Thu May 31 07:22:01 2018
@@ -282,11 +282,11 @@ fyl2xp1
 # CHECK-NEXT:  5      8     2.00    *             *     fldcw	(%eax)
 # CHECK-NEXT:  1      100   0.33                  *     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  *     fld1
-# CHECK-NEXT:  1      100   0.33                  *     fldl2e
-# CHECK-NEXT:  1      100   0.33                  *     fldl2t
-# CHECK-NEXT:  1      100   0.33                  *     fldlg2
-# CHECK-NEXT:  1      100   0.33                  *     fldln2
-# CHECK-NEXT:  1      100   0.33                  *     fldpi
+# CHECK-NEXT:  2      1     1.00                  *     fldl2e
+# CHECK-NEXT:  2      1     1.00                  *     fldl2t
+# CHECK-NEXT:  2      1     1.00                  *     fldlg2
+# CHECK-NEXT:  2      1     1.00                  *     fldln2
+# CHECK-NEXT:  2      1     1.00                  *     fldpi
 # CHECK-NEXT:  1      1     1.00                  *     fldz
 # CHECK-NEXT:  1      5     1.00                  *     fmul	%st(0), %st(1)
 # CHECK-NEXT:  1      5     1.00                  *     fmul	%st(2)
@@ -367,7 +367,7 @@ fyl2xp1
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]
-# CHECK-NEXT:  -     136.00 49.33  87.33  17.00  56.33  34.00  34.00
+# CHECK-NEXT:  -     136.00 52.67  90.67  17.00  54.67  34.00  34.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
@@ -447,11 +447,11 @@ fyl2xp1
 # CHECK-NEXT:  -      -      -      -     1.00   2.00   1.00   1.00   fldcw	(%eax)
 # CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fldenv	(%eax)
 # CHECK-NEXT:  -      -     1.00    -      -     1.00    -      -     fld1
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fldl2e
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fldl2t
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fldlg2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fldln2
-# CHECK-NEXT:  -      -     0.33   0.33    -     0.33    -      -     fldpi
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     fldl2e
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     fldl2t
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     fldlg2
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     fldln2
+# CHECK-NEXT:  -      -     1.00   1.00    -      -      -      -     fldpi
 # CHECK-NEXT:  -      -      -      -      -     1.00    -      -     fldz
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -     fmul	%st(2)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s Thu May 31 07:22:01 2018
@@ -282,11 +282,11 @@ fyl2xp1
 # CHECK-NEXT:  3      7     1.00    *             *     fldcw	(%eax)
 # CHECK-NEXT:  64     62    14.00                 *     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  *     fld1
-# CHECK-NEXT:  1      100   0.25                  *     fldl2e
-# CHECK-NEXT:  1      100   0.25                  *     fldl2t
-# CHECK-NEXT:  1      100   0.25                  *     fldlg2
-# CHECK-NEXT:  1      100   0.25                  *     fldln2
-# CHECK-NEXT:  1      100   0.25                  *     fldpi
+# CHECK-NEXT:  2      1     1.00                  *     fldl2e
+# CHECK-NEXT:  2      1     1.00                  *     fldl2t
+# CHECK-NEXT:  2      1     1.00                  *     fldlg2
+# CHECK-NEXT:  2      1     1.00                  *     fldln2
+# CHECK-NEXT:  2      1     1.00                  *     fldpi
 # CHECK-NEXT:  1      1     0.50                  *     fldz
 # CHECK-NEXT:  1      4     1.00                  *     fmul	%st(0), %st(1)
 # CHECK-NEXT:  1      4     1.00                  *     fmul	%st(2)
@@ -369,7 +369,7 @@ fyl2xp1
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -     7.00   123.00 53.50  49.00  49.00  27.00  146.00 70.50  9.00
+# CHECK-NEXT:  -     7.00   126.75 52.25  49.00  49.00  27.00  149.75 69.25  9.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -449,11 +449,11 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.50    -     0.50   0.50    -     0.50    -      -     fldcw	(%eax)
 # CHECK-NEXT:  -      -     19.25  9.75   4.00   4.00    -     12.25  14.75   -     fldenv	(%eax)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fld1
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldl2e
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldl2t
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldlg2
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldln2
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldpi
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldl2e
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldl2t
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldlg2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldln2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldpi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     fldz
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)

Modified: llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s?rev=333656&r1=333655&r2=333656&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s Thu May 31 07:22:01 2018
@@ -282,11 +282,11 @@ fyl2xp1
 # CHECK-NEXT:  3      7     1.00    *             *     fldcw	(%eax)
 # CHECK-NEXT:  64     62    14.00                 *     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  *     fld1
-# CHECK-NEXT:  1      100   0.25                  *     fldl2e
-# CHECK-NEXT:  1      100   0.25                  *     fldl2t
-# CHECK-NEXT:  1      100   0.25                  *     fldlg2
-# CHECK-NEXT:  1      100   0.25                  *     fldln2
-# CHECK-NEXT:  1      100   0.25                  *     fldpi
+# CHECK-NEXT:  2      1     1.00                  *     fldl2e
+# CHECK-NEXT:  2      1     1.00                  *     fldl2t
+# CHECK-NEXT:  2      1     1.00                  *     fldlg2
+# CHECK-NEXT:  2      1     1.00                  *     fldln2
+# CHECK-NEXT:  2      1     1.00                  *     fldpi
 # CHECK-NEXT:  1      1     0.50                  *     fldz
 # CHECK-NEXT:  1      4     1.00                  *     fmul	%st(0), %st(1)
 # CHECK-NEXT:  1      4     1.00                  *     fmul	%st(2)
@@ -369,7 +369,7 @@ fyl2xp1
 
 # CHECK:      Resource pressure per iteration:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]
-# CHECK-NEXT:  -     7.00   123.00 53.50  49.00  49.00  27.00  146.00 70.50  9.00
+# CHECK-NEXT:  -     7.00   126.75 52.25  49.00  49.00  27.00  149.75 69.25  9.00
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    Instructions:
@@ -449,11 +449,11 @@ fyl2xp1
 # CHECK-NEXT:  -      -     1.50    -     0.50   0.50    -     0.50    -      -     fldcw	(%eax)
 # CHECK-NEXT:  -      -     19.25  9.75   4.00   4.00    -     12.25  14.75   -     fldenv	(%eax)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fld1
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldl2e
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldl2t
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldlg2
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldln2
-# CHECK-NEXT:  -      -     0.25   0.25    -      -      -     0.25   0.25    -     fldpi
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldl2e
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldl2t
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldlg2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldln2
+# CHECK-NEXT:  -      -     1.00    -      -      -      -     1.00    -      -     fldpi
 # CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -     fldz
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(0), %st(1)
 # CHECK-NEXT:  -      -     1.00    -      -      -      -      -      -      -     fmul	%st(2)




More information about the llvm-commits mailing list