[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