[llvm] 31c40f2 - [X86] Add mayLoad/mayStore flags to some X87 instructions that don't have isel patterns to infer them from.

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Tue Jun 23 23:41:16 PDT 2020


Author: Craig Topper
Date: 2020-06-23T23:40:30-07:00
New Revision: 31c40f2d6bcf5945da76cda70c088399adb1b3cb

URL: https://github.com/llvm/llvm-project/commit/31c40f2d6bcf5945da76cda70c088399adb1b3cb
DIFF: https://github.com/llvm/llvm-project/commit/31c40f2d6bcf5945da76cda70c088399adb1b3cb.diff

LOG: [X86] Add mayLoad/mayStore flags to some X87 instructions that don't have isel patterns to infer them from.

Should remove part of the differences in D81833 due to some
some of these getting isel patterns.

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86InstrFPStack.td
    llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
    llvm/test/tools/llvm-mca/X86/Barcelona/resources-x87.s
    llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
    llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
    llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
    llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s
    llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s
    llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s
    llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
    llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
    llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
    llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
    llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86InstrFPStack.td b/llvm/lib/Target/X86/X86InstrFPStack.td
index 4d007bd3090a..67dcb8d00ea5 100644
--- a/llvm/lib/Target/X86/X86InstrFPStack.td
+++ b/llvm/lib/Target/X86/X86InstrFPStack.td
@@ -375,7 +375,8 @@ def TST_F  : FPI<0xD9, MRM_E4, (outs), (ins), "ftst">;
 
 // Versions of FP instructions that take a single memory operand.  Added for the
 //   disassembler; remove as they are included with patterns elsewhere.
-let SchedRW = [WriteFComLd], Uses = [FPCW], mayRaiseFPException = 1 in {
+let SchedRW = [WriteFComLd], Uses = [FPCW], mayRaiseFPException = 1,
+    mayLoad = 1 in {
 def FCOM32m  : FPI<0xD8, MRM2m, (outs), (ins f32mem:$src), "fcom{s}\t$src">;
 def FCOMP32m : FPI<0xD8, MRM3m, (outs), (ins f32mem:$src), "fcomp{s}\t$src">;
 
@@ -390,21 +391,22 @@ def FICOMP32m: FPI<0xDA, MRM3m, (outs), (ins i32mem:$src), "ficomp{l}\t$src">;
 } // SchedRW
 
 let SchedRW = [WriteMicrocoded] in {
-let Defs = [FPSW, FPCW] in {
+let Defs = [FPSW, FPCW], mayLoad = 1 in {
 def FLDENVm  : FPI<0xD9, MRM4m, (outs), (ins f32mem:$src), "fldenv\t$src">;
 def FRSTORm  : FPI<0xDD, MRM4m, (outs), (ins f32mem:$dst), "frstor\t$dst">;
 }
 
-let Defs = [FPSW, FPCW], Uses = [FPSW, FPCW] in {
+let Defs = [FPSW, FPCW], Uses = [FPSW, FPCW], mayStore = 1 in {
 def FSTENVm  : FPI<0xD9, MRM6m, (outs), (ins f32mem:$dst), "fnstenv\t$dst">;
 def FSAVEm   : FPI<0xDD, MRM6m, (outs), (ins f32mem:$dst), "fnsave\t$dst">;
 }
 
-let Uses = [FPSW] in
+let Uses = [FPSW], mayStore = 1 in
 def FNSTSWm  : FPI<0xDD, MRM7m, (outs), (ins i16mem:$dst), "fnstsw\t$dst">;
 
+let mayLoad = 1 in
 def FBLDm    : FPI<0xDF, MRM4m, (outs), (ins f80mem:$src), "fbld\t$src">;
-let Uses = [FPCW] ,mayRaiseFPException = 1 in
+let Uses = [FPCW] ,mayRaiseFPException = 1, mayStore = 1 in
 def FBSTPm   : FPI<0xDF, MRM6m, (outs), (ins f80mem:$dst), "fbstp\t$dst">;
 } // SchedRW
 

diff  --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
index eda0fdebb7d3..6e173db78697 100644
--- a/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      5     5.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      5     5.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.50                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   0.50                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   0.50           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      25    12.50                 U     fnclex
 # CHECK-NEXT:  1      9     4.50                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      9     4.50                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      5     5.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      5     5.00                  U     fcom	%st(3)
-# CHECK-NEXT:  1      5     5.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  1      5     5.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  1      5     5.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  1      5     5.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      5     5.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      5     5.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  1      5     5.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  1      5     5.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  1      5     5.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  1      5     5.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcompp
 # CHECK-NEXT:  1      9     4.50                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  1      9     4.50                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  1      34    17.00   *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      34    17.00   *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     ffree	%st(0)
-# CHECK-NEXT:  1      5     5.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  1      5     5.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  1      5     5.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  1      5     5.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  1      5     5.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  1      5     5.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  1      5     5.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  1      5     5.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  1      5     5.00    *             U     filds	(%edx)
 # CHECK-NEXT:  1      5     5.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      4     2.00    *             U     fldt	(%eax)
 # CHECK-NEXT:  1      5     2.50    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     fldenv	(%eax)
 # CHECK-NEXT:  1      6     3.00                  U     fld1
 # CHECK-NEXT:  1      10    5.00                  U     fldl2e
 # CHECK-NEXT:  1      10    5.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      71    35.50                 U     fprem1
 # CHECK-NEXT:  1      168   84.00                 U     fptan
 # CHECK-NEXT:  1      46    23.00                 U     frndint
-# CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      77    38.50                 U     fscale
 # CHECK-NEXT:  1      174   87.00                 U     fsin
 # CHECK-NEXT:  1      174   87.00                 U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  1      2     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      5     2.50           *      U     fstpt	(%eax)
 # CHECK-NEXT:  1      8     4.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnstenv	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     wait
-# CHECK-NEXT:  1      100   0.50                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      5     5.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      5     5.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      5     5.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x87.s
index 1f3e51e58b33..715e62b3c25d 100644
--- a/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Barcelona/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.33                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   0.33                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   0.33           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.33                  U     fnclex
 # CHECK-NEXT:  3      3     2.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  3      3     2.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     fcompp
 # CHECK-NEXT:  3      3     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     ffree	%st(0)
-# CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      10    1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  3      9     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  3      9     1.00    *             U     fldt	(%eax)
 # CHECK-NEXT:  5      8     2.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  U     fld1
 # CHECK-NEXT:  2      1     1.00                  U     fldl2e
 # CHECK-NEXT:  2      1     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     fprem1
 # CHECK-NEXT:  1      100   0.33                  U     fptan
 # CHECK-NEXT:  1      100   0.33                  U     frndint
-# CHECK-NEXT:  1      100   0.33                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     fscale
 # CHECK-NEXT:  1      100   0.33                  U     fsin
 # CHECK-NEXT:  1      100   0.33                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  3      6     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  4      7     1.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fnstenv	(%eax)
-# CHECK-NEXT:  4      7     1.00                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  4      7     1.00           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     wait
-# CHECK-NEXT:  1      100   0.33                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
index f6bd8559508c..8c3d5a63d21c 100644
--- a/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/BdVer2/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      5     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      5     5.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      5     5.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.50                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   0.50                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   0.50           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     2.00                  U     fchs
 # CHECK-NEXT:  1      100   0.50                  U     fnclex
 # CHECK-NEXT:  1      1     1.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  2      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  2      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  1      6     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  1      6     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  1      6     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  1      6     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  2      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  2      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  1      6     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  1      6     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  1      6     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  1      6     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     fcompp
 # CHECK-NEXT:  2      1     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  2      1     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  1      9     9.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      9     9.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     ffree	%st(0)
-# CHECK-NEXT:  2      6     1.50                  U     ficoms	(%ecx)
-# CHECK-NEXT:  2      6     1.50                  U     ficoml	(%eax)
-# CHECK-NEXT:  2      6     1.50                  U     ficomps	(%ecx)
-# CHECK-NEXT:  2      6     1.50                  U     ficompl	(%eax)
+# CHECK-NEXT:  2      6     1.50    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  2      6     1.50    *             U     ficoml	(%eax)
+# CHECK-NEXT:  2      6     1.50    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  2      6     1.50    *             U     ficompl	(%eax)
 # CHECK-NEXT:  1      5     1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  1      5     1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  1      5     1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      5     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      5     1.00    *             U     fldt	(%eax)
 # CHECK-NEXT:  1      5     1.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     fldenv	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fld1
 # CHECK-NEXT:  1      3     1.00                  U     fldl2e
 # CHECK-NEXT:  1      3     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     fprem1
 # CHECK-NEXT:  1      100   0.50                  U     fptan
 # CHECK-NEXT:  1      100   0.50                  U     frndint
-# CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     fscale
 # CHECK-NEXT:  1      100   0.50                  U     fsin
 # CHECK-NEXT:  1      100   0.50                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  1      1     1.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnstenv	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     wait
-# CHECK-NEXT:  1      100   0.50                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      5     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      5     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      5     5.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
index 2f3a69da99d0..8c0d61ee209c 100644
--- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      12    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      12    2.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
-# CHECK-NEXT:  2      1     1.00                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     fbld	(%ecx)
+# CHECK-NEXT:  2      1     1.00           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  4      4     1.00                  U     fnclex
 # CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  2      7     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  2      7     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  2      7     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  2      7     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  2      7     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  2      7     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  2      7     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  2      7     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fcompp
 # CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  3      29    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      29    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
-# CHECK-NEXT:  3      10    2.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  3      10    2.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  3      10    2.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  3      10    2.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  3      10    2.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  3      10    2.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  3      10    2.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  3      10    2.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      9     1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      9     1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      9     1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      6     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      6     0.50    *             U     fldt	(%eax)
 # CHECK-NEXT:  3      7     1.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  64     60    14.00                 U     fldenv	(%eax)
+# CHECK-NEXT:  64     60    14.00   *             U     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  U     fld1
 # CHECK-NEXT:  2      1     1.00                  U     fldl2e
 # CHECK-NEXT:  2      1     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fprem1
 # CHECK-NEXT:  1      100   0.25                  U     fptan
 # CHECK-NEXT:  1      100   0.25                  U     frndint
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fscale
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  3      2     1.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  100    115   19.50                 U     fnstenv	(%eax)
-# CHECK-NEXT:  3      4     1.00                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
+# CHECK-NEXT:  100    115   19.50          *      U     fnstenv	(%eax)
+# CHECK-NEXT:  3      4     1.00           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
 # CHECK-NEXT:  2      2     0.50                  U     wait
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      9     1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
index f738be857c49..571db6861bb5 100644
--- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      8     1.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      8     1.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.50                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   0.50                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   0.50           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      2     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.50                  U     fnclex
 # CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  1      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  1      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  1      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  1      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  1      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  1      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  1      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  1      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     fcompp
 # CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  1      24    19.00   *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      24    19.00   *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     ffree	%st(0)
-# CHECK-NEXT:  1      8     1.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  1      8     1.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  1      8     1.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  1      8     1.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  1      8     1.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  1      8     1.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  1      8     1.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  1      8     1.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  1      3     1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  1      3     1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  1      3     1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      3     1.00    *             U     fldt	(%eax)
 # CHECK-NEXT:  1      3     1.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     fldenv	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fld1
 # CHECK-NEXT:  1      3     1.00                  U     fldl2e
 # CHECK-NEXT:  1      3     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.50                  U     fprem1
 # CHECK-NEXT:  1      100   0.50                  U     fptan
 # CHECK-NEXT:  1      100   0.50                  U     frndint
-# CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     fscale
 # CHECK-NEXT:  1      100   0.50                  U     fsin
 # CHECK-NEXT:  1      100   0.50                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  1      1     0.50           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnstenv	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.50                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.50    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      100   0.50                  U     wait
-# CHECK-NEXT:  1      100   0.50                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.50           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      8     1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s
index 1f3e51e58b33..715e62b3c25d 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.33                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   0.33                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   0.33           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.33                  U     fnclex
 # CHECK-NEXT:  3      3     2.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  3      3     2.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     fcompp
 # CHECK-NEXT:  3      3     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     ffree	%st(0)
-# CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      10    1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  3      9     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  3      9     1.00    *             U     fldt	(%eax)
 # CHECK-NEXT:  5      8     2.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  U     fld1
 # CHECK-NEXT:  2      1     1.00                  U     fldl2e
 # CHECK-NEXT:  2      1     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     fprem1
 # CHECK-NEXT:  1      100   0.33                  U     fptan
 # CHECK-NEXT:  1      100   0.33                  U     frndint
-# CHECK-NEXT:  1      100   0.33                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     fscale
 # CHECK-NEXT:  1      100   0.33                  U     fsin
 # CHECK-NEXT:  1      100   0.33                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  3      6     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  4      7     1.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fnstenv	(%eax)
-# CHECK-NEXT:  4      7     1.00                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  4      7     1.00           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     wait
-# CHECK-NEXT:  1      100   0.33                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s
index 7da8b2802a9a..869d52304faf 100644
--- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  43     47    10.75                 U     fbld	(%ecx)
-# CHECK-NEXT:  2      1     1.00                  U     fbstp	(%eax)
+# CHECK-NEXT:  43     47    10.75   *             U     fbld	(%ecx)
+# CHECK-NEXT:  2      1     1.00           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  4      4     1.00                  U     fnclex
 # CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  2      1     0.50                  U     fcompp
 # CHECK-NEXT:  3      1     0.50                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  3      1     0.50                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     ffree	%st(0)
-# CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      10    1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      7     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldt	(%eax)
 # CHECK-NEXT:  3      7     1.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  64     61    14.00                 U     fldenv	(%eax)
+# CHECK-NEXT:  64     61    14.00   *             U     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  U     fld1
 # CHECK-NEXT:  2      1     1.00                  U     fldl2e
 # CHECK-NEXT:  2      1     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  41     27    10.25                 U     fprem1
 # CHECK-NEXT:  1      100   0.25                  U     fptan
 # CHECK-NEXT:  17     11    4.25                  U     frndint
-# CHECK-NEXT:  90     1     22.50                 U     frstor	(%eax)
-# CHECK-NEXT:  147    1     36.75                 U     fnsave	(%eax)
+# CHECK-NEXT:  90     1     22.50   *             U     frstor	(%eax)
+# CHECK-NEXT:  147    1     36.75          *      U     fnsave	(%eax)
 # CHECK-NEXT:  50     75    12.50                 U     fscale
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  3      2     1.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  100    115   19.50                 U     fnstenv	(%eax)
-# CHECK-NEXT:  3      4     1.00                  U     fnstsw	(%eax)
-# CHECK-NEXT:  90     1     22.50                 U     frstor	(%eax)
+# CHECK-NEXT:  100    115   19.50          *      U     fnstenv	(%eax)
+# CHECK-NEXT:  3      4     1.00           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  90     1     22.50   *             U     frstor	(%eax)
 # CHECK-NEXT:  2      2     0.50                  U     wait
-# CHECK-NEXT:  147    1     36.75                 U     fnsave	(%eax)
+# CHECK-NEXT:  147    1     36.75          *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s
index d6d42e957bfe..4531d50e1df0 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      6     1.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      6     1.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   1.00                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   1.00                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   1.00    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   1.00           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fchs
 # CHECK-NEXT:  1      100   1.00                  U     fnclex
 # CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  1      6     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  1      6     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  1      6     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  1      6     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  1      6     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  1      6     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  1      6     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  1      6     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   1.00                  U     fcompp
 # CHECK-NEXT:  1      3     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  1      3     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  1      22    17.00   *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      22    17.00   *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   1.00                  U     ffree	%st(0)
-# CHECK-NEXT:  1      6     1.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  1      6     1.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  1      6     1.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  1      6     1.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  1      6     1.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  1      6     1.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  1      6     1.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  1      6     1.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  1      3     1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  1      3     1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  1      3     1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      3     1.00    *             U     fldt	(%eax)
 # CHECK-NEXT:  1      3     1.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   1.00                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   1.00    *             U     fldenv	(%eax)
 # CHECK-NEXT:  1      1     0.50                  U     fld1
 # CHECK-NEXT:  2      1     1.00                  U     fldl2e
 # CHECK-NEXT:  2      1     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   1.00                  U     fprem1
 # CHECK-NEXT:  1      100   1.00                  U     fptan
 # CHECK-NEXT:  1      100   1.00                  U     frndint
-# CHECK-NEXT:  1      100   1.00                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   1.00                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   1.00    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   1.00           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   1.00                  U     fscale
 # CHECK-NEXT:  1      100   1.00                  U     fsin
 # CHECK-NEXT:  1      100   1.00                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  1      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      1     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  1      1     0.50           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   1.00                  U     fnstenv	(%eax)
-# CHECK-NEXT:  1      100   1.00                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   1.00                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   1.00           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  1      100   1.00           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   1.00    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      100   1.00                  U     wait
-# CHECK-NEXT:  1      100   1.00                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   1.00           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      6     1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
index 1bed53326ced..b90d0cb5c6bd 100644
--- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.33                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   0.33                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   0.33           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.33                  U     fnclex
 # CHECK-NEXT:  3      3     2.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  3      3     2.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     fcompp
 # CHECK-NEXT:  3      3     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  3      3     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      34    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     ffree	%st(0)
-# CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      10    1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  3      9     1.00    *             U     fldl	(%ecx)
 # CHECK-NEXT:  3      9     1.00    *             U     fldt	(%eax)
 # CHECK-NEXT:  5      8     2.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  U     fld1
 # CHECK-NEXT:  2      1     1.00                  U     fldl2e
 # CHECK-NEXT:  2      1     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.33                  U     fprem1
 # CHECK-NEXT:  1      100   0.33                  U     fptan
 # CHECK-NEXT:  1      100   0.33                  U     frndint
-# CHECK-NEXT:  1      100   0.33                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     fscale
 # CHECK-NEXT:  1      100   0.33                  U     fsin
 # CHECK-NEXT:  1      100   0.33                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  3      6     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  3      6     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  4      7     1.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     fnstenv	(%eax)
-# CHECK-NEXT:  4      7     1.00                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.33                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  4      7     1.00           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.33    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      100   0.33                  U     wait
-# CHECK-NEXT:  1      100   0.33                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.33           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
index 6cd4439a25c1..93ed46fe309a 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
-# CHECK-NEXT:  2      1     1.00                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     fbld	(%ecx)
+# CHECK-NEXT:  2      1     1.00           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  4      4     1.00                  U     fnclex
 # CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fcompp
 # CHECK-NEXT:  1      2     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
-# CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      10    1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      7     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldt	(%eax)
 # CHECK-NEXT:  3      7     1.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  64     62    14.00                 U     fldenv	(%eax)
+# CHECK-NEXT:  64     62    14.00   *             U     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  U     fld1
 # CHECK-NEXT:  2      1     1.00                  U     fldl2e
 # CHECK-NEXT:  2      1     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fprem1
 # CHECK-NEXT:  1      100   0.25                  U     fptan
 # CHECK-NEXT:  1      100   0.25                  U     frndint
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fscale
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  3      2     1.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  100    106   19.50                 U     fnstenv	(%eax)
-# CHECK-NEXT:  3      3     1.00                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
+# CHECK-NEXT:  100    106   19.50          *      U     fnstenv	(%eax)
+# CHECK-NEXT:  3      3     1.00           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
 # CHECK-NEXT:  2      2     0.50                  U     wait
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
index 75cca5297704..af5e5f2d567f 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  3      13    2.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  3      13    2.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
-# CHECK-NEXT:  2      1     1.00                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     fbld	(%ecx)
+# CHECK-NEXT:  2      1     1.00           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  4      4     1.00                  U     fnclex
 # CHECK-NEXT:  1      3     1.00                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  2      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  2      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  2      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  2      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fcompp
 # CHECK-NEXT:  1      2     1.00                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  1      2     1.00                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  3      30    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     ffree	%st(0)
-# CHECK-NEXT:  3      11    2.00                  U     ficoms	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficoml	(%eax)
-# CHECK-NEXT:  3      11    2.00                  U     ficomps	(%ecx)
-# CHECK-NEXT:  3      11    2.00                  U     ficompl	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficoml	(%eax)
+# CHECK-NEXT:  3      11    2.00    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  3      11    2.00    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      10    1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      10    1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      7     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  1      7     0.50    *             U     fldt	(%eax)
 # CHECK-NEXT:  3      7     1.00    *             U     fldcw	(%eax)
-# CHECK-NEXT:  64     62    14.00                 U     fldenv	(%eax)
+# CHECK-NEXT:  64     62    14.00   *             U     fldenv	(%eax)
 # CHECK-NEXT:  2      1     1.00                  U     fld1
 # CHECK-NEXT:  2      1     1.00                  U     fldl2e
 # CHECK-NEXT:  2      1     1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fprem1
 # CHECK-NEXT:  1      100   0.25                  U     fptan
 # CHECK-NEXT:  1      100   0.25                  U     frndint
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fscale
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  2      1     1.00           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  2      1     1.00           *      U     fstpt	(%eax)
 # CHECK-NEXT:  3      2     1.00           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  100    106   19.50                 U     fnstenv	(%eax)
-# CHECK-NEXT:  3      3     1.00                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
+# CHECK-NEXT:  100    106   19.50          *      U     fnstenv	(%eax)
+# CHECK-NEXT:  3      3     1.00           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
 # CHECK-NEXT:  2      2     0.50                  U     wait
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  2      10    1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
index 030b71fb7b63..0f7807eb3e79 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   0.25                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   0.25           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.25                  U     fnclex
 # CHECK-NEXT:  1      100   0.25                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  1      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  1      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  1      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  1      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  1      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  1      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  1      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  1      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcompp
 # CHECK-NEXT:  1      9     0.50                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  1      9     0.50                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  1      22    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      22    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      11    1.00                  U     ffree	%st(0)
-# CHECK-NEXT:  2      12    1.50                  U     ficoms	(%ecx)
-# CHECK-NEXT:  2      12    1.50                  U     ficoml	(%eax)
-# CHECK-NEXT:  2      12    1.50                  U     ficomps	(%ecx)
-# CHECK-NEXT:  2      12    1.50                  U     ficompl	(%eax)
+# CHECK-NEXT:  2      12    1.50    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  2      12    1.50    *             U     ficoml	(%eax)
+# CHECK-NEXT:  2      12    1.50    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  2      12    1.50    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      11    1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      11    1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      11    1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      8     0.50    *             U     fldl	(%ecx)
 # CHECK-NEXT:  2      1     0.50    *             U     fldt	(%eax)
 # CHECK-NEXT:  1      100   0.25    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     fldenv	(%eax)
 # CHECK-NEXT:  1      11    1.00                  U     fld1
 # CHECK-NEXT:  1      11    1.00                  U     fldl2e
 # CHECK-NEXT:  1      11    1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fprem1
 # CHECK-NEXT:  1      100   0.25                  U     fptan
 # CHECK-NEXT:  1      100   0.25                  U     frndint
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fscale
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  1      1     0.50           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      5     0.50           *      U     fstpt	(%eax)
 # CHECK-NEXT:  1      100   0.25           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnstenv	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     wait
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fsubs	(%ecx)

diff  --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s
index 1e43a999c3ad..55e646c79275 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s
@@ -216,8 +216,8 @@ fyl2xp1
 # CHECK-NEXT:  1      3     1.00                  U     faddp	%st, %st(2)
 # CHECK-NEXT:  1      10    1.00    *             U     fiadds	(%ecx)
 # CHECK-NEXT:  1      10    1.00    *             U     fiaddl	(%ecx)
-# CHECK-NEXT:  1      100   0.25                  U     fbld	(%ecx)
-# CHECK-NEXT:  1      100   0.25                  U     fbstp	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     fbld	(%ecx)
+# CHECK-NEXT:  1      100   0.25           *      U     fbstp	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fchs
 # CHECK-NEXT:  1      100   0.25                  U     fnclex
 # CHECK-NEXT:  1      100   0.25                  U     fcmovb	%st(1), %st
@@ -230,12 +230,12 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fcmovu	%st(1), %st
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcom	%st(3)
-# CHECK-NEXT:  1      8     1.00                  U     fcoms	(%ecx)
-# CHECK-NEXT:  1      8     1.00                  U     fcoml	(%eax)
+# CHECK-NEXT:  1      8     1.00    *             U     fcoms	(%ecx)
+# CHECK-NEXT:  1      8     1.00    *             U     fcoml	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(1)
 # CHECK-NEXT:  1      1     1.00                  U     fcomp	%st(3)
-# CHECK-NEXT:  1      8     1.00                  U     fcomps	(%ecx)
-# CHECK-NEXT:  1      8     1.00                  U     fcompl	(%eax)
+# CHECK-NEXT:  1      8     1.00    *             U     fcomps	(%ecx)
+# CHECK-NEXT:  1      8     1.00    *             U     fcompl	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     fcompp
 # CHECK-NEXT:  1      9     0.50                  U     fcomi	%st(3), %st
 # CHECK-NEXT:  1      9     0.50                  U     fcompi	%st(3), %st
@@ -258,10 +258,10 @@ fyl2xp1
 # CHECK-NEXT:  1      22    1.00    *             U     fidivrs	(%ecx)
 # CHECK-NEXT:  1      22    1.00    *             U     fidivrl	(%eax)
 # CHECK-NEXT:  1      11    1.00                  U     ffree	%st(0)
-# CHECK-NEXT:  2      12    1.50                  U     ficoms	(%ecx)
-# CHECK-NEXT:  2      12    1.50                  U     ficoml	(%eax)
-# CHECK-NEXT:  2      12    1.50                  U     ficomps	(%ecx)
-# CHECK-NEXT:  2      12    1.50                  U     ficompl	(%eax)
+# CHECK-NEXT:  2      12    1.50    *             U     ficoms	(%ecx)
+# CHECK-NEXT:  2      12    1.50    *             U     ficoml	(%eax)
+# CHECK-NEXT:  2      12    1.50    *             U     ficomps	(%ecx)
+# CHECK-NEXT:  2      12    1.50    *             U     ficompl	(%eax)
 # CHECK-NEXT:  2      11    1.00    *             U     filds	(%edx)
 # CHECK-NEXT:  2      11    1.00    *             U     fildl	(%ecx)
 # CHECK-NEXT:  2      11    1.00    *             U     fildll	(%eax)
@@ -280,7 +280,7 @@ fyl2xp1
 # CHECK-NEXT:  1      8     0.33    *             U     fldl	(%ecx)
 # CHECK-NEXT:  2      1     0.50    *             U     fldt	(%eax)
 # CHECK-NEXT:  1      100   0.25    *             U     fldcw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fldenv	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     fldenv	(%eax)
 # CHECK-NEXT:  1      11    1.00                  U     fld1
 # CHECK-NEXT:  1      11    1.00                  U     fldl2e
 # CHECK-NEXT:  1      11    1.00                  U     fldl2t
@@ -302,8 +302,8 @@ fyl2xp1
 # CHECK-NEXT:  1      100   0.25                  U     fprem1
 # CHECK-NEXT:  1      100   0.25                  U     fptan
 # CHECK-NEXT:  1      100   0.25                  U     frndint
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      100   0.25                  U     fscale
 # CHECK-NEXT:  1      100   0.25                  U     fsin
 # CHECK-NEXT:  1      100   0.25                  U     fsincos
@@ -316,11 +316,11 @@ fyl2xp1
 # CHECK-NEXT:  1      1     0.33           *      U     fstpl	(%ecx)
 # CHECK-NEXT:  1      5     0.50           *      U     fstpt	(%eax)
 # CHECK-NEXT:  1      100   0.25           *      U     fnstcw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnstenv	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     fnstsw	(%eax)
-# CHECK-NEXT:  1      100   0.25                  U     frstor	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnstenv	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnstsw	(%eax)
+# CHECK-NEXT:  1      100   0.25    *             U     frstor	(%eax)
 # CHECK-NEXT:  1      1     1.00                  U     wait
-# CHECK-NEXT:  1      100   0.25                  U     fnsave	(%eax)
+# CHECK-NEXT:  1      100   0.25           *      U     fnsave	(%eax)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st, %st(1)
 # CHECK-NEXT:  1      3     1.00                  U     fsub	%st(2), %st
 # CHECK-NEXT:  1      10    1.00    *             U     fsubs	(%ecx)


        


More information about the llvm-commits mailing list