summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2018-07-11 12:44:44 +0000
committerAndrea Di Biagio <Andrea_DiBiagio@sn.scee.net>2018-07-11 12:44:44 +0000
commit483861bc32381cb649c6d9be416bd23798586ad6 (patch)
tree4e925b2c21e8bd2d209b42ae2cc87ac8821e8bbd
parent6c02a48ba4f910dab9a58d3fa6d4855bae5f335d (diff)
[llvm-mca] Use a different character to flag instructions with side-effects in the Instruction Info View. NFC
This makes easier to identify changes in the instruction info flags. It also helps spotting potential regressions similar to the one recently introduced at r336728. Using the same character to mark MayLoad/MayStore/HasSideEffects is problematic for llvm-lit. When pattern matching substrings, llvm-lit consumes tabs and spaces. A change in position of the flag marker may not trigger a test failure. This patch only changes the character used for flag `hasSideEffects`. The reason why I didn't touch other flags is because I want to avoid spamming the mailing because of the massive diff due to the numerous tests affected by this change. In future, each instruction flag should be associated with a different character in the Instruction Info View. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@336797 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s2
-rw-r--r--test/tools/llvm-mca/AArch64/Exynos/direct-branch.s2
-rw-r--r--test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s2
-rw-r--r--test/tools/llvm-mca/X86/Atom/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/Atom/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/Atom/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/Atom/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/Atom/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Atom/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Atom/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/Atom/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-adx.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-avx1.s14
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-avx2.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-f16c.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-fma.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/Broadwell/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/add-sequence.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/dot-product.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/load-store-alias.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/one-idioms.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/partial-reg-update-5.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/pr37790.s6
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/read-advance-1.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/read-advance-2.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/read-advance-3.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/register-files-3.s4
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/register-files-4.s4
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-aes.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-avx1.s14
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-clmul.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-f16c.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/simple-test.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s2
-rw-r--r--test/tools/llvm-mca/X86/BtVer2/zero-idioms.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-3dnow.s4
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-adx.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-aes.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-avx1.s14
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-avx2.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-avx512.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-avx512vl.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-bmi1.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-bmi2.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-f16c.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-fma.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-fma4.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-lzcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-sse4a.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-tbm.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/Generic/resources-xop.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s2
-rw-r--r--test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-avx1.s14
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-avx2.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-bmi1.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-bmi2.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-f16c.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-fma.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/Haswell/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/SLM/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-aes.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s14
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/SandyBridge/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-adx.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s14
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-adx.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s14
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s298
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-adx.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-avx1.s14
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-avx2.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-bmi1.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-bmi2.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-cmov.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-f16c.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-fma.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-mmx.s6
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-popcnt.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-sse1.s14
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-sse2.s8
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-sse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-sse41.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-sse42.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-sse4a.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-ssse3.s2
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-x86_64.s36
-rw-r--r--test/tools/llvm-mca/X86/Znver1/resources-x87.s298
-rw-r--r--tools/llvm-mca/InstructionInfoView.cpp4
213 files changed, 2027 insertions, 2027 deletions
diff --git a/test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s b/test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s
index 51632e68363..48c475e3fba 100644
--- a/test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s
+++ b/test/tools/llvm-mca/AArch64/CortexA57/direct-branch.s
@@ -16,7 +16,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 1.00 b t
diff --git a/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s b/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
index c35ddabea0e..e6d2f85026b 100644
--- a/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
+++ b/test/tools/llvm-mca/AArch64/Exynos/direct-branch.s
@@ -23,7 +23,7 @@
# ALL-NEXT: [3]: RThroughput
# ALL-NEXT: [4]: MayLoad
# ALL-NEXT: [5]: MayStore
-# ALL-NEXT: [6]: HasSideEffects
+# ALL-NEXT: [6]: HasSideEffects (U)
# ALL: [1] [2] [3] [4] [5] [6] Instructions:
diff --git a/test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s b/test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s
index 57dc9c194ea..603cd52d043 100644
--- a/test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s
+++ b/test/tools/llvm-mca/AArch64/Falkor/zero-latency-store.s
@@ -16,7 +16,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 0 1.00 * stp d0, d1, [x0]
diff --git a/test/tools/llvm-mca/X86/Atom/resources-cmov.s b/test/tools/llvm-mca/X86/Atom/resources-cmov.s
index 71d9ff3da52..b5e6d861864 100644
--- a/test/tools/llvm-mca/X86/Atom/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/Atom/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/Atom/resources-mmx.s b/test/tools/llvm-mca/X86/Atom/resources-mmx.s
index f89fdcd50a5..6610a8ca007 100644
--- a/test/tools/llvm-mca/X86/Atom/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/Atom/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 5 2.50 * * * emms
+# CHECK-NEXT: 1 5 2.50 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 1 1.00 * movd (%rax), %mm2
# CHECK-NEXT: 1 3 3.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 1 1.00 * movq (%rax), %mm2
# CHECK-NEXT: 1 3 3.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/Atom/resources-sse1.s b/test/tools/llvm-mca/X86/Atom/resources-sse1.s
index 6c1738dfdd3..e5fa0285272 100644
--- a/test/tools/llvm-mca/X86/Atom/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/Atom/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 5.00 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 70 35.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 34 17.00 divss %xmm0, %xmm2
# CHECK-NEXT: 1 34 17.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 1 5 2.50 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 1 5 2.50 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 5 5.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 1 5 5.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 5 5.00 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 1 1 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 3 3.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 1 1.00 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 10 5.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 4 4.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 4 4.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 70 35.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 1 70 35.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 34 17.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 34 17.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 15 7.50 * * * stmxcsr (%rax)
+# CHECK-NEXT: 1 15 7.50 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 5 5.00 subps %xmm0, %xmm2
# CHECK-NEXT: 1 5 5.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 5 5.00 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Atom/resources-sse2.s b/test/tools/llvm-mca/X86/Atom/resources-sse2.s
index cb657eef948..e1e903943ec 100644
--- a/test/tools/llvm-mca/X86/Atom/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/Atom/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 6 3.00 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 6 3.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 7 3.50 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 5 5.00 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 125 62.50 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 62 31.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 1 62 31.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.50 * * * lfence
-# CHECK-NEXT: 1 2 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 0.50 * * U lfence
+# CHECK-NEXT: 1 2 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 6 3.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 1 7 3.50 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 5 5.00 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Atom/resources-sse3.s b/test/tools/llvm-mca/X86/Atom/resources-sse3.s
index cc32e00cec5..8ecbbba79d7 100644
--- a/test/tools/llvm-mca/X86/Atom/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/Atom/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 6 3.00 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Atom/resources-ssse3.s b/test/tools/llvm-mca/X86/Atom/resources-ssse3.s
index fb5e25b74c0..b8da0703545 100644
--- a/test/tools/llvm-mca/X86/Atom/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/Atom/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/Atom/resources-x86_64.s b/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
index 6177796588b..5f991656093 100644
--- a/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 2 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 1 2 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 1 2 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.50 * clc
+# CHECK-NEXT: 1 1 0.50 U clc
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 1 1 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 1 1 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 50 25.00 * divb %dil
-# CHECK-NEXT: 1 68 34.00 * * divb (%rax)
-# CHECK-NEXT: 1 50 25.00 * divw %si
-# CHECK-NEXT: 1 50 25.00 * * divw (%rax)
-# CHECK-NEXT: 1 50 25.00 * divl %edx
-# CHECK-NEXT: 1 50 25.00 * * divl (%rax)
-# CHECK-NEXT: 1 130 65.00 * divq %rcx
-# CHECK-NEXT: 1 130 65.00 * * divq (%rax)
-# CHECK-NEXT: 1 62 31.00 * idivb %dil
-# CHECK-NEXT: 1 62 31.00 * * idivb (%rax)
-# CHECK-NEXT: 1 62 31.00 * idivw %si
-# CHECK-NEXT: 1 62 31.00 * * idivw (%rax)
-# CHECK-NEXT: 1 62 31.00 * idivl %edx
-# CHECK-NEXT: 1 62 31.00 * * idivl (%rax)
-# CHECK-NEXT: 1 130 65.00 * idivq %rcx
-# CHECK-NEXT: 1 130 65.00 * * idivq (%rax)
+# CHECK-NEXT: 1 50 25.00 U divb %dil
+# CHECK-NEXT: 1 68 34.00 * U divb (%rax)
+# CHECK-NEXT: 1 50 25.00 U divw %si
+# CHECK-NEXT: 1 50 25.00 * U divw (%rax)
+# CHECK-NEXT: 1 50 25.00 U divl %edx
+# CHECK-NEXT: 1 50 25.00 * U divl (%rax)
+# CHECK-NEXT: 1 130 65.00 U divq %rcx
+# CHECK-NEXT: 1 130 65.00 * U divq (%rax)
+# CHECK-NEXT: 1 62 31.00 U idivb %dil
+# CHECK-NEXT: 1 62 31.00 * U idivb (%rax)
+# CHECK-NEXT: 1 62 31.00 U idivw %si
+# CHECK-NEXT: 1 62 31.00 * U idivw (%rax)
+# CHECK-NEXT: 1 62 31.00 U idivl %edx
+# CHECK-NEXT: 1 62 31.00 * U idivl (%rax)
+# CHECK-NEXT: 1 130 65.00 U idivq %rcx
+# CHECK-NEXT: 1 130 65.00 * U idivq (%rax)
# CHECK-NEXT: 1 7 3.50 imulb %dil
# CHECK-NEXT: 1 7 3.50 * imulb (%rax)
# CHECK-NEXT: 1 7 3.50 imulw %di
diff --git a/test/tools/llvm-mca/X86/Atom/resources-x87.s b/test/tools/llvm-mca/X86/Atom/resources-x87.s
index ae8b5426aa2..c7a990a892e 100644
--- a/test/tools/llvm-mca/X86/Atom/resources-x87.s
+++ b/test/tools/llvm-mca/X86/Atom/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 99 49.50 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 5 5.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 5 5.00 * fadd %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fadds (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 5 5.00 * faddp %st(1)
-# CHECK-NEXT: 1 5 5.00 * faddp %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fiadds (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.50 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.50 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 1 25 12.50 * fnclex
-# CHECK-NEXT: 1 9 4.50 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 9 4.50 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 5 5.00 * fcom %st(1)
-# CHECK-NEXT: 1 5 5.00 * fcom %st(3)
-# CHECK-NEXT: 1 5 5.00 * fcoms (%ecx)
-# CHECK-NEXT: 1 5 5.00 * fcoml (%eax)
-# CHECK-NEXT: 1 5 5.00 * fcomp %st(1)
-# CHECK-NEXT: 1 5 5.00 * fcomp %st(3)
-# CHECK-NEXT: 1 5 5.00 * fcomps (%ecx)
-# CHECK-NEXT: 1 5 5.00 * fcompl (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcompp
-# CHECK-NEXT: 1 9 4.50 * fcomi %st(3)
-# CHECK-NEXT: 1 9 4.50 * fcompi %st(3)
-# CHECK-NEXT: 1 174 87.00 * fcos
-# CHECK-NEXT: 1 1 0.50 * fdecstp
-# CHECK-NEXT: 1 34 17.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 34 17.00 * fdiv %st(2)
-# CHECK-NEXT: 1 34 17.00 * * fdivs (%ecx)
-# CHECK-NEXT: 1 34 17.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 34 17.00 * fdivp %st(1)
-# CHECK-NEXT: 1 34 17.00 * fdivp %st(2)
-# CHECK-NEXT: 1 34 17.00 * * fidivs (%ecx)
-# CHECK-NEXT: 1 34 17.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 34 17.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 34 17.00 * fdivr %st(2)
-# CHECK-NEXT: 1 34 17.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 1 34 17.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 34 17.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 34 17.00 * fdivrp %st(2)
-# CHECK-NEXT: 1 34 17.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 1 34 17.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 1 0.50 * ffree %st(0)
-# CHECK-NEXT: 1 5 5.00 * ficoms (%ecx)
-# CHECK-NEXT: 1 5 5.00 * ficoml (%eax)
-# CHECK-NEXT: 1 5 5.00 * ficomps (%ecx)
-# CHECK-NEXT: 1 5 5.00 * ficompl (%eax)
-# CHECK-NEXT: 1 5 5.00 * * filds (%edx)
-# CHECK-NEXT: 1 5 5.00 * * fildl (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 1 63 31.50 * fninit
-# CHECK-NEXT: 1 6 3.00 * * fists (%edx)
-# CHECK-NEXT: 1 6 3.00 * * fistl (%ecx)
-# CHECK-NEXT: 1 6 3.00 * * fistps (%edx)
-# CHECK-NEXT: 1 6 3.00 * * fistpl (%ecx)
-# CHECK-NEXT: 1 6 3.00 * * fistpll (%eax)
-# CHECK-NEXT: 1 2 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 1 2 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 1 2 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fld %st(0)
-# CHECK-NEXT: 1 1 1.00 * * flds (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 1 4 2.00 * * fldt (%eax)
-# CHECK-NEXT: 1 5 2.50 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.50 * fldenv (%eax)
-# CHECK-NEXT: 1 6 3.00 * fld1
-# CHECK-NEXT: 1 10 5.00 * fldl2e
-# CHECK-NEXT: 1 10 5.00 * fldl2t
-# CHECK-NEXT: 1 10 5.00 * fldlg2
-# CHECK-NEXT: 1 10 5.00 * fldln2
-# CHECK-NEXT: 1 10 5.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 4 4.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 4 4.00 * fmul %st(2)
-# CHECK-NEXT: 1 4 4.00 * * fmuls (%ecx)
-# CHECK-NEXT: 1 4 4.00 * * fmull (%eax)
-# CHECK-NEXT: 1 4 4.00 * fmulp %st(1)
-# CHECK-NEXT: 1 4 4.00 * fmulp %st(2)
-# CHECK-NEXT: 1 4 4.00 * * fimuls (%ecx)
-# CHECK-NEXT: 1 4 4.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 183 91.50 * fpatan
-# CHECK-NEXT: 1 55 27.50 * fprem
-# CHECK-NEXT: 1 71 35.50 * fprem1
-# CHECK-NEXT: 1 168 84.00 * fptan
-# CHECK-NEXT: 1 46 23.00 * frndint
-# CHECK-NEXT: 1 100 0.50 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnsave (%eax)
-# CHECK-NEXT: 1 77 38.50 * fscale
-# CHECK-NEXT: 1 174 87.00 * fsin
-# CHECK-NEXT: 1 174 87.00 * fsincos
-# CHECK-NEXT: 1 71 35.50 * fsqrt
-# CHECK-NEXT: 1 2 1.00 * fst %st(0)
-# CHECK-NEXT: 1 2 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 2 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 2 1.00 * fstp %st(0)
-# CHECK-NEXT: 1 2 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 1 2 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 1 5 2.50 * * fstpt (%eax)
-# CHECK-NEXT: 1 8 4.00 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnstenv (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.50 * frstor (%eax)
-# CHECK-NEXT: 1 1 0.50 * wait
-# CHECK-NEXT: 1 100 0.50 * fnsave (%eax)
-# CHECK-NEXT: 1 5 5.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 5 5.00 * fsub %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fsubs (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 5 5.00 * fsubp %st(1)
-# CHECK-NEXT: 1 5 5.00 * fsubp %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fisubs (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 5 5.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 5 5.00 * fsubr %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 5 5.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 5 5.00 * fsubrp %st(2)
-# CHECK-NEXT: 1 5 5.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 1 5 5.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 9 4.50 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucompp
-# CHECK-NEXT: 1 9 4.50 * fucomi %st(3)
-# CHECK-NEXT: 1 9 4.50 * fucompi %st(3)
-# CHECK-NEXT: 1 1 0.50 * wait
-# CHECK-NEXT: 1 1 1.00 * fxam
-# CHECK-NEXT: 1 1 1.00 * fxch %st(1)
-# CHECK-NEXT: 1 1 1.00 * fxch %st(3)
-# CHECK-NEXT: 1 141 70.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 140 70.00 * * * fxsave (%eax)
-# CHECK-NEXT: 1 25 12.50 * fxtract
-# CHECK-NEXT: 1 146 73.00 * fyl2x
-# CHECK-NEXT: 1 147 73.50 * fyl2xp1
+# CHECK-NEXT: 1 99 49.50 U f2xm1
+# CHECK-NEXT: 1 1 1.00 U fabs
+# CHECK-NEXT: 1 5 5.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 5 5.00 U fadd %st(2)
+# CHECK-NEXT: 1 5 5.00 * U fadds (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 5 5.00 U faddp %st(1)
+# CHECK-NEXT: 1 5 5.00 U faddp %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 1 1.00 U fchs
+# CHECK-NEXT: 1 25 12.50 U fnclex
+# CHECK-NEXT: 1 9 4.50 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 1 9 4.50 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 1 9 4.50 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 1 9 4.50 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 1 9 4.50 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 1 9 4.50 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 1 9 4.50 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 1 9 4.50 U fcmovu %st(1), %st(0)
+# 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 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 1 1.00 U fcompp
+# CHECK-NEXT: 1 9 4.50 U fcomi %st(3)
+# CHECK-NEXT: 1 9 4.50 U fcompi %st(3)
+# CHECK-NEXT: 1 174 87.00 U fcos
+# CHECK-NEXT: 1 1 0.50 U fdecstp
+# CHECK-NEXT: 1 34 17.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 34 17.00 U fdiv %st(2)
+# CHECK-NEXT: 1 34 17.00 * U fdivs (%ecx)
+# CHECK-NEXT: 1 34 17.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 34 17.00 U fdivp %st(1)
+# CHECK-NEXT: 1 34 17.00 U fdivp %st(2)
+# CHECK-NEXT: 1 34 17.00 * U fidivs (%ecx)
+# CHECK-NEXT: 1 34 17.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 34 17.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 34 17.00 U fdivr %st(2)
+# CHECK-NEXT: 1 34 17.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 1 34 17.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 34 17.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 34 17.00 U fdivrp %st(2)
+# 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 filds (%edx)
+# CHECK-NEXT: 1 5 5.00 * U fildl (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fildll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 1 63 31.50 U fninit
+# CHECK-NEXT: 1 6 3.00 * U fists (%edx)
+# CHECK-NEXT: 1 6 3.00 * U fistl (%ecx)
+# CHECK-NEXT: 1 6 3.00 * U fistps (%edx)
+# CHECK-NEXT: 1 6 3.00 * U fistpl (%ecx)
+# CHECK-NEXT: 1 6 3.00 * U fistpll (%eax)
+# CHECK-NEXT: 1 2 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 1 2 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 1 2 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 1.00 U fld %st(0)
+# CHECK-NEXT: 1 1 1.00 * U flds (%edx)
+# 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 6 3.00 U fld1
+# CHECK-NEXT: 1 10 5.00 U fldl2e
+# CHECK-NEXT: 1 10 5.00 U fldl2t
+# CHECK-NEXT: 1 10 5.00 U fldlg2
+# CHECK-NEXT: 1 10 5.00 U fldln2
+# CHECK-NEXT: 1 10 5.00 U fldpi
+# CHECK-NEXT: 1 1 0.50 U fldz
+# CHECK-NEXT: 1 4 4.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 4 4.00 U fmul %st(2)
+# CHECK-NEXT: 1 4 4.00 * U fmuls (%ecx)
+# CHECK-NEXT: 1 4 4.00 * U fmull (%eax)
+# CHECK-NEXT: 1 4 4.00 U fmulp %st(1)
+# CHECK-NEXT: 1 4 4.00 U fmulp %st(2)
+# CHECK-NEXT: 1 4 4.00 * U fimuls (%ecx)
+# CHECK-NEXT: 1 4 4.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 183 91.50 U fpatan
+# CHECK-NEXT: 1 55 27.50 U fprem
+# 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 77 38.50 U fscale
+# CHECK-NEXT: 1 174 87.00 U fsin
+# CHECK-NEXT: 1 174 87.00 U fsincos
+# CHECK-NEXT: 1 71 35.50 U fsqrt
+# CHECK-NEXT: 1 2 1.00 U fst %st(0)
+# CHECK-NEXT: 1 2 1.00 * U fsts (%edx)
+# CHECK-NEXT: 1 2 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 2 1.00 U fstp %st(0)
+# CHECK-NEXT: 1 2 1.00 * U fstpl (%edx)
+# 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 1 0.50 U wait
+# CHECK-NEXT: 1 100 0.50 U fnsave (%eax)
+# CHECK-NEXT: 1 5 5.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 5 5.00 U fsub %st(2)
+# CHECK-NEXT: 1 5 5.00 * U fsubs (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 5 5.00 U fsubp %st(1)
+# CHECK-NEXT: 1 5 5.00 U fsubp %st(2)
+# CHECK-NEXT: 1 5 5.00 * U fisubs (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 5 5.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 5 5.00 U fsubr %st(2)
+# CHECK-NEXT: 1 5 5.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 5 5.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 5 5.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 5 5.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 1 5 5.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 9 4.50 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucompp
+# CHECK-NEXT: 1 9 4.50 U fucomi %st(3)
+# CHECK-NEXT: 1 9 4.50 U fucompi %st(3)
+# CHECK-NEXT: 1 1 0.50 U wait
+# CHECK-NEXT: 1 1 1.00 U fxam
+# CHECK-NEXT: 1 1 1.00 U fxch %st(1)
+# CHECK-NEXT: 1 1 1.00 U fxch %st(3)
+# CHECK-NEXT: 1 141 70.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 140 70.00 * * U fxsave (%eax)
+# CHECK-NEXT: 1 25 12.50 U fxtract
+# CHECK-NEXT: 1 146 73.00 U fyl2x
+# CHECK-NEXT: 1 147 73.50 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - AtomPort0
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-adx.s b/test/tools/llvm-mca/X86/Broadwell/resources-adx.s
index 09ee15b7d09..eb06ef54cad 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-adx.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-adx.s
@@ -17,7 +17,7 @@ adox (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcxl %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s b/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
index 5842db31bb6..0b4be793bdb 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
@@ -1015,7 +1015,7 @@ vzeroupper
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
@@ -1206,8 +1206,8 @@ vzeroupper
# CHECK-NEXT: 2 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 3 7 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
@@ -1281,7 +1281,7 @@ vzeroupper
# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx
@@ -1650,7 +1650,7 @@ vzeroupper
# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 11 4.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 8 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
@@ -1699,8 +1699,8 @@ vzeroupper
# CHECK-NEXT: 2 6 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 16 16 16.00 * * * vzeroall
-# CHECK-NEXT: 4 4 1.00 * * * vzeroupper
+# CHECK-NEXT: 16 16 16.00 * * U vzeroall
+# CHECK-NEXT: 4 4 1.00 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - BWDivider
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s b/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s
index 3444b5d916e..7dc3b714741 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-avx2.s
@@ -454,7 +454,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 6 0.50 * vbroadcasti128 (%rax), %ymm0
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s b/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s
index 6484fa67ef1..b2f16ff3b08 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-bmi1.s
@@ -43,7 +43,7 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s b/test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s
index ac45ca2e7cf..4f043e33240 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-bmi2.s
@@ -55,7 +55,7 @@ shrx %rax, (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-cmov.s b/test/tools/llvm-mca/X86/Broadwell/resources-cmov.s
index 01506a613bb..0ff896ff5ad 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-f16c.s b/test/tools/llvm-mca/X86/Broadwell/resources-f16c.s
index 7db7ce955d7..9fcd03bfb2f 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-f16c.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-f16c.s
@@ -19,7 +19,7 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-fma.s b/test/tools/llvm-mca/X86/Broadwell/resources-fma.s
index 082231f3b20..e5e2d278ef2 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-fma.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-fma.s
@@ -295,7 +295,7 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s b/test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s
index 22cbbb6f183..fc68812f7de 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-lzcnt.s
@@ -16,7 +16,7 @@ lzcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-mmx.s b/test/tools/llvm-mca/X86/Broadwell/resources-mmx.s
index 06600d4b136..69491f06d79 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.00 * * * emms
+# CHECK-NEXT: 31 31 10.00 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s b/test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s
index 1f7dd1d2739..491a4eab282 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s b/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s
index 6a878a4f50e..a306d2d7a6b 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 16 5.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 16 5.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.33 * * * sfence
+# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 11 7.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 16 7.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 11 4.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s b/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
index 09c7cefe366..26c3cd75658 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 6 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 6 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 19 8.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 14 4.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 19 8.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.50 * * * lfence
-# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 2 2 0.50 * * U lfence
+# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s b/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s
index e92d11dd07f..e660799931c 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s b/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
index ad3c194c4a5..a2899b43711 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-sse42.s b/test/tools/llvm-mca/X86/Broadwell/resources-sse42.s
index 6ba217478f6..4dc2704317a 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s b/test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s
index a32c524f4f8..eeaed17b9b0 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s b/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
index fc4ad53a350..37c48fd2af2 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 8 34 2.00 * * divb (%rax)
-# CHECK-NEXT: 32 80 8.00 * divw %si
-# CHECK-NEXT: 8 34 2.00 * * divw (%rax)
-# CHECK-NEXT: 32 80 8.00 * divl %edx
-# CHECK-NEXT: 8 34 2.00 * * divl (%rax)
-# CHECK-NEXT: 32 80 8.00 * divq %rcx
-# CHECK-NEXT: 8 34 2.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 8 35 2.00 * * idivb (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivw %si
-# CHECK-NEXT: 8 35 2.00 * * idivw (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivl %edx
-# CHECK-NEXT: 8 35 2.00 * * idivl (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivq %rcx
-# CHECK-NEXT: 8 35 2.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 8 34 2.00 * U divb (%rax)
+# CHECK-NEXT: 32 80 8.00 U divw %si
+# CHECK-NEXT: 8 34 2.00 * U divw (%rax)
+# CHECK-NEXT: 32 80 8.00 U divl %edx
+# CHECK-NEXT: 8 34 2.00 * U divl (%rax)
+# CHECK-NEXT: 32 80 8.00 U divq %rcx
+# CHECK-NEXT: 8 34 2.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 8 35 2.00 * U idivb (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivw %si
+# CHECK-NEXT: 8 35 2.00 * U idivw (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivl %edx
+# CHECK-NEXT: 8 35 2.00 * U idivl (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivq %rcx
+# CHECK-NEXT: 8 35 2.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
diff --git a/test/tools/llvm-mca/X86/Broadwell/resources-x87.s b/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
index 271b92624fe..5cb92be47ea 100644
--- a/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
+++ b/test/tools/llvm-mca/X86/Broadwell/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 9 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 9 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 12 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 12 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbld (%ecx)
-# CHECK-NEXT: 2 1 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 4 4 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 7 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 7 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 7 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 7 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.25 * fcompp
-# CHECK-NEXT: 1 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 2 2 1.00 * fdecstp
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdiv %st(2)
-# CHECK-NEXT: 2 21 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 21 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(2)
-# CHECK-NEXT: 3 24 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 24 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(2)
-# CHECK-NEXT: 2 26 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 26 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 29 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 29 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 0.25 * ffree %st(0)
-# CHECK-NEXT: 3 10 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 10 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 10 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 10 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 9 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 9 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 9 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 15 75 6.00 * fninit
-# CHECK-NEXT: 3 4 1.00 * * fists (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.25 * fld %st(0)
-# CHECK-NEXT: 1 6 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 6 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 1 6 0.50 * * fldt (%eax)
-# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 64 60 14.00 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 11 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 14 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 1 100 0.25 * fprem
-# CHECK-NEXT: 1 100 0.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 1 100 0.25 * frndint
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 23 9.00 * fsqrt
-# CHECK-NEXT: 1 1 0.25 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.25 * fstp %st(0)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 100 115 19.50 * fnstenv (%eax)
-# CHECK-NEXT: 3 4 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 9 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 9 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 12 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 12 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 9 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 9 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 12 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 12 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 1 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fxam
-# CHECK-NEXT: 12 14 4.00 * fxch %st(1)
-# CHECK-NEXT: 12 14 4.00 * fxch %st(3)
-# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# CHECK-NEXT: 1 100 0.25 U f2xm1
+# CHECK-NEXT: 1 1 1.00 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 2 9 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 9 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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 1 1.00 U fchs
+# CHECK-NEXT: 4 4 1.00 U fnclex
+# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0)
+# 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: 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: 1 100 0.25 U fcompp
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 100 0.25 U fcos
+# CHECK-NEXT: 2 2 1.00 U fdecstp
+# CHECK-NEXT: 1 15 1.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdiv %st(2)
+# CHECK-NEXT: 2 21 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 2 21 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(2)
+# CHECK-NEXT: 3 24 1.00 * U fidivs (%ecx)
+# CHECK-NEXT: 3 24 1.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 20 1.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(2)
+# CHECK-NEXT: 2 26 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 2 26 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(2)
+# 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: 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)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 15 75 6.00 U fninit
+# CHECK-NEXT: 3 4 1.00 * U fists (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)
+# CHECK-NEXT: 3 4 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 0.25 U fld %st(0)
+# CHECK-NEXT: 1 6 0.50 * U flds (%edx)
+# 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: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# CHECK-NEXT: 2 1 1.00 U fldln2
+# CHECK-NEXT: 2 1 1.00 U fldpi
+# CHECK-NEXT: 1 1 0.50 U fldz
+# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 1 100 0.25 U fprem
+# 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 fscale
+# CHECK-NEXT: 1 100 0.25 U fsin
+# CHECK-NEXT: 1 100 0.25 U fsincos
+# CHECK-NEXT: 1 23 9.00 U fsqrt
+# CHECK-NEXT: 1 1 0.25 U fst %st(0)
+# CHECK-NEXT: 1 1 1.00 * U fsts (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 1 0.25 U fstp %st(0)
+# CHECK-NEXT: 2 1 1.00 * U fstpl (%edx)
+# 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: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 2 9 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 9 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 3 12 2.00 * U fisubs (%ecx)
+# CHECK-NEXT: 3 12 2.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 2 9 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 9 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 12 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 12 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fxam
+# CHECK-NEXT: 12 14 4.00 U fxch %st(1)
+# CHECK-NEXT: 12 14 4.00 U fxch %st(3)
+# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - BWDivider
diff --git a/test/tools/llvm-mca/X86/BtVer2/add-sequence.s b/test/tools/llvm-mca/X86/BtVer2/add-sequence.s
index f1d721dfe45..50ec8462bb9 100644
--- a/test/tools/llvm-mca/X86/BtVer2/add-sequence.s
+++ b/test/tools/llvm-mca/X86/BtVer2/add-sequence.s
@@ -18,7 +18,7 @@ add %eax, %edx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 addl %eax, %ecx
diff --git a/test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s b/test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s
index 6def54174eb..60d22ea3a1b 100644
--- a/test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s
+++ b/test/tools/llvm-mca/X86/BtVer2/clear-super-register-1.s
@@ -26,7 +26,7 @@ bsf %rax, %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 6 4.00 imulq $5, %rcx, %rax
diff --git a/test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s b/test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s
index e07d28f0af4..28cd8afc898 100644
--- a/test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s
+++ b/test/tools/llvm-mca/X86/BtVer2/clear-super-register-2.s
@@ -44,7 +44,7 @@ vandps %xmm4, %xmm1, %xmm0
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 38 38.00 vdivps %ymm0, %ymm1, %ymm3
diff --git a/test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s b/test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s
index 64f47ca10e2..8fa166374c7 100644
--- a/test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s
+++ b/test/tools/llvm-mca/X86/BtVer2/dependent-pmuld-paddd.s
@@ -18,7 +18,7 @@ vpaddd %xmm0, %xmm0, %xmm3
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 vpmuldq %xmm0, %xmm0, %xmm1
diff --git a/test/tools/llvm-mca/X86/BtVer2/dot-product.s b/test/tools/llvm-mca/X86/BtVer2/dot-product.s
index c859efae08c..9dee1e57c21 100644
--- a/test/tools/llvm-mca/X86/BtVer2/dot-product.s
+++ b/test/tools/llvm-mca/X86/BtVer2/dot-product.s
@@ -18,7 +18,7 @@ vhaddps %xmm3, %xmm3, %xmm4
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s b/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s
index ea13b01f3d1..42d1f15df47 100644
--- a/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s
+++ b/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-1.s
@@ -17,7 +17,7 @@ vhaddps (%rdi), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 vshufps $0, %xmm0, %xmm1, %xmm1
diff --git a/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s b/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s
index b372471e5dd..a538164afee 100644
--- a/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s
+++ b/test/tools/llvm-mca/X86/BtVer2/hadd-read-after-ld-2.s
@@ -17,7 +17,7 @@ vhaddps (%rdi), %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 vshufps $0, %xmm0, %xmm1, %xmm1
diff --git a/test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s b/test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s
index d5109d82983..769e19cb97a 100644
--- a/test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s
+++ b/test/tools/llvm-mca/X86/BtVer2/instruction-info-view.s
@@ -24,7 +24,7 @@ vhaddps %xmm3, %xmm3, %xmm4
# ENABLED-NEXT: [3]: RThroughput
# ENABLED-NEXT: [4]: MayLoad
# ENABLED-NEXT: [5]: MayStore
-# ENABLED-NEXT: [6]: HasSideEffects
+# ENABLED-NEXT: [6]: HasSideEffects (U)
# ENABLED: [1] [2] [3] [4] [5] [6] Instructions:
# ENABLED-NEXT: 1 2 1.00 vmulps %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s b/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
index b6f2774e9d2..4733357e87e 100644
--- a/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
+++ b/test/tools/llvm-mca/X86/BtVer2/load-store-alias.s
@@ -23,7 +23,7 @@ vmovaps %xmm0, 48(%rdi)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0
diff --git a/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s b/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
index 9e58b7c71b2..5d394c6691c 100644
--- a/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
+++ b/test/tools/llvm-mca/X86/BtVer2/memcpy-like-test.s
@@ -23,7 +23,7 @@ vmovaps %xmm0, 48(%rdi)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 * vmovaps (%rsi), %xmm0
diff --git a/test/tools/llvm-mca/X86/BtVer2/one-idioms.s b/test/tools/llvm-mca/X86/BtVer2/one-idioms.s
index adc72bd235c..e524fe15a8a 100644
--- a/test/tools/llvm-mca/X86/BtVer2/one-idioms.s
+++ b/test/tools/llvm-mca/X86/BtVer2/one-idioms.s
@@ -39,7 +39,7 @@ vpcmpeqw %xmm3, %xmm3, %xmm5
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pcmpeqb %mm2, %mm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
index 4a51bcbb98e..c8cc463b015 100644
--- a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
+++ b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-2.s
@@ -18,7 +18,7 @@ add %ecx, %ebx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 6 4.00 imulq %rax, %rbx
diff --git a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s
index a6e2b96d844..2384528223a 100644
--- a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s
+++ b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-3.s
@@ -23,7 +23,7 @@ xor %bx, %dx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 addw %cx, %dx
diff --git a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s
index dda53ba4a99..6277ceb5c99 100644
--- a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s
+++ b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-4.s
@@ -23,7 +23,7 @@ add %cx, %bx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 imulw %ax, %bx
diff --git a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-5.s b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-5.s
index db64be67e19..ca1419d153e 100644
--- a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-5.s
+++ b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-5.s
@@ -18,7 +18,7 @@ lzcnt %ax, %bx ## partial register stall.
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 lzcntw %ax, %bx
diff --git a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s
index c66b5678f31..3530f2191a7 100644
--- a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s
+++ b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update-6.s
@@ -24,7 +24,7 @@ lzcnt 2(%rsp), %cx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 imull %edx, %ecx
diff --git a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s
index 194536a79d2..4833077ba8b 100644
--- a/test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s
+++ b/test/tools/llvm-mca/X86/BtVer2/partial-reg-update.s
@@ -18,7 +18,7 @@ add %ecx, %ebx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 imulw %ax, %cx
diff --git a/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s b/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
index d64c1888083..fc942d86f63 100644
--- a/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
+++ b/test/tools/llvm-mca/X86/BtVer2/pipes-fpu.s
@@ -30,7 +30,7 @@ vsqrtps %ymm0, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 3 4 2.00 vpmulld %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/pr37790.s b/test/tools/llvm-mca/X86/BtVer2/pr37790.s
index 990e15f99b9..19597f8371c 100644
--- a/test/tools/llvm-mca/X86/BtVer2/pr37790.s
+++ b/test/tools/llvm-mca/X86/BtVer2/pr37790.s
@@ -17,11 +17,11 @@ stmxcsr (%rsp)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.50 * * * int3
-# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rsp)
+# CHECK-NEXT: 1 100 0.50 * * U int3
+# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rsp)
# CHECK: Timeline view:
# CHECK-NEXT: 0123456789 0123456789 0123456789 0123456789 0123456789
diff --git a/test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s b/test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s
index eae9fab9ba6..af39e59ae40 100644
--- a/test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s
+++ b/test/tools/llvm-mca/X86/BtVer2/rcu-statistics.s
@@ -31,7 +31,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 21 21.00 vsqrtps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s b/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s
index 44c600c0900..7bd9b8951f9 100644
--- a/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s
+++ b/test/tools/llvm-mca/X86/BtVer2/read-advance-1.s
@@ -21,7 +21,7 @@ vmulps (%rdi), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm0, %xmm1
diff --git a/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s b/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s
index 9aba2f17839..7cbc24baf3f 100644
--- a/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s
+++ b/test/tools/llvm-mca/X86/BtVer2/read-advance-2.s
@@ -20,7 +20,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 imull %esi
diff --git a/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s b/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s
index aef4b986c46..722170ab7af 100644
--- a/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s
+++ b/test/tools/llvm-mca/X86/BtVer2/read-advance-3.s
@@ -18,7 +18,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 addq %rdi, %rsi
diff --git a/test/tools/llvm-mca/X86/BtVer2/register-files-3.s b/test/tools/llvm-mca/X86/BtVer2/register-files-3.s
index 0326357aa47..ff48db94855 100644
--- a/test/tools/llvm-mca/X86/BtVer2/register-files-3.s
+++ b/test/tools/llvm-mca/X86/BtVer2/register-files-3.s
@@ -16,10 +16,10 @@ idiv %eax
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 2 25 25.00 * idivl %eax
+# CHECK-NEXT: 2 25 25.00 U idivl %eax
# CHECK: Dynamic Dispatch Stall Cycles:
# CHECK-NEXT: RAT - Register unavailable: 26
diff --git a/test/tools/llvm-mca/X86/BtVer2/register-files-4.s b/test/tools/llvm-mca/X86/BtVer2/register-files-4.s
index 0c2e5b2a2f3..c9057f53066 100644
--- a/test/tools/llvm-mca/X86/BtVer2/register-files-4.s
+++ b/test/tools/llvm-mca/X86/BtVer2/register-files-4.s
@@ -16,10 +16,10 @@ idiv %eax
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 2 25 25.00 * idivl %eax
+# CHECK-NEXT: 2 25 25.00 U idivl %eax
# CHECK: Dynamic Dispatch Stall Cycles:
# CHECK-NEXT: RAT - Register unavailable: 6
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-aes.s b/test/tools/llvm-mca/X86/BtVer2/resources-aes.s
index 9a5cce8aedd..a1d467cd008 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-aes.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-aes.s
@@ -25,7 +25,7 @@ aeskeygenassist $22, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 1.00 aesdec %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s b/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
index 72af683c1c7..e06ac58f95f 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
@@ -1015,7 +1015,7 @@ vzeroupper
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
@@ -1206,8 +1206,8 @@ vzeroupper
# CHECK-NEXT: 1 6 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 1 5 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 5 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 6 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 6 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 1 6 2.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
@@ -1281,7 +1281,7 @@ vzeroupper
# CHECK-NEXT: 1 2 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 1 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 1 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx
@@ -1650,7 +1650,7 @@ vzeroupper
# CHECK-NEXT: 1 32 27.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 21 21.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 26 21.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 3 2.00 vsubpd %ymm0, %ymm1, %ymm2
@@ -1699,8 +1699,8 @@ vzeroupper
# CHECK-NEXT: 1 6 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 6 2.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 73 90 36.50 * * * vzeroall
-# CHECK-NEXT: 37 46 18.50 * * * vzeroupper
+# CHECK-NEXT: 73 90 36.50 * * U vzeroall
+# CHECK-NEXT: 37 46 18.50 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - JALU0
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s b/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s
index c5461c95741..39c515042a6 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-bmi1.s
@@ -43,7 +43,7 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-clmul.s b/test/tools/llvm-mca/X86/BtVer2/resources-clmul.s
index bef4fea9b5a..39ca4e7408b 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-clmul.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-clmul.s
@@ -10,7 +10,7 @@ pclmulqdq $11, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 pclmulqdq $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-cmov.s b/test/tools/llvm-mca/X86/BtVer2/resources-cmov.s
index f314671b0eb..5cc13e35558 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-f16c.s b/test/tools/llvm-mca/X86/BtVer2/resources-f16c.s
index ae13a6dccad..2c8587f8629 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-f16c.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-f16c.s
@@ -19,7 +19,7 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vcvtph2ps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s b/test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s
index 39e205a107f..8e2d952b569 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-lzcnt.s
@@ -16,7 +16,7 @@ lzcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 lzcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s b/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s
index 36d2727da10..756404eb6ce 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 2 0.50 * * * emms
+# CHECK-NEXT: 1 2 0.50 * * U emms
# CHECK-NEXT: 2 8 0.50 movd %eax, %mm2
# CHECK-NEXT: 1 5 1.00 * movd (%rax), %mm2
# CHECK-NEXT: 1 4 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 2 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 2 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 2 8 0.50 movq %rax, %mm2
# CHECK-NEXT: 1 5 1.00 * movq (%rax), %mm2
# CHECK-NEXT: 1 4 1.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s b/test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s
index 9125f372b51..c53098ee936 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s b/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
index 51da7bd933a..3a4c41a3b77 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 24 19.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 19 19.00 divss %xmm0, %xmm2
# CHECK-NEXT: 1 24 19.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 1 5 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 0.50 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 1 5 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 0.50 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 2 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 1 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 1 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 1 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 3 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 2 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 2 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2
# CHECK-NEXT: 1 2 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 1.00 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 7 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 21 21.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 1 26 21.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 21 21.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 26 21.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s b/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
index cfd06ed0813..dca7b7f6a86 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 6 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 1 5 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 1 5 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 2 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 24 19.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 19 19.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 1 24 19.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * lfence
-# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 1.00 * * U lfence
+# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 2 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 1 7 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s b/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
index 4fb5a4c90eb..3fd2f406a98 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s b/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
index 40cc6fe0e91..f37eba15caa 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s b/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s
index 85b3037fb14..fa530656cf4 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 3 3 2.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s b/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s
index 62e8037aa35..ad0b40700fb 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s
@@ -16,7 +16,7 @@ movntss %xmm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 extrq %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s b/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s
index 2dbcccd5b56..4c9717ea18d 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s b/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
index 60249b66b80..5228b3feaa9 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 1.00 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 4 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 2 4 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 2 4 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.50 * clc
+# CHECK-NEXT: 1 1 0.50 U clc
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 5 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 2 5 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 12 12.00 * divb %dil
-# CHECK-NEXT: 1 15 12.00 * * divb (%rax)
-# CHECK-NEXT: 2 17 17.00 * divw %si
-# CHECK-NEXT: 2 20 17.00 * * divw (%rax)
-# CHECK-NEXT: 2 25 25.00 * divl %edx
-# CHECK-NEXT: 2 28 25.00 * * divl (%rax)
-# CHECK-NEXT: 2 41 41.00 * divq %rcx
-# CHECK-NEXT: 2 44 41.00 * * divq (%rax)
-# CHECK-NEXT: 1 12 12.00 * idivb %dil
-# CHECK-NEXT: 1 15 12.00 * * idivb (%rax)
-# CHECK-NEXT: 2 17 17.00 * idivw %si
-# CHECK-NEXT: 2 20 17.00 * * idivw (%rax)
-# CHECK-NEXT: 2 25 25.00 * idivl %edx
-# CHECK-NEXT: 2 28 25.00 * * idivl (%rax)
-# CHECK-NEXT: 2 41 41.00 * idivq %rcx
-# CHECK-NEXT: 2 44 41.00 * * idivq (%rax)
+# CHECK-NEXT: 1 12 12.00 U divb %dil
+# CHECK-NEXT: 1 15 12.00 * U divb (%rax)
+# CHECK-NEXT: 2 17 17.00 U divw %si
+# CHECK-NEXT: 2 20 17.00 * U divw (%rax)
+# CHECK-NEXT: 2 25 25.00 U divl %edx
+# CHECK-NEXT: 2 28 25.00 * U divl (%rax)
+# CHECK-NEXT: 2 41 41.00 U divq %rcx
+# CHECK-NEXT: 2 44 41.00 * U divq (%rax)
+# CHECK-NEXT: 1 12 12.00 U idivb %dil
+# CHECK-NEXT: 1 15 12.00 * U idivb (%rax)
+# CHECK-NEXT: 2 17 17.00 U idivw %si
+# CHECK-NEXT: 2 20 17.00 * U idivw (%rax)
+# CHECK-NEXT: 2 25 25.00 U idivl %edx
+# CHECK-NEXT: 2 28 25.00 * U idivl (%rax)
+# CHECK-NEXT: 2 41 41.00 U idivq %rcx
+# CHECK-NEXT: 2 44 41.00 * U idivq (%rax)
# CHECK-NEXT: 2 3 1.00 imulb %dil
# CHECK-NEXT: 2 6 1.00 * imulb (%rax)
# CHECK-NEXT: 2 3 1.00 imulw %di
diff --git a/test/tools/llvm-mca/X86/BtVer2/resources-x87.s b/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
index 49f076b1cb1..a0e431f6dfe 100644
--- a/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
+++ b/test/tools/llvm-mca/X86/BtVer2/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.50 * f2xm1
-# CHECK-NEXT: 1 2 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fiadds (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.50 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.50 * fbstp (%eax)
-# CHECK-NEXT: 1 2 1.00 * fchs
-# CHECK-NEXT: 1 100 0.50 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 3 1.00 * fcom %st(3)
-# CHECK-NEXT: 1 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 1 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 3 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fcomp %st(3)
-# CHECK-NEXT: 1 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 1 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.50 * fcompp
-# CHECK-NEXT: 1 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.50 * fcos
-# CHECK-NEXT: 1 100 0.50 * fdecstp
-# CHECK-NEXT: 1 19 19.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 19 19.00 * fdiv %st(2)
-# CHECK-NEXT: 1 24 19.00 * * fdivs (%ecx)
-# CHECK-NEXT: 1 24 19.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 19 19.00 * fdivp %st(1)
-# CHECK-NEXT: 1 19 19.00 * fdivp %st(2)
-# CHECK-NEXT: 1 24 19.00 * * fidivs (%ecx)
-# CHECK-NEXT: 1 24 19.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 19 19.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 19 19.00 * fdivr %st(2)
-# CHECK-NEXT: 1 24 19.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 1 24 19.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 19 19.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 19 19.00 * fdivrp %st(2)
-# CHECK-NEXT: 1 24 19.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 1 24 19.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 0.50 * ffree %st(0)
-# CHECK-NEXT: 1 8 1.00 * ficoms (%ecx)
-# CHECK-NEXT: 1 8 1.00 * ficoml (%eax)
-# CHECK-NEXT: 1 8 1.00 * ficomps (%ecx)
-# CHECK-NEXT: 1 8 1.00 * ficompl (%eax)
-# CHECK-NEXT: 1 5 1.00 * * filds (%edx)
-# CHECK-NEXT: 1 5 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 1 5 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 100 0.50 * fincstp
-# CHECK-NEXT: 1 100 0.50 * fninit
-# CHECK-NEXT: 1 1 1.00 * * fists (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fistps (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld %st(0)
-# CHECK-NEXT: 1 5 1.00 * * flds (%edx)
-# CHECK-NEXT: 1 5 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 1 5 1.00 * * fldt (%eax)
-# CHECK-NEXT: 1 5 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.50 * fldenv (%eax)
-# CHECK-NEXT: 1 3 1.00 * fld1
-# CHECK-NEXT: 1 3 1.00 * fldl2e
-# CHECK-NEXT: 1 3 1.00 * fldl2t
-# CHECK-NEXT: 1 3 1.00 * fldlg2
-# CHECK-NEXT: 1 3 1.00 * fldln2
-# CHECK-NEXT: 1 3 1.00 * fldpi
-# CHECK-NEXT: 1 3 1.00 * fldz
-# CHECK-NEXT: 1 2 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 2 1.00 * fmul %st(2)
-# CHECK-NEXT: 1 7 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 1 7 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 2 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 2 1.00 * fmulp %st(2)
-# CHECK-NEXT: 1 7 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 1 7 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.50 * fpatan
-# CHECK-NEXT: 1 100 0.50 * fprem
-# CHECK-NEXT: 1 100 0.50 * fprem1
-# CHECK-NEXT: 1 100 0.50 * fptan
-# CHECK-NEXT: 1 100 0.50 * frndint
-# CHECK-NEXT: 1 100 0.50 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.50 * fscale
-# CHECK-NEXT: 1 100 0.50 * fsin
-# CHECK-NEXT: 1 100 0.50 * fsincos
-# CHECK-NEXT: 1 35 35.00 * fsqrt
-# CHECK-NEXT: 1 1 0.50 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.50 * fstp %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 1 1 0.50 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnstenv (%eax)
-# CHECK-NEXT: 1 100 0.50 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.50 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.50 * wait
-# CHECK-NEXT: 1 100 0.50 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fisubs (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 1 8 1.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 1 8 1.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 3 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 3 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 1 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 1 100 0.50 * wait
-# CHECK-NEXT: 1 100 0.50 * fxam
-# CHECK-NEXT: 1 1 0.50 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.50 * fxch %st(3)
-# CHECK-NEXT: 1 100 0.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.50 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.50 * fxtract
-# CHECK-NEXT: 1 100 0.50 * fyl2x
-# CHECK-NEXT: 1 100 0.50 * fyl2xp1
+# CHECK-NEXT: 1 100 0.50 U f2xm1
+# CHECK-NEXT: 1 2 1.00 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 8 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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 2 1.00 U fchs
+# CHECK-NEXT: 1 100 0.50 U fnclex
+# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0)
+# 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 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 100 0.50 U fcompp
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 100 0.50 U fcos
+# CHECK-NEXT: 1 100 0.50 U fdecstp
+# CHECK-NEXT: 1 19 19.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 19 19.00 U fdiv %st(2)
+# CHECK-NEXT: 1 24 19.00 * U fdivs (%ecx)
+# CHECK-NEXT: 1 24 19.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 19 19.00 U fdivp %st(1)
+# CHECK-NEXT: 1 19 19.00 U fdivp %st(2)
+# CHECK-NEXT: 1 24 19.00 * U fidivs (%ecx)
+# CHECK-NEXT: 1 24 19.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 19 19.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 19 19.00 U fdivr %st(2)
+# CHECK-NEXT: 1 24 19.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 1 24 19.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 19 19.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 19 19.00 U fdivrp %st(2)
+# 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 5 1.00 * U filds (%edx)
+# CHECK-NEXT: 1 5 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 1 5 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 100 0.50 U fincstp
+# CHECK-NEXT: 1 100 0.50 U fninit
+# CHECK-NEXT: 1 1 1.00 * U fists (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fistps (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fistpll (%eax)
+# CHECK-NEXT: 1 1 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fld %st(0)
+# CHECK-NEXT: 1 5 1.00 * U flds (%edx)
+# 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 3 1.00 U fld1
+# CHECK-NEXT: 1 3 1.00 U fldl2e
+# CHECK-NEXT: 1 3 1.00 U fldl2t
+# CHECK-NEXT: 1 3 1.00 U fldlg2
+# CHECK-NEXT: 1 3 1.00 U fldln2
+# CHECK-NEXT: 1 3 1.00 U fldpi
+# CHECK-NEXT: 1 3 1.00 U fldz
+# CHECK-NEXT: 1 2 1.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 2 1.00 U fmul %st(2)
+# CHECK-NEXT: 1 7 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 1 7 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 2 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 2 1.00 U fmulp %st(2)
+# CHECK-NEXT: 1 7 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 1 7 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.50 U fpatan
+# CHECK-NEXT: 1 100 0.50 U fprem
+# 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 fscale
+# CHECK-NEXT: 1 100 0.50 U fsin
+# CHECK-NEXT: 1 100 0.50 U fsincos
+# CHECK-NEXT: 1 35 35.00 U fsqrt
+# CHECK-NEXT: 1 1 0.50 U fst %st(0)
+# CHECK-NEXT: 1 1 1.00 * U fsts (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 1 0.50 U fstp %st(0)
+# CHECK-NEXT: 1 1 1.00 * U fstpl (%edx)
+# 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 wait
+# CHECK-NEXT: 1 100 0.50 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 8 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 8 1.00 * U fisubs (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 8 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 8 1.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 1 8 1.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 3 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 3 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 100 0.50 U wait
+# CHECK-NEXT: 1 100 0.50 U fxam
+# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.50 U fxch %st(3)
+# CHECK-NEXT: 1 100 0.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.50 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.50 U fxtract
+# CHECK-NEXT: 1 100 0.50 U fyl2x
+# CHECK-NEXT: 1 100 0.50 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - JALU0
diff --git a/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s b/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s
index 69be2ce26d8..d02ed8b191f 100644
--- a/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s
+++ b/test/tools/llvm-mca/X86/BtVer2/scheduler-queue-usage.s
@@ -17,7 +17,7 @@ add %rsi, %rsi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 7 1.00 * vmulps (%rsi), %xmm0, %xmm0
diff --git a/test/tools/llvm-mca/X86/BtVer2/simple-test.s b/test/tools/llvm-mca/X86/BtVer2/simple-test.s
index 2191c22d46a..d34db61bcc8 100644
--- a/test/tools/llvm-mca/X86/BtVer2/simple-test.s
+++ b/test/tools/llvm-mca/X86/BtVer2/simple-test.s
@@ -16,7 +16,7 @@ add %edi, %eax
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 addl %edi, %eax
diff --git a/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s b/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s
index b7a7f0e7f02..33b2a4d87e8 100644
--- a/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s
+++ b/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-1.s
@@ -17,7 +17,7 @@ vandps (%rdi), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddps %xmm0, %xmm0, %xmm1
diff --git a/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s b/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s
index b476211c30a..12e170d4019 100644
--- a/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s
+++ b/test/tools/llvm-mca/X86/BtVer2/vec-logic-read-after-ld-2.s
@@ -17,7 +17,7 @@ vandps (%rdi), %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 3 2.00 vaddps %ymm0, %ymm0, %ymm1
diff --git a/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s b/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
index 0dd90650655..8a11db9e4fb 100644
--- a/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
+++ b/test/tools/llvm-mca/X86/BtVer2/zero-idioms.s
@@ -81,7 +81,7 @@ vpxor %xmm3, %xmm3, %xmm5
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 0 0.50 subl %eax, %eax
diff --git a/test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s b/test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s
index 7aa8545f856..1f543a566c8 100644
--- a/test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s
+++ b/test/tools/llvm-mca/X86/Generic/avx512-super-registers-1.s
@@ -21,7 +21,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %zmm0, %zmm1, %zmm2
diff --git a/test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s b/test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s
index 86fa1759fab..be18513fe95 100644
--- a/test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s
+++ b/test/tools/llvm-mca/X86/Generic/avx512-super-registers-2.s
@@ -21,7 +21,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %zmm0, %zmm1, %zmm2
diff --git a/test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s b/test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s
index f580d50535b..3fe5eb50282 100644
--- a/test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s
+++ b/test/tools/llvm-mca/X86/Generic/avx512-super-registers-3.s
@@ -21,7 +21,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %zmm0, %zmm1, %zmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-3dnow.s b/test/tools/llvm-mca/X86/Generic/resources-3dnow.s
index 16c80c5fec3..52a0968d1fd 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-3dnow.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-3dnow.s
@@ -84,10 +84,10 @@ pswapd (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.33 * * * femms
+# CHECK-NEXT: 31 31 10.33 * * U femms
# CHECK-NEXT: 1 3 1.00 pavgusb %mm0, %mm2
# CHECK-NEXT: 2 8 1.00 * pavgusb (%rax), %mm2
# CHECK-NEXT: 1 3 1.00 pf2id %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-adx.s b/test/tools/llvm-mca/X86/Generic/resources-adx.s
index aac382e6d6e..25f08545e4a 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-adx.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-adx.s
@@ -17,7 +17,7 @@ adox (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcxl %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Generic/resources-aes.s b/test/tools/llvm-mca/X86/Generic/resources-aes.s
index 3285236f054..5720f208ecb 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-aes.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-aes.s
@@ -25,7 +25,7 @@ aeskeygenassist $22, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 7 1.00 aesdec %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-avx1.s b/test/tools/llvm-mca/X86/Generic/resources-avx1.s
index f72ab1a61aa..2a551e64e3a 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-avx1.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-avx1.s
@@ -1015,7 +1015,7 @@ vzeroupper
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
@@ -1206,8 +1206,8 @@ vzeroupper
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 4 5 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 4 5 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 9 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 3 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
@@ -1281,7 +1281,7 @@ vzeroupper
# CHECK-NEXT: 1 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 7 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 7 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskps %xmm0, %ecx
@@ -1650,7 +1650,7 @@ vzeroupper
# CHECK-NEXT: 2 27 21.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 14 14.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 20 14.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
@@ -1699,8 +1699,8 @@ vzeroupper
# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 100 0.33 * * * vzeroall
-# CHECK-NEXT: 1 100 0.33 * * * vzeroupper
+# CHECK-NEXT: 1 100 0.33 * * U vzeroall
+# CHECK-NEXT: 1 100 0.33 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
diff --git a/test/tools/llvm-mca/X86/Generic/resources-avx2.s b/test/tools/llvm-mca/X86/Generic/resources-avx2.s
index 4568034768e..f01f9290913 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-avx2.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-avx2.s
@@ -454,7 +454,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 6 1.00 * vbroadcasti128 (%rax), %ymm0
diff --git a/test/tools/llvm-mca/X86/Generic/resources-avx512.s b/test/tools/llvm-mca/X86/Generic/resources-avx512.s
index a71c0b4b5ff..6c6d34762cf 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-avx512.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-avx512.s
@@ -63,7 +63,7 @@ vsubps (%rax), %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %zmm16, %zmm17, %zmm19
diff --git a/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s b/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
index 1ecb7055efe..7bfcd8a5db2 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
@@ -119,7 +119,7 @@ vsubps (%rax), %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm16, %xmm17, %xmm19
diff --git a/test/tools/llvm-mca/X86/Generic/resources-bmi1.s b/test/tools/llvm-mca/X86/Generic/resources-bmi1.s
index 38e3ba903dd..193f5537c7c 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-bmi1.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-bmi1.s
@@ -43,7 +43,7 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 andnl %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Generic/resources-bmi2.s b/test/tools/llvm-mca/X86/Generic/resources-bmi2.s
index 1ba3cc339a4..d0a4e3e3701 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-bmi2.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-bmi2.s
@@ -55,7 +55,7 @@ shrx %rax, (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 1.00 bzhil %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Generic/resources-cmov.s b/test/tools/llvm-mca/X86/Generic/resources-cmov.s
index 410ebf6d7d7..e41571428d9 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/Generic/resources-f16c.s b/test/tools/llvm-mca/X86/Generic/resources-f16c.s
index 3353fcd3e75..7dea75f8f8f 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-f16c.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-f16c.s
@@ -19,7 +19,7 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vcvtph2ps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-fma.s b/test/tools/llvm-mca/X86/Generic/resources-fma.s
index 4521448bbaf..05b63edb7f9 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-fma.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-fma.s
@@ -295,7 +295,7 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-fma4.s b/test/tools/llvm-mca/X86/Generic/resources-fma4.s
index 11a6a0f25ff..cc428167b23 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-fma4.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-fma4.s
@@ -135,7 +135,7 @@ vfnmsubss %xmm0, (%rax), %xmm2, %xmm3
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmaddpd %xmm0, %xmm1, %xmm2, %xmm3
diff --git a/test/tools/llvm-mca/X86/Generic/resources-lzcnt.s b/test/tools/llvm-mca/X86/Generic/resources-lzcnt.s
index 98d97e6e1cd..6ac0945d4d8 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-lzcnt.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-lzcnt.s
@@ -16,7 +16,7 @@ lzcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/Generic/resources-mmx.s b/test/tools/llvm-mca/X86/Generic/resources-mmx.s
index a536047ea1a..8c9644b6494 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.33 * * * emms
+# CHECK-NEXT: 31 31 10.33 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/Generic/resources-popcnt.s b/test/tools/llvm-mca/X86/Generic/resources-popcnt.s
index e2512043a1a..c24ce8869f9 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/Generic/resources-sse1.s b/test/tools/llvm-mca/X86/Generic/resources-sse1.s
index 2ed19ec9e9a..2a694a8fbde 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 4 5 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 7 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 7 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-sse2.s b/test/tools/llvm-mca/X86/Generic/resources-sse2.s
index 6983e307ca0..30534807cb3 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * lfence
-# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 1.00 * * U lfence
+# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-sse3.s b/test/tools/llvm-mca/X86/Generic/resources-sse3.s
index 5bd42025296..8438e1a7a84 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-sse41.s b/test/tools/llvm-mca/X86/Generic/resources-sse41.s
index 5b8569bbb50..08c6ccfde8f 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-sse42.s b/test/tools/llvm-mca/X86/Generic/resources-sse42.s
index c8bb81c98b3..935c5e3d7f3 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/Generic/resources-sse4a.s b/test/tools/llvm-mca/X86/Generic/resources-sse4a.s
index dae11b450a2..f4b9c94d48a 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-sse4a.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-sse4a.s
@@ -16,7 +16,7 @@ movntss %xmm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 extrq %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-ssse3.s b/test/tools/llvm-mca/X86/Generic/resources-ssse3.s
index 4e486b4761e..c341022a288 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/Generic/resources-tbm.s b/test/tools/llvm-mca/X86/Generic/resources-tbm.s
index c9c504e4f31..ebe9975654c 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-tbm.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-tbm.s
@@ -67,7 +67,7 @@ tzmsk (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 1.00 bextrl $8192, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Generic/resources-x86_64.s b/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
index e47148c4d6c..bf565f0c861 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.33 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.33 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 2 30 10.00 * * divb (%rax)
-# CHECK-NEXT: 1 25 10.00 * divw %si
-# CHECK-NEXT: 2 30 10.00 * * divw (%rax)
-# CHECK-NEXT: 1 25 10.00 * divl %edx
-# CHECK-NEXT: 2 30 10.00 * * divl (%rax)
-# CHECK-NEXT: 1 25 10.00 * divq %rcx
-# CHECK-NEXT: 2 30 10.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 2 30 10.00 * * idivb (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivw %si
-# CHECK-NEXT: 2 30 10.00 * * idivw (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivl %edx
-# CHECK-NEXT: 2 30 10.00 * * idivl (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivq %rcx
-# CHECK-NEXT: 2 30 10.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 2 30 10.00 * U divb (%rax)
+# CHECK-NEXT: 1 25 10.00 U divw %si
+# CHECK-NEXT: 2 30 10.00 * U divw (%rax)
+# CHECK-NEXT: 1 25 10.00 U divl %edx
+# CHECK-NEXT: 2 30 10.00 * U divl (%rax)
+# CHECK-NEXT: 1 25 10.00 U divq %rcx
+# CHECK-NEXT: 2 30 10.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 2 30 10.00 * U idivb (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivw %si
+# CHECK-NEXT: 2 30 10.00 * U idivw (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivl %edx
+# CHECK-NEXT: 2 30 10.00 * U idivl (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivq %rcx
+# CHECK-NEXT: 2 30 10.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.33 imulw %di
diff --git a/test/tools/llvm-mca/X86/Generic/resources-x87.s b/test/tools/llvm-mca/X86/Generic/resources-x87.s
index c348c2e99ab..1cba9a7d77f 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-x87.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.33 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.33 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.33 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 1 100 0.33 * fnclex
-# CHECK-NEXT: 3 3 2.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.33 * fcompp
-# CHECK-NEXT: 3 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 3 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.33 * fcos
-# CHECK-NEXT: 1 1 1.00 * fdecstp
-# CHECK-NEXT: 1 14 14.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdiv %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivp %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivr %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 1 1.00 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fincstp
-# CHECK-NEXT: 4 5 1.33 * fninit
-# CHECK-NEXT: 4 9 1.00 * * fists (%edx)
-# CHECK-NEXT: 4 9 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 4 9 1.00 * * fistps (%edx)
-# CHECK-NEXT: 4 9 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 4 9 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 5 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 5 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 5 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fld %st(0)
-# CHECK-NEXT: 3 9 1.00 * * flds (%edx)
-# CHECK-NEXT: 3 9 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 3 9 1.00 * * fldt (%eax)
-# CHECK-NEXT: 5 8 2.00 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.33 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 1.00 * fldz
-# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 12 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 15 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 1.00 * fnop
-# CHECK-NEXT: 1 100 0.33 * fpatan
-# CHECK-NEXT: 1 100 0.33 * fprem
-# CHECK-NEXT: 1 100 0.33 * fprem1
-# CHECK-NEXT: 1 100 0.33 * fptan
-# CHECK-NEXT: 1 100 0.33 * frndint
-# CHECK-NEXT: 1 100 0.33 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.33 * fscale
-# CHECK-NEXT: 1 100 0.33 * fsin
-# CHECK-NEXT: 1 100 0.33 * fsincos
-# CHECK-NEXT: 1 24 24.00 * fsqrt
-# CHECK-NEXT: 1 1 1.00 * fst %st(0)
-# CHECK-NEXT: 3 6 1.00 * * fsts (%edx)
-# CHECK-NEXT: 3 6 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * fstp %st(0)
-# CHECK-NEXT: 3 6 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 3 6 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 3 6 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 4 7 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.33 * fnstenv (%eax)
-# CHECK-NEXT: 4 7 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.33 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * wait
-# CHECK-NEXT: 1 100 0.33 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 3 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 3 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 1 100 0.33 * wait
-# CHECK-NEXT: 1 100 0.33 * fxam
-# CHECK-NEXT: 1 1 0.33 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.33 * fxch %st(3)
-# CHECK-NEXT: 5 5 2.00 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.33 * fxtract
-# CHECK-NEXT: 1 100 0.33 * fyl2x
-# CHECK-NEXT: 1 100 0.33 * fyl2xp1
+# CHECK-NEXT: 1 100 0.33 U f2xm1
+# CHECK-NEXT: 1 1 1.00 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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 1 1.00 U fchs
+# CHECK-NEXT: 1 100 0.33 U fnclex
+# CHECK-NEXT: 3 3 2.00 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovu %st(1), %st(0)
+# 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: 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: 1 100 0.33 U fcompp
+# CHECK-NEXT: 3 3 1.00 U fcomi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 100 0.33 U fcos
+# CHECK-NEXT: 1 1 1.00 U fdecstp
+# CHECK-NEXT: 1 14 14.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdiv %st(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st(2)
+# CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx)
+# CHECK-NEXT: 3 34 1.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivr %st(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st(2)
+# 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: 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)
+# CHECK-NEXT: 1 1 1.00 U fincstp
+# CHECK-NEXT: 4 5 1.33 U fninit
+# CHECK-NEXT: 4 9 1.00 * U fists (%edx)
+# CHECK-NEXT: 4 9 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 4 9 1.00 * U fistps (%edx)
+# CHECK-NEXT: 4 9 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 4 9 1.00 * U fistpll (%eax)
+# CHECK-NEXT: 3 5 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 3 5 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 3 5 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 1.00 U fld %st(0)
+# CHECK-NEXT: 3 9 1.00 * U flds (%edx)
+# 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: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# CHECK-NEXT: 2 1 1.00 U fldln2
+# CHECK-NEXT: 2 1 1.00 U fldpi
+# CHECK-NEXT: 1 1 1.00 U fldz
+# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 1.00 U fnop
+# CHECK-NEXT: 1 100 0.33 U fpatan
+# CHECK-NEXT: 1 100 0.33 U fprem
+# 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 fscale
+# CHECK-NEXT: 1 100 0.33 U fsin
+# CHECK-NEXT: 1 100 0.33 U fsincos
+# CHECK-NEXT: 1 24 24.00 U fsqrt
+# CHECK-NEXT: 1 1 1.00 U fst %st(0)
+# CHECK-NEXT: 3 6 1.00 * U fsts (%edx)
+# CHECK-NEXT: 3 6 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 1 1.00 U fstp %st(0)
+# CHECK-NEXT: 3 6 1.00 * U fstpl (%edx)
+# 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 wait
+# CHECK-NEXT: 1 100 0.33 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 3 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 100 0.33 U wait
+# CHECK-NEXT: 1 100 0.33 U fxam
+# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.33 U fxch %st(3)
+# CHECK-NEXT: 5 5 2.00 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.33 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.33 U fxtract
+# CHECK-NEXT: 1 100 0.33 U fyl2x
+# CHECK-NEXT: 1 100 0.33 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
diff --git a/test/tools/llvm-mca/X86/Generic/resources-xop.s b/test/tools/llvm-mca/X86/Generic/resources-xop.s
index 3097c39e30a..61f39f07d78 100644
--- a/test/tools/llvm-mca/X86/Generic/resources-xop.s
+++ b/test/tools/llvm-mca/X86/Generic/resources-xop.s
@@ -218,7 +218,7 @@ vpshlw %xmm0, (%rax), %xmm3
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vfrczpd %xmm0, %xmm3
diff --git a/test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s b/test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s
index 6a7b21c5822..a3783fa279f 100644
--- a/test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s
+++ b/test/tools/llvm-mca/X86/Generic/xop-super-registers-1.s
@@ -21,7 +21,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %ymm0, %ymm1, %ymm2
diff --git a/test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s b/test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s
index c2b4a7b01fc..d8718c527f1 100644
--- a/test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s
+++ b/test/tools/llvm-mca/X86/Generic/xop-super-registers-2.s
@@ -21,7 +21,7 @@
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 1.00 vmulps %ymm0, %ymm1, %ymm2
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-avx1.s b/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
index 61f43a768ac..feb42960b98 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
@@ -1015,7 +1015,7 @@ vzeroupper
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
@@ -1206,8 +1206,8 @@ vzeroupper
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 3 8 2.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 9 2.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 4 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
@@ -1281,7 +1281,7 @@ vzeroupper
# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 3 1.00 vmovmskps %xmm0, %ecx
@@ -1650,7 +1650,7 @@ vzeroupper
# CHECK-NEXT: 2 21 14.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 11 7.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 16 7.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
@@ -1699,8 +1699,8 @@ vzeroupper
# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 16 16 16.00 * * * vzeroall
-# CHECK-NEXT: 4 4 1.00 * * * vzeroupper
+# CHECK-NEXT: 16 16 16.00 * * U vzeroall
+# CHECK-NEXT: 4 4 1.00 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - HWDivider
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-avx2.s b/test/tools/llvm-mca/X86/Haswell/resources-avx2.s
index ef79db0e833..7f76dba9320 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-avx2.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-avx2.s
@@ -454,7 +454,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s b/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s
index b8ad253450e..042d043bd23 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-bmi1.s
@@ -43,7 +43,7 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-bmi2.s b/test/tools/llvm-mca/X86/Haswell/resources-bmi2.s
index 85c7c1fc3f7..980e48141aa 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-bmi2.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-bmi2.s
@@ -55,7 +55,7 @@ shrx %rax, (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-cmov.s b/test/tools/llvm-mca/X86/Haswell/resources-cmov.s
index 61b2ee97cf1..15fad370045 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-f16c.s b/test/tools/llvm-mca/X86/Haswell/resources-f16c.s
index 3e8c966e10b..538ecf99074 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-f16c.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-f16c.s
@@ -19,7 +19,7 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 1.00 vcvtph2ps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-fma.s b/test/tools/llvm-mca/X86/Haswell/resources-fma.s
index 92af8da7e03..4720976ccc0 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-fma.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-fma.s
@@ -295,7 +295,7 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s b/test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s
index 38356db5446..9dd4690c046 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-lzcnt.s
@@ -16,7 +16,7 @@ lzcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-mmx.s b/test/tools/llvm-mca/X86/Haswell/resources-mmx.s
index 48277fe9133..5094dd1937f 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.00 * * * emms
+# CHECK-NEXT: 31 31 10.00 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 1 1.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-popcnt.s b/test/tools/llvm-mca/X86/Haswell/resources-popcnt.s
index 820b3a4dc96..0bb50d437c2 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-sse1.s b/test/tools/llvm-mca/X86/Haswell/resources-sse1.s
index 1b078baa522..b3985b4127b 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 19 7.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 13 7.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 18 7.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.33 * * * sfence
+# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 11 7.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 17 7.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 11 7.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 16 7.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-sse2.s b/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
index 033cb7efe7e..5f788137710 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 26 14.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 20 14.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 25 14.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.50 * * * lfence
-# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 2 2 0.50 * * U lfence
+# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-sse3.s b/test/tools/llvm-mca/X86/Haswell/resources-sse3.s
index 61a096d280a..776ff79bec5 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-sse41.s b/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
index c25d10c10e2..70d93983864 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-sse42.s b/test/tools/llvm-mca/X86/Haswell/resources-sse42.s
index 3097ad3a221..2045a3c47e4 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-ssse3.s b/test/tools/llvm-mca/X86/Haswell/resources-ssse3.s
index 0ae323a1ed2..60fd0321e01 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s b/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
index d7adad5188c..7b448ff2f92 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 9 22 1.00 * divb %dil
-# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
-# CHECK-NEXT: 32 98 8.00 * divw %si
-# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
-# CHECK-NEXT: 32 98 8.00 * divl %edx
-# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
-# CHECK-NEXT: 32 98 8.00 * divq %rcx
-# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
-# CHECK-NEXT: 9 23 1.00 * idivb %dil
-# CHECK-NEXT: 2 29 10.00 * * idivb (%rax)
-# CHECK-NEXT: 66 112 16.50 * idivw %si
-# CHECK-NEXT: 2 29 10.00 * * idivw (%rax)
-# CHECK-NEXT: 66 112 16.50 * idivl %edx
-# CHECK-NEXT: 2 29 10.00 * * idivl (%rax)
-# CHECK-NEXT: 66 112 16.50 * idivq %rcx
-# CHECK-NEXT: 2 29 10.00 * * idivq (%rax)
+# CHECK-NEXT: 9 22 1.00 U divb %dil
+# CHECK-NEXT: 2 29 10.00 * U divb (%rax)
+# CHECK-NEXT: 32 98 8.00 U divw %si
+# CHECK-NEXT: 2 29 10.00 * U divw (%rax)
+# CHECK-NEXT: 32 98 8.00 U divl %edx
+# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
+# CHECK-NEXT: 32 98 8.00 U divq %rcx
+# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
+# CHECK-NEXT: 9 23 1.00 U idivb %dil
+# CHECK-NEXT: 2 29 10.00 * U idivb (%rax)
+# CHECK-NEXT: 66 112 16.50 U idivw %si
+# CHECK-NEXT: 2 29 10.00 * U idivw (%rax)
+# CHECK-NEXT: 66 112 16.50 U idivl %edx
+# CHECK-NEXT: 2 29 10.00 * U idivl (%rax)
+# CHECK-NEXT: 66 112 16.50 U idivq %rcx
+# CHECK-NEXT: 2 29 10.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
diff --git a/test/tools/llvm-mca/X86/Haswell/resources-x87.s b/test/tools/llvm-mca/X86/Haswell/resources-x87.s
index 756e17195de..53006bbc329 100644
--- a/test/tools/llvm-mca/X86/Haswell/resources-x87.s
+++ b/test/tools/llvm-mca/X86/Haswell/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 43 47 10.75 * fbld (%ecx)
-# CHECK-NEXT: 2 1 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 4 4 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 2 1 0.50 * fcompp
-# CHECK-NEXT: 3 1 0.50 * fcomi %st(3)
-# CHECK-NEXT: 3 1 0.50 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 2 2 1.00 * fdecstp
-# CHECK-NEXT: 1 24 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdiv %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 24 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 24 1.00 * fdivp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 24 1.00 * fdivr %st(2)
-# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 1 0.50 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 15 75 6.00 * fninit
-# CHECK-NEXT: 3 4 1.00 * * fists (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld %st(0)
-# CHECK-NEXT: 1 7 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 1 7 0.50 * * fldt (%eax)
-# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 64 61 14.00 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 12 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 15 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 28 19 7.00 * fprem
-# CHECK-NEXT: 41 27 10.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 17 11 4.25 * frndint
-# CHECK-NEXT: 90 1 22.50 * frstor (%eax)
-# CHECK-NEXT: 147 1 36.75 * fnsave (%eax)
-# CHECK-NEXT: 50 75 12.50 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 23 17.00 * fsqrt
-# CHECK-NEXT: 1 1 0.50 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.50 * fstp %st(0)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 100 115 19.50 * fnstenv (%eax)
-# CHECK-NEXT: 3 4 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 90 1 22.50 * frstor (%eax)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 147 1 36.75 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 1 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 2 1 0.50 * fucompp
-# CHECK-NEXT: 3 1 0.50 * fucomi %st(3)
-# CHECK-NEXT: 3 1 0.50 * fucompi %st(3)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 2 1 2.00 * fxam
-# CHECK-NEXT: 15 17 4.00 * fxch %st(1)
-# CHECK-NEXT: 15 17 4.00 * fxch %st(3)
-# CHECK-NEXT: 90 64 16.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 17 15 4.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# CHECK-NEXT: 1 100 0.25 U f2xm1
+# CHECK-NEXT: 1 1 1.00 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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: 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(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0)
+# 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: 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 1 0.50 U fcompp
+# CHECK-NEXT: 3 1 0.50 U fcomi %st(3)
+# CHECK-NEXT: 3 1 0.50 U fcompi %st(3)
+# CHECK-NEXT: 1 100 0.25 U fcos
+# CHECK-NEXT: 2 2 1.00 U fdecstp
+# CHECK-NEXT: 1 24 1.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdiv %st(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 24 1.00 U fdivp %st(1)
+# CHECK-NEXT: 1 24 1.00 U fdivp %st(2)
+# CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx)
+# CHECK-NEXT: 3 34 1.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 20 1.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 24 1.00 U fdivr %st(2)
+# CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(2)
+# 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: 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)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 15 75 6.00 U fninit
+# CHECK-NEXT: 3 4 1.00 * U fists (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)
+# CHECK-NEXT: 3 4 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fld %st(0)
+# CHECK-NEXT: 1 7 0.50 * U flds (%edx)
+# 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: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# CHECK-NEXT: 2 1 1.00 U fldln2
+# CHECK-NEXT: 2 1 1.00 U fldpi
+# CHECK-NEXT: 1 1 0.50 U fldz
+# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 28 19 7.00 U fprem
+# 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: 50 75 12.50 U fscale
+# CHECK-NEXT: 1 100 0.25 U fsin
+# CHECK-NEXT: 1 100 0.25 U fsincos
+# CHECK-NEXT: 1 23 17.00 U fsqrt
+# CHECK-NEXT: 1 1 0.50 U fst %st(0)
+# CHECK-NEXT: 1 1 1.00 * U fsts (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 1 0.50 U fstp %st(0)
+# CHECK-NEXT: 2 1 1.00 * U fstpl (%edx)
+# 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: 2 2 0.50 U wait
+# CHECK-NEXT: 147 1 36.75 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 1 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 2 1 0.50 U fucompp
+# CHECK-NEXT: 3 1 0.50 U fucomi %st(3)
+# CHECK-NEXT: 3 1 0.50 U fucompi %st(3)
+# CHECK-NEXT: 2 2 0.50 U wait
+# CHECK-NEXT: 2 1 2.00 U fxam
+# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
+# CHECK-NEXT: 15 17 4.00 U fxch %st(3)
+# CHECK-NEXT: 90 64 16.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 17 15 4.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - HWDivider
diff --git a/test/tools/llvm-mca/X86/SLM/resources-cmov.s b/test/tools/llvm-mca/X86/SLM/resources-cmov.s
index 460aefe48b4..9b0d905bff6 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/SLM/resources-mmx.s b/test/tools/llvm-mca/X86/SLM/resources-mmx.s
index 426ff803305..ac4d8622fa6 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 9 10 5.00 * * * emms
+# CHECK-NEXT: 9 10 5.00 * * U emms
# CHECK-NEXT: 1 1 0.50 movd %eax, %mm2
# CHECK-NEXT: 1 3 1.00 * movd (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movq %rax, %mm2
# CHECK-NEXT: 1 3 1.00 * movq (%rax), %mm2
# CHECK-NEXT: 1 1 0.50 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/SLM/resources-popcnt.s b/test/tools/llvm-mca/X86/SLM/resources-popcnt.s
index 59097b9b5a4..7505f280bd2 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/SLM/resources-sse1.s b/test/tools/llvm-mca/X86/SLM/resources-sse1.s
index a4bb9fa087b..1b966a1c846 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 42 39.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 19 17.00 divss %xmm0, %xmm2
# CHECK-NEXT: 1 22 17.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 1 3 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 1 4 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 1 4 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 1 4 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 3 1.00 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 8 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 8 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 41 40.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 1 44 40.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 23 20.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SLM/resources-sse2.s b/test/tools/llvm-mca/X86/SLM/resources-sse2.s
index 031df589739..9ab05ee1083 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 4 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 1 3 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 1 3 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 72 69.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 34 32.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 1 37 32.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * lfence
-# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 1.00 * * U lfence
+# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 1 6 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SLM/resources-sse3.s b/test/tools/llvm-mca/X86/SLM/resources-sse3.s
index 0959e8af136..ba140f216ed 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SLM/resources-sse41.s b/test/tools/llvm-mca/X86/SLM/resources-sse41.s
index 2ec2479d8ac..ce74a7625e7 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 1.00 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SLM/resources-sse42.s b/test/tools/llvm-mca/X86/SLM/resources-sse42.s
index a4d3dc9c68c..6354ad47dc4 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/SLM/resources-ssse3.s b/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
index 2725533f717..6fcec27deb3 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/SLM/resources-x86_64.s b/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
index 3c30ded1541..4b516959ab7 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 4 2.00 * * btcq $7, (%rax)
# CHECK-NEXT: 2 4 2.00 * * btrq $7, (%rax)
# CHECK-NEXT: 2 4 2.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.50 * clc
+# CHECK-NEXT: 1 1 0.50 U clc
# CHECK-NEXT: 1 1 0.50 decb %dil
# CHECK-NEXT: 2 5 2.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 5 2.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.50 decq %rdi
# CHECK-NEXT: 2 5 2.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 25.00 * divb %dil
-# CHECK-NEXT: 1 29 25.00 * * divb (%rax)
-# CHECK-NEXT: 1 25 25.00 * divw %si
-# CHECK-NEXT: 1 29 25.00 * * divw (%rax)
-# CHECK-NEXT: 1 25 25.00 * divl %edx
-# CHECK-NEXT: 1 29 25.00 * * divl (%rax)
-# CHECK-NEXT: 1 25 25.00 * divq %rcx
-# CHECK-NEXT: 1 29 25.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 25.00 * idivb %dil
-# CHECK-NEXT: 1 29 25.00 * * idivb (%rax)
-# CHECK-NEXT: 1 25 25.00 * idivw %si
-# CHECK-NEXT: 1 29 25.00 * * idivw (%rax)
-# CHECK-NEXT: 1 25 25.00 * idivl %edx
-# CHECK-NEXT: 1 29 25.00 * * idivl (%rax)
-# CHECK-NEXT: 1 25 25.00 * idivq %rcx
-# CHECK-NEXT: 1 29 25.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 25.00 U divb %dil
+# CHECK-NEXT: 1 29 25.00 * U divb (%rax)
+# CHECK-NEXT: 1 25 25.00 U divw %si
+# CHECK-NEXT: 1 29 25.00 * U divw (%rax)
+# CHECK-NEXT: 1 25 25.00 U divl %edx
+# CHECK-NEXT: 1 29 25.00 * U divl (%rax)
+# CHECK-NEXT: 1 25 25.00 U divq %rcx
+# CHECK-NEXT: 1 29 25.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 25.00 U idivb %dil
+# CHECK-NEXT: 1 29 25.00 * U idivb (%rax)
+# CHECK-NEXT: 1 25 25.00 U idivw %si
+# CHECK-NEXT: 1 29 25.00 * U idivw (%rax)
+# CHECK-NEXT: 1 25 25.00 U idivl %edx
+# CHECK-NEXT: 1 29 25.00 * U idivl (%rax)
+# CHECK-NEXT: 1 25 25.00 U idivq %rcx
+# CHECK-NEXT: 1 29 25.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 1 6 1.00 * imulb (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di
diff --git a/test/tools/llvm-mca/X86/SLM/resources-x87.s b/test/tools/llvm-mca/X86/SLM/resources-x87.s
index 511cab74827..fe5de61296f 100644
--- a/test/tools/llvm-mca/X86/SLM/resources-x87.s
+++ b/test/tools/llvm-mca/X86/SLM/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 1.00 * f2xm1
-# CHECK-NEXT: 1 1 0.50 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fiadds (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 1.00 * fbld (%ecx)
-# CHECK-NEXT: 1 100 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 0.50 * fchs
-# CHECK-NEXT: 1 100 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 3 1.00 * fcom %st(3)
-# CHECK-NEXT: 1 6 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 1 6 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 3 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fcomp %st(3)
-# CHECK-NEXT: 1 6 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 1 6 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 1.00 * fcompp
-# CHECK-NEXT: 1 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 1.00 * fcos
-# CHECK-NEXT: 1 100 1.00 * fdecstp
-# CHECK-NEXT: 1 19 17.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 19 17.00 * fdiv %st(2)
-# CHECK-NEXT: 1 22 17.00 * * fdivs (%ecx)
-# CHECK-NEXT: 1 22 17.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 19 17.00 * fdivp %st(1)
-# CHECK-NEXT: 1 19 17.00 * fdivp %st(2)
-# CHECK-NEXT: 1 22 17.00 * * fidivs (%ecx)
-# CHECK-NEXT: 1 22 17.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 19 17.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 19 17.00 * fdivr %st(2)
-# CHECK-NEXT: 1 22 17.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 1 22 17.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 19 17.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 19 17.00 * fdivrp %st(2)
-# CHECK-NEXT: 1 22 17.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 1 22 17.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 1.00 * ffree %st(0)
-# CHECK-NEXT: 1 6 1.00 * ficoms (%ecx)
-# CHECK-NEXT: 1 6 1.00 * ficoml (%eax)
-# CHECK-NEXT: 1 6 1.00 * ficomps (%ecx)
-# CHECK-NEXT: 1 6 1.00 * ficompl (%eax)
-# CHECK-NEXT: 1 3 1.00 * * filds (%edx)
-# CHECK-NEXT: 1 3 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 100 1.00 * fincstp
-# CHECK-NEXT: 1 100 1.00 * fninit
-# CHECK-NEXT: 1 1 1.00 * * fists (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fistps (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld %st(0)
-# CHECK-NEXT: 1 3 1.00 * * flds (%edx)
-# CHECK-NEXT: 1 3 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * * fldt (%eax)
-# CHECK-NEXT: 1 3 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 1.00 * fldenv (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 5 2.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 2.00 * fmul %st(2)
-# CHECK-NEXT: 1 8 2.00 * * fmuls (%ecx)
-# CHECK-NEXT: 1 8 2.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 2.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 2.00 * fmulp %st(2)
-# CHECK-NEXT: 1 8 2.00 * * fimuls (%ecx)
-# CHECK-NEXT: 1 8 2.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 1.00 * fpatan
-# CHECK-NEXT: 1 100 1.00 * fprem
-# CHECK-NEXT: 1 100 1.00 * fprem1
-# CHECK-NEXT: 1 100 1.00 * fptan
-# CHECK-NEXT: 1 100 1.00 * frndint
-# CHECK-NEXT: 1 100 1.00 * frstor (%eax)
-# CHECK-NEXT: 1 100 1.00 * fnsave (%eax)
-# CHECK-NEXT: 1 100 1.00 * fscale
-# CHECK-NEXT: 1 100 1.00 * fsin
-# CHECK-NEXT: 1 100 1.00 * fsincos
-# CHECK-NEXT: 1 40 40.00 * fsqrt
-# CHECK-NEXT: 1 1 0.50 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.50 * fstp %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 1 1 0.50 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 1.00 * fnstenv (%eax)
-# CHECK-NEXT: 1 100 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 1.00 * frstor (%eax)
-# CHECK-NEXT: 1 100 1.00 * wait
-# CHECK-NEXT: 1 100 1.00 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fisubs (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 1 6 1.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 1 6 1.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 3 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 3 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 1 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 1 100 1.00 * wait
-# CHECK-NEXT: 1 100 1.00 * fxam
-# CHECK-NEXT: 1 1 0.50 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.50 * fxch %st(3)
-# CHECK-NEXT: 1 100 1.00 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 1.00 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 1.00 * fxtract
-# CHECK-NEXT: 1 100 1.00 * fyl2x
-# CHECK-NEXT: 1 100 1.00 * fyl2xp1
+# CHECK-NEXT: 1 100 1.00 U f2xm1
+# CHECK-NEXT: 1 1 0.50 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 6 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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 1 0.50 U fchs
+# CHECK-NEXT: 1 100 1.00 U fnclex
+# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0)
+# 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 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 100 1.00 U fcompp
+# CHECK-NEXT: 1 3 1.00 U fcomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 100 1.00 U fcos
+# CHECK-NEXT: 1 100 1.00 U fdecstp
+# CHECK-NEXT: 1 19 17.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 19 17.00 U fdiv %st(2)
+# CHECK-NEXT: 1 22 17.00 * U fdivs (%ecx)
+# CHECK-NEXT: 1 22 17.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 19 17.00 U fdivp %st(1)
+# CHECK-NEXT: 1 19 17.00 U fdivp %st(2)
+# CHECK-NEXT: 1 22 17.00 * U fidivs (%ecx)
+# CHECK-NEXT: 1 22 17.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 19 17.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 19 17.00 U fdivr %st(2)
+# CHECK-NEXT: 1 22 17.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 1 22 17.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 19 17.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 19 17.00 U fdivrp %st(2)
+# 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 3 1.00 * U filds (%edx)
+# CHECK-NEXT: 1 3 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 1 3 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 100 1.00 U fincstp
+# CHECK-NEXT: 1 100 1.00 U fninit
+# CHECK-NEXT: 1 1 1.00 * U fists (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fistps (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fistpll (%eax)
+# CHECK-NEXT: 1 1 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 1 1 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fld %st(0)
+# CHECK-NEXT: 1 3 1.00 * U flds (%edx)
+# 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 1 0.50 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# CHECK-NEXT: 2 1 1.00 U fldln2
+# CHECK-NEXT: 2 1 1.00 U fldpi
+# CHECK-NEXT: 1 1 0.50 U fldz
+# CHECK-NEXT: 1 5 2.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 5 2.00 U fmul %st(2)
+# CHECK-NEXT: 1 8 2.00 * U fmuls (%ecx)
+# CHECK-NEXT: 1 8 2.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 2.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 2.00 U fmulp %st(2)
+# CHECK-NEXT: 1 8 2.00 * U fimuls (%ecx)
+# CHECK-NEXT: 1 8 2.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 1.00 U fpatan
+# CHECK-NEXT: 1 100 1.00 U fprem
+# 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 fscale
+# CHECK-NEXT: 1 100 1.00 U fsin
+# CHECK-NEXT: 1 100 1.00 U fsincos
+# CHECK-NEXT: 1 40 40.00 U fsqrt
+# CHECK-NEXT: 1 1 0.50 U fst %st(0)
+# CHECK-NEXT: 1 1 1.00 * U fsts (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 1 0.50 U fstp %st(0)
+# CHECK-NEXT: 1 1 1.00 * U fstpl (%edx)
+# 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 wait
+# CHECK-NEXT: 1 100 1.00 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 6 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 6 1.00 * U fisubs (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 6 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 6 1.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 1 6 1.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 3 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 3 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 1 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 100 1.00 U wait
+# CHECK-NEXT: 1 100 1.00 U fxam
+# CHECK-NEXT: 1 1 0.50 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.50 U fxch %st(3)
+# CHECK-NEXT: 1 100 1.00 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 1.00 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 1.00 U fxtract
+# CHECK-NEXT: 1 100 1.00 U fyl2x
+# CHECK-NEXT: 1 100 1.00 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SLMDivider
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-aes.s b/test/tools/llvm-mca/X86/SandyBridge/resources-aes.s
index 37c7037d168..4083492a46d 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-aes.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-aes.s
@@ -25,7 +25,7 @@ aeskeygenassist $22, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 7 1.00 aesdec %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s b/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
index 49d3485d2b4..6f108af4fc6 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-avx1.s
@@ -1015,7 +1015,7 @@ vzeroupper
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
@@ -1206,8 +1206,8 @@ vzeroupper
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 4 5 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 4 5 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 3 9 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 3 5 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
@@ -1281,7 +1281,7 @@ vzeroupper
# CHECK-NEXT: 1 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 7 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 7 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskps %xmm0, %ecx
@@ -1650,7 +1650,7 @@ vzeroupper
# CHECK-NEXT: 2 27 21.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 14 14.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 20 14.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 9 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
@@ -1699,8 +1699,8 @@ vzeroupper
# CHECK-NEXT: 2 7 1.00 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 1.00 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 100 0.33 * * * vzeroall
-# CHECK-NEXT: 1 100 0.33 * * * vzeroupper
+# CHECK-NEXT: 1 100 0.33 * * U vzeroall
+# CHECK-NEXT: 1 100 0.33 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s b/test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s
index 2acb875e535..9cdd8290a4f 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-clmul.s
@@ -10,7 +10,7 @@ pclmulqdq $11, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 14 6.00 pclmulqdq $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-cmov.s b/test/tools/llvm-mca/X86/SandyBridge/resources-cmov.s
index 7082a81e313..659040b2c20 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s b/test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s
index 09d10460dcc..a2ec86e8724 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-f16c.s
@@ -19,7 +19,7 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vcvtph2ps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s b/test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s
index cc7b89ea6cc..2fd208744f4 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 31 31 10.33 * * * emms
+# CHECK-NEXT: 31 31 10.33 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s b/test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s
index 2f62c78948f..142c0f37d7a 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s b/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
index f21741ba299..61165e6b62f 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 20 14.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 4 5 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 7 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 7 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 7 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 6 0.50 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 11 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * sfence
+# CHECK-NEXT: 1 1 1.00 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 14 14.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 20 14.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s b/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
index 9550dadd9d3..d0e9437f568 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 7 1.00 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * andpd (%rax), %xmm2
-# CHECK-NEXT: 4 5 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 4 5 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 28 22.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 22 22.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 28 22.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 1.00 * * * lfence
-# CHECK-NEXT: 1 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 1.00 * * U lfence
+# CHECK-NEXT: 1 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s b/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s
index 7a628db5c6e..70e3f5b31f4 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s b/test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s
index a0897ad75c0..fc23c7a0810 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s b/test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s
index 1004deb0bee..62aa03755ef 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s b/test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s
index 07fd6a5c886..ecee0b8c98a 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s b/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
index 1ed45397efb..edf65070870 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.67 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 7 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 7 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.33 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.33 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.33 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 2 30 10.00 * * divb (%rax)
-# CHECK-NEXT: 1 25 10.00 * divw %si
-# CHECK-NEXT: 2 30 10.00 * * divw (%rax)
-# CHECK-NEXT: 1 25 10.00 * divl %edx
-# CHECK-NEXT: 2 30 10.00 * * divl (%rax)
-# CHECK-NEXT: 1 25 10.00 * divq %rcx
-# CHECK-NEXT: 2 30 10.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 2 30 10.00 * * idivb (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivw %si
-# CHECK-NEXT: 2 30 10.00 * * idivw (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivl %edx
-# CHECK-NEXT: 2 30 10.00 * * idivl (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivq %rcx
-# CHECK-NEXT: 2 30 10.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 2 30 10.00 * U divb (%rax)
+# CHECK-NEXT: 1 25 10.00 U divw %si
+# CHECK-NEXT: 2 30 10.00 * U divw (%rax)
+# CHECK-NEXT: 1 25 10.00 U divl %edx
+# CHECK-NEXT: 2 30 10.00 * U divl (%rax)
+# CHECK-NEXT: 1 25 10.00 U divq %rcx
+# CHECK-NEXT: 2 30 10.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 2 30 10.00 * U idivb (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivw %si
+# CHECK-NEXT: 2 30 10.00 * U idivw (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivl %edx
+# CHECK-NEXT: 2 30 10.00 * U idivl (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivq %rcx
+# CHECK-NEXT: 2 30 10.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.33 imulw %di
diff --git a/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s b/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
index 8c0b2fe3df2..332f365f1fd 100644
--- a/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
+++ b/test/tools/llvm-mca/X86/SandyBridge/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.33 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.33 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.33 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 1 100 0.33 * fnclex
-# CHECK-NEXT: 3 3 2.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 3 3 2.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.33 * fcompp
-# CHECK-NEXT: 3 3 1.00 * fcomi %st(3)
-# CHECK-NEXT: 3 3 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.33 * fcos
-# CHECK-NEXT: 1 1 1.00 * fdecstp
-# CHECK-NEXT: 1 14 14.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdiv %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivp %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivr %st(2)
-# CHECK-NEXT: 2 31 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 31 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 14 14.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 14 14.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 34 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 34 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 1 1.00 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fincstp
-# CHECK-NEXT: 4 5 1.33 * fninit
-# CHECK-NEXT: 4 9 1.00 * * fists (%edx)
-# CHECK-NEXT: 4 9 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 4 9 1.00 * * fistps (%edx)
-# CHECK-NEXT: 4 9 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 4 9 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 5 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 5 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 5 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 1.00 * fld %st(0)
-# CHECK-NEXT: 3 9 1.00 * * flds (%edx)
-# CHECK-NEXT: 3 9 1.00 * * fldl (%ecx)
-# CHECK-NEXT: 3 9 1.00 * * fldt (%eax)
-# CHECK-NEXT: 5 8 2.00 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.33 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 1.00 * fldz
-# CHECK-NEXT: 1 5 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 12 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 12 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 5 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 15 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 15 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 1.00 * fnop
-# CHECK-NEXT: 1 100 0.33 * fpatan
-# CHECK-NEXT: 1 100 0.33 * fprem
-# CHECK-NEXT: 1 100 0.33 * fprem1
-# CHECK-NEXT: 1 100 0.33 * fptan
-# CHECK-NEXT: 1 100 0.33 * frndint
-# CHECK-NEXT: 1 100 0.33 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.33 * fscale
-# CHECK-NEXT: 1 100 0.33 * fsin
-# CHECK-NEXT: 1 100 0.33 * fsincos
-# CHECK-NEXT: 1 24 24.00 * fsqrt
-# CHECK-NEXT: 1 1 1.00 * fst %st(0)
-# CHECK-NEXT: 3 6 1.00 * * fsts (%edx)
-# CHECK-NEXT: 3 6 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 1.00 * fstp %st(0)
-# CHECK-NEXT: 3 6 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 3 6 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 3 6 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 4 7 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.33 * fnstenv (%eax)
-# CHECK-NEXT: 4 7 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.33 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * wait
-# CHECK-NEXT: 1 100 0.33 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 3 1.00 * fucompp
-# CHECK-NEXT: 3 3 1.00 * fucomi %st(3)
-# CHECK-NEXT: 3 3 1.00 * fucompi %st(3)
-# CHECK-NEXT: 1 100 0.33 * wait
-# CHECK-NEXT: 1 100 0.33 * fxam
-# CHECK-NEXT: 1 1 0.33 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.33 * fxch %st(3)
-# CHECK-NEXT: 5 5 2.00 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.33 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.33 * fxtract
-# CHECK-NEXT: 1 100 0.33 * fyl2x
-# CHECK-NEXT: 1 100 0.33 * fyl2xp1
+# CHECK-NEXT: 1 100 0.33 U f2xm1
+# CHECK-NEXT: 1 1 1.00 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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 1 1.00 U fchs
+# CHECK-NEXT: 1 100 0.33 U fnclex
+# CHECK-NEXT: 3 3 2.00 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 3 3 2.00 U fcmovu %st(1), %st(0)
+# 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: 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: 1 100 0.33 U fcompp
+# CHECK-NEXT: 3 3 1.00 U fcomi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 100 0.33 U fcos
+# CHECK-NEXT: 1 1 1.00 U fdecstp
+# CHECK-NEXT: 1 14 14.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdiv %st(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivp %st(2)
+# CHECK-NEXT: 3 34 1.00 * U fidivs (%ecx)
+# CHECK-NEXT: 3 34 1.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivr %st(2)
+# CHECK-NEXT: 2 31 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 2 31 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 14 14.00 U fdivrp %st(2)
+# 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: 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)
+# CHECK-NEXT: 1 1 1.00 U fincstp
+# CHECK-NEXT: 4 5 1.33 U fninit
+# CHECK-NEXT: 4 9 1.00 * U fists (%edx)
+# CHECK-NEXT: 4 9 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 4 9 1.00 * U fistps (%edx)
+# CHECK-NEXT: 4 9 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 4 9 1.00 * U fistpll (%eax)
+# CHECK-NEXT: 3 5 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 3 5 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 3 5 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 1.00 U fld %st(0)
+# CHECK-NEXT: 3 9 1.00 * U flds (%edx)
+# 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: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# CHECK-NEXT: 2 1 1.00 U fldln2
+# CHECK-NEXT: 2 1 1.00 U fldpi
+# CHECK-NEXT: 1 1 1.00 U fldz
+# CHECK-NEXT: 1 5 1.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmul %st(2)
+# CHECK-NEXT: 2 12 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 12 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 5 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 15 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 15 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 1.00 U fnop
+# CHECK-NEXT: 1 100 0.33 U fpatan
+# CHECK-NEXT: 1 100 0.33 U fprem
+# 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 fscale
+# CHECK-NEXT: 1 100 0.33 U fsin
+# CHECK-NEXT: 1 100 0.33 U fsincos
+# CHECK-NEXT: 1 24 24.00 U fsqrt
+# CHECK-NEXT: 1 1 1.00 U fst %st(0)
+# CHECK-NEXT: 3 6 1.00 * U fsts (%edx)
+# CHECK-NEXT: 3 6 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 1 1.00 U fstp %st(0)
+# CHECK-NEXT: 3 6 1.00 * U fstpl (%edx)
+# 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 wait
+# CHECK-NEXT: 1 100 0.33 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 3 1.00 U fucompp
+# CHECK-NEXT: 3 3 1.00 U fucomi %st(3)
+# CHECK-NEXT: 3 3 1.00 U fucompi %st(3)
+# CHECK-NEXT: 1 100 0.33 U wait
+# CHECK-NEXT: 1 100 0.33 U fxam
+# CHECK-NEXT: 1 1 0.33 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.33 U fxch %st(3)
+# CHECK-NEXT: 5 5 2.00 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.33 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.33 U fxtract
+# CHECK-NEXT: 1 100 0.33 U fyl2x
+# CHECK-NEXT: 1 100 0.33 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SBDivider
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-adx.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-adx.s
index 784708faad5..cfb0da11259 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-adx.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-adx.s
@@ -17,7 +17,7 @@ adox (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcxl %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
index a56c033d54b..8dcdb400c64 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
@@ -1015,7 +1015,7 @@ vzeroupper
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 vaddpd %xmm0, %xmm1, %xmm2
@@ -1206,8 +1206,8 @@ vzeroupper
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
@@ -1281,7 +1281,7 @@ vzeroupper
# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskps %xmm0, %ecx
@@ -1650,7 +1650,7 @@ vzeroupper
# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 4 0.50 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 0.50 vsubpd %ymm0, %ymm1, %ymm2
@@ -1699,8 +1699,8 @@ vzeroupper
# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.33 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 16 16 4.00 * * * vzeroall
-# CHECK-NEXT: 4 4 1.00 * * * vzeroupper
+# CHECK-NEXT: 16 16 4.00 * * U vzeroall
+# CHECK-NEXT: 4 4 1.00 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - SKLDivider
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
index 1ec8a4a313b..6804bcc13e4 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
@@ -454,7 +454,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s
index bff1c193bfc..396e7a2a2a1 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi1.s
@@ -43,7 +43,7 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s
index 73758e2b04a..a39b7843e17 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-bmi2.s
@@ -55,7 +55,7 @@ shrx %rax, (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-cmov.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-cmov.s
index e4aafd1778a..9b9839bf1bb 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s
index 3d9b365a563..648c7b818a1 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-f16c.s
@@ -19,7 +19,7 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 5 1.00 vcvtph2ps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s
index fc3053f94b4..cd70fd763bc 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-fma.s
@@ -295,7 +295,7 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s
index 387db949a24..98e461826a9 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-lzcnt.s
@@ -16,7 +16,7 @@ lzcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s
index 0ec3154ebbf..8da7071f0b7 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 10 10 4.50 * * * emms
+# CHECK-NEXT: 10 10 4.50 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s
index 3ba56d26317..a9b0b1507e4 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
index 1964a0758f4..23d5cf37ba5 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 17 5.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 16 3.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 4 0.50 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.33 * * * sfence
+# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 18 3.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 17 3.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 4 0.50 subps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * subps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
index 16f41c624be..f9cee78654b 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2
-# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 4 0.50 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 14 3.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.50 * * * lfence
-# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 2 2 0.50 * * U lfence
+# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 4 0.50 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s
index 751163c804d..d7a9e5aa44f 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
index c4c0e599a7f..5789de04c3d 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s
index a6600ce2ac3..f465eb4e78e 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s
index 94fa439c3c2..a0e2de6e923 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
index 4b086365724..161a60932a4 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.17 * clc
+# CHECK-NEXT: 1 1 0.17 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
-# CHECK-NEXT: 32 76 8.00 * divw %si
-# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
-# CHECK-NEXT: 32 76 8.00 * divl %edx
-# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
-# CHECK-NEXT: 32 76 8.00 * divq %rcx
-# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 8 28 4.00 * * idivb (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivw %si
-# CHECK-NEXT: 8 28 4.00 * * idivw (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivl %edx
-# CHECK-NEXT: 8 28 4.00 * * idivl (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivq %rcx
-# CHECK-NEXT: 8 28 4.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 2 29 10.00 * U divb (%rax)
+# CHECK-NEXT: 32 76 8.00 U divw %si
+# CHECK-NEXT: 2 29 10.00 * U divw (%rax)
+# CHECK-NEXT: 32 76 8.00 U divl %edx
+# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
+# CHECK-NEXT: 32 76 8.00 U divq %rcx
+# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 8 28 4.00 * U idivb (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivw %si
+# CHECK-NEXT: 8 28 4.00 * U idivw (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivl %edx
+# CHECK-NEXT: 8 28 4.00 * U idivl (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivq %rcx
+# CHECK-NEXT: 8 28 4.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
diff --git a/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s b/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
index 45b08684652..7be9d699573 100644
--- a/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
+++ b/test/tools/llvm-mca/X86/SkylakeClient/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbld (%ecx)
-# CHECK-NEXT: 2 1 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 4 4 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.25 * fcompp
-# CHECK-NEXT: 1 2 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 2 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 2 2 1.00 * fdecstp
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdiv %st(2)
-# CHECK-NEXT: 2 22 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 22 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(2)
-# CHECK-NEXT: 3 25 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 25 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(2)
-# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 0.25 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 15 75 6.00 * fninit
-# CHECK-NEXT: 3 4 1.00 * * fists (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.25 * fld %st(0)
-# CHECK-NEXT: 1 7 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 1 7 0.50 * * fldt (%eax)
-# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 64 62 14.00 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 4 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 4 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 11 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 4 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 4 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 14 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 1 100 0.25 * fprem
-# CHECK-NEXT: 1 100 0.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 1 100 0.25 * frndint
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 21 7.00 * fsqrt
-# CHECK-NEXT: 1 1 0.25 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.25 * fstp %st(0)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 100 106 19.50 * fnstenv (%eax)
-# CHECK-NEXT: 3 3 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 2 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 2 1.00 * fucompp
-# CHECK-NEXT: 1 2 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 2 1.00 * fucompi %st(3)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fxam
-# CHECK-NEXT: 15 17 4.00 * fxch %st(1)
-# CHECK-NEXT: 15 17 4.00 * fxch %st(3)
-# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# CHECK-NEXT: 1 100 0.25 U f2xm1
+# CHECK-NEXT: 1 1 1.00 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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 1 1.00 U fchs
+# CHECK-NEXT: 4 4 1.00 U fnclex
+# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0)
+# 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: 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: 1 100 0.25 U fcompp
+# CHECK-NEXT: 1 2 1.00 U fcomi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 100 0.25 U fcos
+# CHECK-NEXT: 2 2 1.00 U fdecstp
+# CHECK-NEXT: 1 15 1.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdiv %st(2)
+# CHECK-NEXT: 2 22 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 2 22 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(2)
+# CHECK-NEXT: 3 25 1.00 * U fidivs (%ecx)
+# CHECK-NEXT: 3 25 1.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 20 1.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(2)
+# CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(2)
+# 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: 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)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 15 75 6.00 U fninit
+# CHECK-NEXT: 3 4 1.00 * U fists (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)
+# CHECK-NEXT: 3 4 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 0.25 U fld %st(0)
+# CHECK-NEXT: 1 7 0.50 * U flds (%edx)
+# 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: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# CHECK-NEXT: 2 1 1.00 U fldln2
+# CHECK-NEXT: 2 1 1.00 U fldpi
+# CHECK-NEXT: 1 1 0.50 U fldz
+# CHECK-NEXT: 1 4 1.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 4 1.00 U fmul %st(2)
+# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 1 100 0.25 U fprem
+# 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 fscale
+# CHECK-NEXT: 1 100 0.25 U fsin
+# CHECK-NEXT: 1 100 0.25 U fsincos
+# CHECK-NEXT: 1 21 7.00 U fsqrt
+# CHECK-NEXT: 1 1 0.25 U fst %st(0)
+# CHECK-NEXT: 1 1 1.00 * U fsts (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 1 0.25 U fstp %st(0)
+# CHECK-NEXT: 2 1 1.00 * U fstpl (%edx)
+# 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: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 2 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucompp
+# CHECK-NEXT: 1 2 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucompi %st(3)
+# CHECK-NEXT: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fxam
+# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
+# CHECK-NEXT: 15 17 4.00 U fxch %st(3)
+# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SKLDivider
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-adx.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-adx.s
index f34a1a40158..42dfcd40805 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-adx.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-adx.s
@@ -17,7 +17,7 @@ adox (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 adcxl %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
index fc28ed4288f..574194bef4e 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
@@ -1015,7 +1015,7 @@ vzeroupper
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 vaddpd %xmm0, %xmm1, %xmm2
@@ -1206,8 +1206,8 @@ vzeroupper
# CHECK-NEXT: 2 7 1.00 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 6 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 7 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 3 7 1.00 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 3 7 1.00 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
@@ -1281,7 +1281,7 @@ vzeroupper
# CHECK-NEXT: 2 1 1.00 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 1.00 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 6 1.00 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 2 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 2 1.00 vmovmskps %xmm0, %ecx
@@ -1650,7 +1650,7 @@ vzeroupper
# CHECK-NEXT: 2 23 6.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 12 3.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 17 3.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 4 0.50 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 0.50 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 0.50 vsubpd %ymm0, %ymm1, %ymm2
@@ -1699,8 +1699,8 @@ vzeroupper
# CHECK-NEXT: 2 7 0.50 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.33 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 16 16 4.00 * * * vzeroall
-# CHECK-NEXT: 4 4 1.00 * * * vzeroupper
+# CHECK-NEXT: 16 16 4.00 * * U vzeroall
+# CHECK-NEXT: 4 4 1.00 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
index a50febf70bd..7842bcac9db 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
@@ -454,7 +454,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 7 0.50 * vbroadcasti128 (%rax), %ymm0
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s
index 72d53580e37..af42e2bf499 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi1.s
@@ -43,7 +43,7 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 andnl %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s
index 38c74cdad83..d4af18b4c19 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-bmi2.s
@@ -55,7 +55,7 @@ shrx %rax, (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 bzhil %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-cmov.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-cmov.s
index 9a7fbbcda1b..edca13b2dc6 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s
index 0da66b3e1a3..4fda17866ef 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-f16c.s
@@ -19,7 +19,7 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 5 1.00 vcvtph2ps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s
index a3a405f3ac1..c32ece527b1 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-fma.s
@@ -295,7 +295,7 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s
index c37d340dbc3..a5dcf5dd26e 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-lzcnt.s
@@ -16,7 +16,7 @@ lzcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 lzcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s
index 6a1f749eb53..91c550c00bf 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 10 10 4.50 * * * emms
+# CHECK-NEXT: 10 10 4.50 * * U emms
# CHECK-NEXT: 1 1 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 5 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 2 1 1.00 * * movd %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 5 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s
index 7deb2c14f29..111102fce5c 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
index 9088a770530..2329735e73e 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 17 5.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 11 3.00 divss %xmm0, %xmm2
# CHECK-NEXT: 2 16 3.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 3 7 1.00 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 1 1.00 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 3 7 1.00 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 1 1.00 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 4 0.50 maxps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movhps %xmm0, (%rax)
# CHECK-NEXT: 2 6 1.00 * movhps (%rax), %xmm2
# CHECK-NEXT: 2 1 1.00 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 2 6 1.00 * movlps (%rax), %xmm2
+# CHECK-NEXT: 2 6 1.00 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 2 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 2 1 1.00 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 2 1 1.00 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 2 1 1.00 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 1.00 movss %xmm0, %xmm2
# CHECK-NEXT: 2 1 1.00 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 5 0.50 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 10 1.00 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 4 1.00 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 9 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.33 * * * sfence
+# CHECK-NEXT: 2 2 0.33 * * U sfence
# CHECK-NEXT: 1 1 1.00 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 2 7 1.00 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 18 3.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 12 3.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 17 3.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 3 2 1.00 * * * stmxcsr (%rax)
+# CHECK-NEXT: 3 2 1.00 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 4 0.50 subps %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * subps (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
index d39f7c0dd9d..89f468e51b0 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 7 0.50 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 andpd %xmm0, %xmm2
# CHECK-NEXT: 2 7 0.50 * andpd (%rax), %xmm2
-# CHECK-NEXT: 2 2 1.00 * * * clflush (%rax)
+# CHECK-NEXT: 2 2 1.00 * * U clflush (%rax)
# CHECK-NEXT: 1 4 0.50 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 2 20 4.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 14 3.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 2 19 4.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 2 2 0.50 * * * lfence
-# CHECK-NEXT: 2 1 1.00 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 2 2 0.50 * * U lfence
+# CHECK-NEXT: 2 1 1.00 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 4 0.50 maxpd %xmm0, %xmm2
# CHECK-NEXT: 2 10 0.50 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 4 0.50 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s
index 4fac1f6a504..0edccb9c78b 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 4 0.50 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
index d49f33cce15..9c4ccd4987a 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.33 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s
index 514e8e02c4b..51ed188cef0 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s
index a213d059e60..bc28ab550b0 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
index a712ddfeaa0..b11ddfe7bef 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 2 2 0.50 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 4 6 1.00 * * btcq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btrq $7, (%rax)
# CHECK-NEXT: 4 6 1.00 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.17 * clc
+# CHECK-NEXT: 1 1 0.17 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 3 7 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 3 7 1.00 * * decq (%rax)
-# CHECK-NEXT: 1 25 10.00 * divb %dil
-# CHECK-NEXT: 2 29 10.00 * * divb (%rax)
-# CHECK-NEXT: 32 76 8.00 * divw %si
-# CHECK-NEXT: 2 29 10.00 * * divw (%rax)
-# CHECK-NEXT: 32 76 8.00 * divl %edx
-# CHECK-NEXT: 2 29 10.00 * * divl (%rax)
-# CHECK-NEXT: 32 76 8.00 * divq %rcx
-# CHECK-NEXT: 2 29 10.00 * * divq (%rax)
-# CHECK-NEXT: 1 25 10.00 * idivb %dil
-# CHECK-NEXT: 8 28 4.00 * * idivb (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivw %si
-# CHECK-NEXT: 8 28 4.00 * * idivw (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivl %edx
-# CHECK-NEXT: 8 28 4.00 * * idivl (%rax)
-# CHECK-NEXT: 66 102 16.50 * idivq %rcx
-# CHECK-NEXT: 8 28 4.00 * * idivq (%rax)
+# CHECK-NEXT: 1 25 10.00 U divb %dil
+# CHECK-NEXT: 2 29 10.00 * U divb (%rax)
+# CHECK-NEXT: 32 76 8.00 U divw %si
+# CHECK-NEXT: 2 29 10.00 * U divw (%rax)
+# CHECK-NEXT: 32 76 8.00 U divl %edx
+# CHECK-NEXT: 2 29 10.00 * U divl (%rax)
+# CHECK-NEXT: 32 76 8.00 U divq %rcx
+# CHECK-NEXT: 2 29 10.00 * U divq (%rax)
+# CHECK-NEXT: 1 25 10.00 U idivb %dil
+# CHECK-NEXT: 8 28 4.00 * U idivb (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivw %si
+# CHECK-NEXT: 8 28 4.00 * U idivw (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivl %edx
+# CHECK-NEXT: 8 28 4.00 * U idivl (%rax)
+# CHECK-NEXT: 66 102 16.50 U idivq %rcx
+# CHECK-NEXT: 8 28 4.00 * U idivq (%rax)
# CHECK-NEXT: 1 3 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 4 4 1.00 imulw %di
diff --git a/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s b/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
index acfd4ed0a18..aecb4a7ab92 100644
--- a/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
+++ b/test/tools/llvm-mca/X86/SkylakeServer/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 1 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fiadds (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbld (%ecx)
-# CHECK-NEXT: 2 1 1.00 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 4 4 1.00 * fnclex
-# CHECK-NEXT: 1 3 1.00 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 3 1.00 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 2 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 2 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 100 0.25 * fcompp
-# CHECK-NEXT: 1 2 1.00 * fcomi %st(3)
-# CHECK-NEXT: 1 2 1.00 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 2 2 1.00 * fdecstp
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdiv %st(2)
-# CHECK-NEXT: 2 22 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 2 22 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(2)
-# CHECK-NEXT: 3 25 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 3 25 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(2)
-# CHECK-NEXT: 2 27 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 2 27 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 20 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 3 30 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 3 30 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 100 0.25 * ffree %st(0)
-# CHECK-NEXT: 3 11 2.00 * ficoms (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficoml (%eax)
-# CHECK-NEXT: 3 11 2.00 * ficomps (%ecx)
-# CHECK-NEXT: 3 11 2.00 * ficompl (%eax)
-# CHECK-NEXT: 2 10 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 10 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fincstp
-# CHECK-NEXT: 15 75 6.00 * fninit
-# CHECK-NEXT: 3 4 1.00 * * fists (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fistpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fistpll (%eax)
-# CHECK-NEXT: 3 4 1.00 * * fisttps (%edx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpl (%ecx)
-# CHECK-NEXT: 3 4 1.00 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.25 * fld %st(0)
-# CHECK-NEXT: 1 7 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 7 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 1 7 0.50 * * fldt (%eax)
-# CHECK-NEXT: 3 7 1.00 * * fldcw (%eax)
-# CHECK-NEXT: 64 62 14.00 * fldenv (%eax)
-# CHECK-NEXT: 2 1 1.00 * fld1
-# CHECK-NEXT: 2 1 1.00 * fldl2e
-# CHECK-NEXT: 2 1 1.00 * fldl2t
-# CHECK-NEXT: 2 1 1.00 * fldlg2
-# CHECK-NEXT: 2 1 1.00 * fldln2
-# CHECK-NEXT: 2 1 1.00 * fldpi
-# CHECK-NEXT: 1 1 0.50 * fldz
-# CHECK-NEXT: 1 4 1.00 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 4 1.00 * fmul %st(2)
-# CHECK-NEXT: 2 11 1.00 * * fmuls (%ecx)
-# CHECK-NEXT: 2 11 1.00 * * fmull (%eax)
-# CHECK-NEXT: 1 4 1.00 * fmulp %st(1)
-# CHECK-NEXT: 1 4 1.00 * fmulp %st(2)
-# CHECK-NEXT: 3 14 1.00 * * fimuls (%ecx)
-# CHECK-NEXT: 3 14 1.00 * * fimull (%eax)
-# CHECK-NEXT: 1 1 0.50 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 1 100 0.25 * fprem
-# CHECK-NEXT: 1 100 0.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 1 100 0.25 * frndint
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 21 7.00 * fsqrt
-# CHECK-NEXT: 1 1 0.25 * fst %st(0)
-# CHECK-NEXT: 1 1 1.00 * * fsts (%edx)
-# CHECK-NEXT: 1 1 1.00 * * fstl (%ecx)
-# CHECK-NEXT: 1 1 0.25 * fstp %st(0)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%edx)
-# CHECK-NEXT: 2 1 1.00 * * fstpl (%ecx)
-# CHECK-NEXT: 2 1 1.00 * * fstpt (%eax)
-# CHECK-NEXT: 3 2 1.00 * * fnstcw (%eax)
-# CHECK-NEXT: 100 106 19.50 * fnstenv (%eax)
-# CHECK-NEXT: 3 3 1.00 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 2 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 2 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 3 13 2.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 3 13 2.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 2 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 2 1.00 * fucompp
-# CHECK-NEXT: 1 2 1.00 * fucomi %st(3)
-# CHECK-NEXT: 1 2 1.00 * fucompi %st(3)
-# CHECK-NEXT: 2 2 0.50 * wait
-# CHECK-NEXT: 1 100 0.25 * fxam
-# CHECK-NEXT: 15 17 4.00 * fxch %st(1)
-# CHECK-NEXT: 15 17 4.00 * fxch %st(3)
-# CHECK-NEXT: 90 63 16.50 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# CHECK-NEXT: 1 100 0.25 U f2xm1
+# CHECK-NEXT: 1 1 1.00 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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 1 1.00 U fchs
+# CHECK-NEXT: 4 4 1.00 U fnclex
+# CHECK-NEXT: 1 3 1.00 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 1 3 1.00 U fcmovu %st(1), %st(0)
+# 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: 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: 1 100 0.25 U fcompp
+# CHECK-NEXT: 1 2 1.00 U fcomi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fcompi %st(3)
+# CHECK-NEXT: 1 100 0.25 U fcos
+# CHECK-NEXT: 2 2 1.00 U fdecstp
+# CHECK-NEXT: 1 15 1.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdiv %st(2)
+# CHECK-NEXT: 2 22 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 2 22 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(2)
+# CHECK-NEXT: 3 25 1.00 * U fidivs (%ecx)
+# CHECK-NEXT: 3 25 1.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 20 1.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(2)
+# CHECK-NEXT: 2 27 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 2 27 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 20 1.00 U fdivrp %st(2)
+# 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: 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)
+# CHECK-NEXT: 1 1 0.50 U fincstp
+# CHECK-NEXT: 15 75 6.00 U fninit
+# CHECK-NEXT: 3 4 1.00 * U fists (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fistpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fistpll (%eax)
+# CHECK-NEXT: 3 4 1.00 * U fisttps (%edx)
+# CHECK-NEXT: 3 4 1.00 * U fisttpl (%ecx)
+# CHECK-NEXT: 3 4 1.00 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 0.25 U fld %st(0)
+# CHECK-NEXT: 1 7 0.50 * U flds (%edx)
+# 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: 2 1 1.00 U fld1
+# CHECK-NEXT: 2 1 1.00 U fldl2e
+# CHECK-NEXT: 2 1 1.00 U fldl2t
+# CHECK-NEXT: 2 1 1.00 U fldlg2
+# CHECK-NEXT: 2 1 1.00 U fldln2
+# CHECK-NEXT: 2 1 1.00 U fldpi
+# CHECK-NEXT: 1 1 0.50 U fldz
+# CHECK-NEXT: 1 4 1.00 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 4 1.00 U fmul %st(2)
+# CHECK-NEXT: 2 11 1.00 * U fmuls (%ecx)
+# CHECK-NEXT: 2 11 1.00 * U fmull (%eax)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st(1)
+# CHECK-NEXT: 1 4 1.00 U fmulp %st(2)
+# CHECK-NEXT: 3 14 1.00 * U fimuls (%ecx)
+# CHECK-NEXT: 3 14 1.00 * U fimull (%eax)
+# CHECK-NEXT: 1 1 0.50 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 1 100 0.25 U fprem
+# 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 fscale
+# CHECK-NEXT: 1 100 0.25 U fsin
+# CHECK-NEXT: 1 100 0.25 U fsincos
+# CHECK-NEXT: 1 21 7.00 U fsqrt
+# CHECK-NEXT: 1 1 0.25 U fst %st(0)
+# CHECK-NEXT: 1 1 1.00 * U fsts (%edx)
+# CHECK-NEXT: 1 1 1.00 * U fstl (%ecx)
+# CHECK-NEXT: 1 1 0.25 U fstp %st(0)
+# CHECK-NEXT: 2 1 1.00 * U fstpl (%edx)
+# 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: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 2 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 2 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 3 13 2.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 3 13 2.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 2 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucompp
+# CHECK-NEXT: 1 2 1.00 U fucomi %st(3)
+# CHECK-NEXT: 1 2 1.00 U fucompi %st(3)
+# CHECK-NEXT: 2 2 0.50 U wait
+# CHECK-NEXT: 1 100 0.25 U fxam
+# CHECK-NEXT: 15 17 4.00 U fxch %st(1)
+# CHECK-NEXT: 15 17 4.00 U fxch %st(3)
+# CHECK-NEXT: 90 63 16.50 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - SKXDivider
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-adx.s b/test/tools/llvm-mca/X86/Znver1/resources-adx.s
index 7a88929fa79..2876d71ce10 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-adx.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-adx.s
@@ -17,7 +17,7 @@ adox (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 adcxl %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-avx1.s b/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
index c215bef14f6..ee951c83796 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
@@ -1015,7 +1015,7 @@ vzeroupper
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 vaddpd %xmm0, %xmm1, %xmm2
@@ -1206,8 +1206,8 @@ vzeroupper
# CHECK-NEXT: 1 8 0.50 * vinsertps $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * vlddqu (%rax), %ymm2
-# CHECK-NEXT: 1 100 0.25 * * * vldmxcsr (%rax)
-# CHECK-NEXT: 1 100 0.25 * * * vmaskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 100 0.25 * * U vldmxcsr (%rax)
+# CHECK-NEXT: 1 100 0.25 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 8 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 1.00 * vmaskmovpd (%rax), %ymm0, %ymm2
# CHECK-NEXT: 1 4 0.50 * * vmaskmovpd %xmm0, %xmm1, (%rax)
@@ -1281,7 +1281,7 @@ vzeroupper
# CHECK-NEXT: 1 1 0.50 * vmovlpd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * vmovlpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.50 * vmovlps %xmm0, (%rax)
-# CHECK-NEXT: 1 8 0.50 * vmovlps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 8 0.50 U vmovlps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 1.00 vmovmskpd %xmm0, %ecx
# CHECK-NEXT: 1 1 1.00 vmovmskpd %ymm0, %ecx
# CHECK-NEXT: 1 1 1.00 vmovmskps %xmm0, %ecx
@@ -1650,7 +1650,7 @@ vzeroupper
# CHECK-NEXT: 1 27 20.00 * vsqrtsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 20 20.00 vsqrtss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 27 20.00 * vsqrtss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 100 0.25 * * * vstmxcsr (%rax)
+# CHECK-NEXT: 1 100 0.25 * * U vstmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 vsubpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 10 1.00 * vsubpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 1.00 vsubpd %ymm0, %ymm1, %ymm2
@@ -1699,8 +1699,8 @@ vzeroupper
# CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vxorps %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 1 8 0.50 * vxorps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 100 0.25 * * * vzeroall
-# CHECK-NEXT: 1 100 0.25 * * * vzeroupper
+# CHECK-NEXT: 1 100 0.25 * * U vzeroall
+# CHECK-NEXT: 1 100 0.25 * * U vzeroupper
# CHECK: Resources:
# CHECK-NEXT: [0] - ZnAGU0
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-avx2.s b/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
index a334864e4b9..230244b2a52 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-avx2.s
@@ -454,7 +454,7 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 8 0.50 * vbroadcasti128 (%rax), %ymm0
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s b/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s
index 6d858f8c5a7..8b74a1d90f8 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-bmi1.s
@@ -43,7 +43,7 @@ tzcnt (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 andnl %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s b/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s
index aa9fc5b1132..68a2a4b9ec7 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-bmi2.s
@@ -55,7 +55,7 @@ shrx %rax, (%rbx), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 bzhil %eax, %ebx, %ecx
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-cmov.s b/test/tools/llvm-mca/X86/Znver1/resources-cmov.s
index 8c78291437b..6bff7f16879 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-cmov.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-cmov.s
@@ -109,7 +109,7 @@ cmovgq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 cmovow %si, %di
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-f16c.s b/test/tools/llvm-mca/X86/Znver1/resources-f16c.s
index f2700c41ac3..5844b380d17 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-f16c.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-f16c.s
@@ -19,7 +19,7 @@ vcvtps2ph $0, %ymm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 100 0.25 vcvtph2ps %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-fma.s b/test/tools/llvm-mca/X86/Znver1/resources-fma.s
index b7a9ce403cb..ebd235790db 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-fma.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-fma.s
@@ -295,7 +295,7 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s b/test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s
index ca28b4bfad3..747f738db52 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-lzcnt.s
@@ -16,7 +16,7 @@ lzcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 0.25 lzcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-mmx.s b/test/tools/llvm-mca/X86/Znver1/resources-mmx.s
index c13d4ca587f..a7985768ab8 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-mmx.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-mmx.s
@@ -161,14 +161,14 @@ pxor (%rax), %mm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 2 0.25 * * * emms
+# CHECK-NEXT: 1 2 0.25 * * U emms
# CHECK-NEXT: 1 3 1.00 movd %eax, %mm2
# CHECK-NEXT: 1 8 0.50 * movd (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movd %mm0, %ecx
-# CHECK-NEXT: 1 1 0.50 * * movd %mm0, (%rax)
+# CHECK-NEXT: 1 1 0.50 * U movd %mm0, (%rax)
# CHECK-NEXT: 1 3 1.00 movq %rax, %mm2
# CHECK-NEXT: 1 8 0.50 * movq (%rax), %mm2
# CHECK-NEXT: 1 2 1.00 movq %mm0, %rcx
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-popcnt.s b/test/tools/llvm-mca/X86/Znver1/resources-popcnt.s
index 6fd2bdfff84..69a2e1dc59d 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-popcnt.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-popcnt.s
@@ -16,7 +16,7 @@ popcntq (%rax), %rcx
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 popcntw %cx, %cx
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-sse1.s b/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
index 9fa33ebec8c..e0066f9ed41 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
@@ -191,7 +191,7 @@ xorps (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addps %xmm0, %xmm2
@@ -230,8 +230,8 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 22 1.00 * divps (%rax), %xmm2
# CHECK-NEXT: 1 15 1.00 divss %xmm0, %xmm2
# CHECK-NEXT: 1 22 1.00 * divss (%rax), %xmm2
-# CHECK-NEXT: 1 100 0.25 * * * ldmxcsr (%rax)
-# CHECK-NEXT: 1 100 0.25 * * * maskmovq %mm0, %mm1
+# CHECK-NEXT: 1 100 0.25 * * U ldmxcsr (%rax)
+# CHECK-NEXT: 1 100 0.25 * * U maskmovq %mm0, %mm1
# CHECK-NEXT: 1 3 1.00 maxps %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * maxps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxss %xmm0, %xmm2
@@ -248,10 +248,10 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 * movhps %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movhps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 * movlps %xmm0, (%rax)
-# CHECK-NEXT: 1 8 0.50 * movlps (%rax), %xmm2
+# CHECK-NEXT: 1 8 0.50 U movlps (%rax), %xmm2
# CHECK-NEXT: 1 1 1.00 movmskps %xmm0, %ecx
# CHECK-NEXT: 1 1 0.50 * movntps %xmm0, (%rax)
-# CHECK-NEXT: 1 1 0.50 * * * movntq %mm0, (%rax)
+# CHECK-NEXT: 1 1 0.50 * * U movntq %mm0, (%rax)
# CHECK-NEXT: 1 1 0.50 movss %xmm0, %xmm2
# CHECK-NEXT: 1 1 0.50 * movss %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movss (%rax), %xmm2
@@ -298,14 +298,14 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 2 12 0.50 * rsqrtps (%rax), %xmm2
# CHECK-NEXT: 1 5 0.50 rsqrtss %xmm0, %xmm2
# CHECK-NEXT: 2 12 1.00 * rsqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.50 * * * sfence
+# CHECK-NEXT: 1 1 0.50 * * U sfence
# CHECK-NEXT: 1 1 0.50 shufps $1, %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * shufps $1, (%rax), %xmm2
# CHECK-NEXT: 1 20 20.00 sqrtps %xmm0, %xmm2
# CHECK-NEXT: 1 27 20.00 * sqrtps (%rax), %xmm2
# CHECK-NEXT: 1 20 20.00 sqrtss %xmm0, %xmm2
# CHECK-NEXT: 1 27 20.00 * sqrtss (%rax), %xmm2
-# CHECK-NEXT: 1 100 0.25 * * * stmxcsr (%rax)
+# CHECK-NEXT: 1 100 0.25 * * U stmxcsr (%rax)
# CHECK-NEXT: 1 3 1.00 subps %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * subps (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 subss %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-sse2.s b/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
index 7aff5afe5ea..a4ecff87ae1 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
@@ -399,7 +399,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addpd %xmm0, %xmm2
@@ -410,7 +410,7 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 8 0.50 * andnpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 andpd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * andpd (%rax), %xmm2
-# CHECK-NEXT: 1 8 0.50 * * * clflush (%rax)
+# CHECK-NEXT: 1 8 0.50 * * U clflush (%rax)
# CHECK-NEXT: 1 3 1.00 cmppd $0, %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * cmppd $0, (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 cmpsd $0, %xmm0, %xmm2
@@ -459,8 +459,8 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 22 1.00 * divpd (%rax), %xmm2
# CHECK-NEXT: 1 15 1.00 divsd %xmm0, %xmm2
# CHECK-NEXT: 1 22 1.00 * divsd (%rax), %xmm2
-# CHECK-NEXT: 1 1 0.50 * * * lfence
-# CHECK-NEXT: 1 100 0.25 * * * maskmovdqu %xmm0, %xmm1
+# CHECK-NEXT: 1 1 0.50 * * U lfence
+# CHECK-NEXT: 1 100 0.25 * * U maskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 1 3 1.00 maxpd %xmm0, %xmm2
# CHECK-NEXT: 1 10 1.00 * maxpd (%rax), %xmm2
# CHECK-NEXT: 1 3 1.00 maxsd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-sse3.s b/test/tools/llvm-mca/X86/Znver1/resources-sse3.s
index cb3ee0b0eca..0e61c4d6c5c 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-sse3.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-sse3.s
@@ -36,7 +36,7 @@ movsldup (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 addsubpd %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-sse41.s b/test/tools/llvm-mca/X86/Znver1/resources-sse41.s
index 64ce0601131..6c0f8770879 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-sse41.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-sse41.s
@@ -152,7 +152,7 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.50 blendpd $11, %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-sse42.s b/test/tools/llvm-mca/X86/Znver1/resources-sse42.s
index e7221f1b407..48536df76b0 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-sse42.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-sse42.s
@@ -37,7 +37,7 @@ pcmpgtq (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 3 1.00 crc32b %al, %ecx
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-sse4a.s b/test/tools/llvm-mca/X86/Znver1/resources-sse4a.s
index e0a4a443a74..d3531a3acf6 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-sse4a.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-sse4a.s
@@ -16,7 +16,7 @@ movntss %xmm0, (%rax)
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 2 1.00 extrq %xmm0, %xmm2
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s b/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s
index 7f1a8b1c01c..8febb07b066 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-ssse3.s
@@ -103,7 +103,7 @@ psignw (%rax), %xmm2
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 pabsb %mm0, %mm2
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s b/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
index 16c14c9c27f..ccbe58c8bc6 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
@@ -625,7 +625,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 1 0.25 adcb $7, %al
@@ -778,7 +778,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 6 0.50 * * btcq $7, (%rax)
# CHECK-NEXT: 2 6 0.50 * * btrq $7, (%rax)
# CHECK-NEXT: 2 6 0.50 * * btsq $7, (%rax)
-# CHECK-NEXT: 1 1 0.25 * clc
+# CHECK-NEXT: 1 1 0.25 U clc
# CHECK-NEXT: 1 1 0.25 decb %dil
# CHECK-NEXT: 2 5 0.50 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -787,22 +787,22 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 5 0.50 * * decl (%rax)
# CHECK-NEXT: 1 1 0.25 decq %rdi
# CHECK-NEXT: 2 5 0.50 * * decq (%rax)
-# CHECK-NEXT: 1 15 15.00 * divb %dil
-# CHECK-NEXT: 2 19 15.00 * * divb (%rax)
-# CHECK-NEXT: 2 17 17.00 * divw %si
-# CHECK-NEXT: 3 21 17.00 * * divw (%rax)
-# CHECK-NEXT: 2 25 25.00 * divl %edx
-# CHECK-NEXT: 3 29 25.00 * * divl (%rax)
-# CHECK-NEXT: 2 41 41.00 * divq %rcx
-# CHECK-NEXT: 3 45 41.00 * * divq (%rax)
-# CHECK-NEXT: 1 15 15.00 * idivb %dil
-# CHECK-NEXT: 2 19 15.00 * * idivb (%rax)
-# CHECK-NEXT: 2 17 17.00 * idivw %si
-# CHECK-NEXT: 3 21 17.00 * * idivw (%rax)
-# CHECK-NEXT: 2 25 25.00 * idivl %edx
-# CHECK-NEXT: 3 29 25.00 * * idivl (%rax)
-# CHECK-NEXT: 2 41 41.00 * idivq %rcx
-# CHECK-NEXT: 3 45 41.00 * * idivq (%rax)
+# CHECK-NEXT: 1 15 15.00 U divb %dil
+# CHECK-NEXT: 2 19 15.00 * U divb (%rax)
+# CHECK-NEXT: 2 17 17.00 U divw %si
+# CHECK-NEXT: 3 21 17.00 * U divw (%rax)
+# CHECK-NEXT: 2 25 25.00 U divl %edx
+# CHECK-NEXT: 3 29 25.00 * U divl (%rax)
+# CHECK-NEXT: 2 41 41.00 U divq %rcx
+# CHECK-NEXT: 3 45 41.00 * U divq (%rax)
+# CHECK-NEXT: 1 15 15.00 U idivb %dil
+# CHECK-NEXT: 2 19 15.00 * U idivb (%rax)
+# CHECK-NEXT: 2 17 17.00 U idivw %si
+# CHECK-NEXT: 3 21 17.00 * U idivw (%rax)
+# CHECK-NEXT: 2 25 25.00 U idivl %edx
+# CHECK-NEXT: 3 29 25.00 * U idivl (%rax)
+# CHECK-NEXT: 2 41 41.00 U idivq %rcx
+# CHECK-NEXT: 3 45 41.00 * U idivq (%rax)
# CHECK-NEXT: 1 4 1.00 imulb %dil
# CHECK-NEXT: 2 8 1.00 * imulb (%rax)
# CHECK-NEXT: 1 3 1.00 imulw %di
diff --git a/test/tools/llvm-mca/X86/Znver1/resources-x87.s b/test/tools/llvm-mca/X86/Znver1/resources-x87.s
index 737c6c78061..2f5f6ef08f1 100644
--- a/test/tools/llvm-mca/X86/Znver1/resources-x87.s
+++ b/test/tools/llvm-mca/X86/Znver1/resources-x87.s
@@ -203,157 +203,157 @@ fyl2xp1
# CHECK-NEXT: [3]: RThroughput
# CHECK-NEXT: [4]: MayLoad
# CHECK-NEXT: [5]: MayStore
-# CHECK-NEXT: [6]: HasSideEffects
+# CHECK-NEXT: [6]: HasSideEffects (U)
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
-# CHECK-NEXT: 1 100 0.25 * f2xm1
-# CHECK-NEXT: 1 2 1.00 * fabs
-# CHECK-NEXT: 1 3 1.00 * fadd %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fadd %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fadds (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * faddl (%ecx)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(1)
-# CHECK-NEXT: 1 3 1.00 * faddp %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fiadds (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fiaddl (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbld (%ecx)
-# CHECK-NEXT: 1 100 0.25 * fbstp (%eax)
-# CHECK-NEXT: 1 1 1.00 * fchs
-# CHECK-NEXT: 1 100 0.25 * fnclex
-# CHECK-NEXT: 1 100 0.25 * fcmovb %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovbe %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmove %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovnb %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovnbe %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovne %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovnu %st(1), %st(0)
-# CHECK-NEXT: 1 100 0.25 * fcmovu %st(1), %st(0)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcom %st(3)
-# CHECK-NEXT: 1 8 1.00 * fcoms (%ecx)
-# CHECK-NEXT: 1 8 1.00 * fcoml (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fcomp %st(3)
-# CHECK-NEXT: 1 8 1.00 * fcomps (%ecx)
-# CHECK-NEXT: 1 8 1.00 * fcompl (%eax)
-# CHECK-NEXT: 1 1 1.00 * fcompp
-# CHECK-NEXT: 1 9 0.50 * fcomi %st(3)
-# CHECK-NEXT: 1 9 0.50 * fcompi %st(3)
-# CHECK-NEXT: 1 100 0.25 * fcos
-# CHECK-NEXT: 1 11 1.00 * fdecstp
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdiv %st(2)
-# CHECK-NEXT: 1 22 1.00 * * fdivs (%ecx)
-# CHECK-NEXT: 1 22 1.00 * * fdivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivp %st(2)
-# CHECK-NEXT: 1 22 1.00 * * fidivs (%ecx)
-# CHECK-NEXT: 1 22 1.00 * * fidivl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(0), %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivr %st(2)
-# CHECK-NEXT: 1 22 1.00 * * fdivrs (%ecx)
-# CHECK-NEXT: 1 22 1.00 * * fdivrl (%eax)
-# CHECK-NEXT: 1 15 1.00 * fdivrp %st(1)
-# CHECK-NEXT: 1 15 1.00 * fdivrp %st(2)
-# CHECK-NEXT: 1 22 1.00 * * fidivrs (%ecx)
-# CHECK-NEXT: 1 22 1.00 * * fidivrl (%eax)
-# CHECK-NEXT: 1 11 1.00 * ffree %st(0)
-# CHECK-NEXT: 2 12 1.50 * ficoms (%ecx)
-# CHECK-NEXT: 2 12 1.50 * ficoml (%eax)
-# CHECK-NEXT: 2 12 1.50 * ficomps (%ecx)
-# CHECK-NEXT: 2 12 1.50 * ficompl (%eax)
-# CHECK-NEXT: 2 11 1.00 * * filds (%edx)
-# CHECK-NEXT: 2 11 1.00 * * fildl (%ecx)
-# CHECK-NEXT: 2 11 1.00 * * fildll (%eax)
-# CHECK-NEXT: 1 11 1.00 * fincstp
-# CHECK-NEXT: 1 100 0.25 * fninit
-# CHECK-NEXT: 1 12 0.50 * * fists (%edx)
-# CHECK-NEXT: 1 12 0.50 * * fistl (%ecx)
-# CHECK-NEXT: 1 12 0.50 * * fistps (%edx)
-# CHECK-NEXT: 1 12 0.50 * * fistpl (%ecx)
-# CHECK-NEXT: 1 12 0.50 * * fistpll (%eax)
-# CHECK-NEXT: 1 12 0.50 * * fisttps (%edx)
-# CHECK-NEXT: 1 12 0.50 * * fisttpl (%ecx)
-# CHECK-NEXT: 1 12 0.50 * * fisttpll (%eax)
-# CHECK-NEXT: 1 1 0.50 * fld %st(0)
-# CHECK-NEXT: 1 8 0.50 * * flds (%edx)
-# CHECK-NEXT: 1 8 0.50 * * fldl (%ecx)
-# CHECK-NEXT: 2 1 0.50 * * fldt (%eax)
-# CHECK-NEXT: 1 100 0.25 * * fldcw (%eax)
-# CHECK-NEXT: 1 100 0.25 * fldenv (%eax)
-# CHECK-NEXT: 1 11 1.00 * fld1
-# CHECK-NEXT: 1 11 1.00 * fldl2e
-# CHECK-NEXT: 1 11 1.00 * fldl2t
-# CHECK-NEXT: 1 11 1.00 * fldlg2
-# CHECK-NEXT: 1 11 1.00 * fldln2
-# CHECK-NEXT: 1 11 1.00 * fldpi
-# CHECK-NEXT: 1 8 0.50 * fldz
-# CHECK-NEXT: 1 3 0.50 * fmul %st(0), %st(1)
-# CHECK-NEXT: 1 3 0.50 * fmul %st(2)
-# CHECK-NEXT: 2 10 0.50 * * fmuls (%ecx)
-# CHECK-NEXT: 2 10 0.50 * * fmull (%eax)
-# CHECK-NEXT: 1 3 0.50 * fmulp %st(1)
-# CHECK-NEXT: 1 3 0.50 * fmulp %st(2)
-# CHECK-NEXT: 2 10 0.50 * * fimuls (%ecx)
-# CHECK-NEXT: 2 10 0.50 * * fimull (%eax)
-# CHECK-NEXT: 1 1 1.00 * fnop
-# CHECK-NEXT: 1 100 0.25 * fpatan
-# CHECK-NEXT: 1 100 0.25 * fprem
-# CHECK-NEXT: 1 100 0.25 * fprem1
-# CHECK-NEXT: 1 100 0.25 * fptan
-# CHECK-NEXT: 1 100 0.25 * frndint
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fscale
-# CHECK-NEXT: 1 100 0.25 * fsin
-# CHECK-NEXT: 1 100 0.25 * fsincos
-# CHECK-NEXT: 1 20 20.00 * fsqrt
-# CHECK-NEXT: 2 5 0.50 * fst %st(0)
-# CHECK-NEXT: 1 1 0.50 * * fsts (%edx)
-# CHECK-NEXT: 1 1 0.50 * * fstl (%ecx)
-# CHECK-NEXT: 2 5 0.50 * fstp %st(0)
-# CHECK-NEXT: 1 1 0.50 * * fstpl (%edx)
-# CHECK-NEXT: 1 1 0.50 * * fstpl (%ecx)
-# CHECK-NEXT: 1 5 0.50 * * fstpt (%eax)
-# CHECK-NEXT: 1 100 0.25 * * fnstcw (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnstenv (%eax)
-# CHECK-NEXT: 1 100 0.25 * fnstsw (%eax)
-# CHECK-NEXT: 1 100 0.25 * frstor (%eax)
-# CHECK-NEXT: 1 1 1.00 * wait
-# CHECK-NEXT: 1 100 0.25 * fnsave (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsub %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fsubs (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fsubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubp %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fisubs (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fisubl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(0), %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubr %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fsubrs (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fsubrl (%eax)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(1)
-# CHECK-NEXT: 1 3 1.00 * fsubrp %st(2)
-# CHECK-NEXT: 1 10 1.00 * * fisubrs (%ecx)
-# CHECK-NEXT: 1 10 1.00 * * fisubrl (%eax)
-# CHECK-NEXT: 1 1 1.00 * ftst
-# CHECK-NEXT: 1 1 1.00 * fucom %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucom %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(1)
-# CHECK-NEXT: 1 1 1.00 * fucomp %st(3)
-# CHECK-NEXT: 1 1 1.00 * fucompp
-# CHECK-NEXT: 1 9 0.50 * fucomi %st(3)
-# CHECK-NEXT: 1 9 0.50 * fucompi %st(3)
-# CHECK-NEXT: 1 1 1.00 * wait
-# CHECK-NEXT: 1 1 1.00 * fxam
-# CHECK-NEXT: 1 1 0.25 * fxch %st(1)
-# CHECK-NEXT: 1 1 0.25 * fxch %st(3)
-# CHECK-NEXT: 1 100 0.25 * * * fxrstor (%eax)
-# CHECK-NEXT: 1 100 0.25 * * * fxsave (%eax)
-# CHECK-NEXT: 1 100 0.25 * fxtract
-# CHECK-NEXT: 1 100 0.25 * fyl2x
-# CHECK-NEXT: 1 100 0.25 * fyl2xp1
+# CHECK-NEXT: 1 100 0.25 U f2xm1
+# CHECK-NEXT: 1 2 1.00 U fabs
+# CHECK-NEXT: 1 3 1.00 U fadd %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fadd %st(2)
+# CHECK-NEXT: 1 10 1.00 * U fadds (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U faddl (%ecx)
+# CHECK-NEXT: 1 3 1.00 U faddp %st(1)
+# CHECK-NEXT: 1 3 1.00 U faddp %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 1 1.00 U fchs
+# CHECK-NEXT: 1 100 0.25 U fnclex
+# CHECK-NEXT: 1 100 0.25 U fcmovb %st(1), %st(0)
+# CHECK-NEXT: 1 100 0.25 U fcmovbe %st(1), %st(0)
+# CHECK-NEXT: 1 100 0.25 U fcmove %st(1), %st(0)
+# CHECK-NEXT: 1 100 0.25 U fcmovnb %st(1), %st(0)
+# CHECK-NEXT: 1 100 0.25 U fcmovnbe %st(1), %st(0)
+# CHECK-NEXT: 1 100 0.25 U fcmovne %st(1), %st(0)
+# CHECK-NEXT: 1 100 0.25 U fcmovnu %st(1), %st(0)
+# CHECK-NEXT: 1 100 0.25 U fcmovu %st(1), %st(0)
+# 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 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 1 1.00 U fcompp
+# CHECK-NEXT: 1 9 0.50 U fcomi %st(3)
+# CHECK-NEXT: 1 9 0.50 U fcompi %st(3)
+# CHECK-NEXT: 1 100 0.25 U fcos
+# CHECK-NEXT: 1 11 1.00 U fdecstp
+# CHECK-NEXT: 1 15 1.00 U fdiv %st(0), %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdiv %st(2)
+# CHECK-NEXT: 1 22 1.00 * U fdivs (%ecx)
+# CHECK-NEXT: 1 22 1.00 * U fdivl (%eax)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivp %st(2)
+# CHECK-NEXT: 1 22 1.00 * U fidivs (%ecx)
+# CHECK-NEXT: 1 22 1.00 * U fidivl (%eax)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(0), %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivr %st(2)
+# CHECK-NEXT: 1 22 1.00 * U fdivrs (%ecx)
+# CHECK-NEXT: 1 22 1.00 * U fdivrl (%eax)
+# CHECK-NEXT: 1 15 1.00 U fdivrp %st(1)
+# CHECK-NEXT: 1 15 1.00 U fdivrp %st(2)
+# 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 11 1.00 * U filds (%edx)
+# CHECK-NEXT: 2 11 1.00 * U fildl (%ecx)
+# CHECK-NEXT: 2 11 1.00 * U fildll (%eax)
+# CHECK-NEXT: 1 11 1.00 U fincstp
+# CHECK-NEXT: 1 100 0.25 U fninit
+# CHECK-NEXT: 1 12 0.50 * U fists (%edx)
+# CHECK-NEXT: 1 12 0.50 * U fistl (%ecx)
+# CHECK-NEXT: 1 12 0.50 * U fistps (%edx)
+# CHECK-NEXT: 1 12 0.50 * U fistpl (%ecx)
+# CHECK-NEXT: 1 12 0.50 * U fistpll (%eax)
+# CHECK-NEXT: 1 12 0.50 * U fisttps (%edx)
+# CHECK-NEXT: 1 12 0.50 * U fisttpl (%ecx)
+# CHECK-NEXT: 1 12 0.50 * U fisttpll (%eax)
+# CHECK-NEXT: 1 1 0.50 U fld %st(0)
+# CHECK-NEXT: 1 8 0.50 * U flds (%edx)
+# 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 11 1.00 U fld1
+# CHECK-NEXT: 1 11 1.00 U fldl2e
+# CHECK-NEXT: 1 11 1.00 U fldl2t
+# CHECK-NEXT: 1 11 1.00 U fldlg2
+# CHECK-NEXT: 1 11 1.00 U fldln2
+# CHECK-NEXT: 1 11 1.00 U fldpi
+# CHECK-NEXT: 1 8 0.50 U fldz
+# CHECK-NEXT: 1 3 0.50 U fmul %st(0), %st(1)
+# CHECK-NEXT: 1 3 0.50 U fmul %st(2)
+# CHECK-NEXT: 2 10 0.50 * U fmuls (%ecx)
+# CHECK-NEXT: 2 10 0.50 * U fmull (%eax)
+# CHECK-NEXT: 1 3 0.50 U fmulp %st(1)
+# CHECK-NEXT: 1 3 0.50 U fmulp %st(2)
+# CHECK-NEXT: 2 10 0.50 * U fimuls (%ecx)
+# CHECK-NEXT: 2 10 0.50 * U fimull (%eax)
+# CHECK-NEXT: 1 1 1.00 U fnop
+# CHECK-NEXT: 1 100 0.25 U fpatan
+# CHECK-NEXT: 1 100 0.25 U fprem
+# 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 fscale
+# CHECK-NEXT: 1 100 0.25 U fsin
+# CHECK-NEXT: 1 100 0.25 U fsincos
+# CHECK-NEXT: 1 20 20.00 U fsqrt
+# CHECK-NEXT: 2 5 0.50 U fst %st(0)
+# CHECK-NEXT: 1 1 0.50 * U fsts (%edx)
+# CHECK-NEXT: 1 1 0.50 * U fstl (%ecx)
+# CHECK-NEXT: 2 5 0.50 U fstp %st(0)
+# CHECK-NEXT: 1 1 0.50 * U fstpl (%edx)
+# 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 1 1.00 U wait
+# CHECK-NEXT: 1 100 0.25 U fnsave (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsub %st(2)
+# CHECK-NEXT: 1 10 1.00 * U fsubs (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U fsubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubp %st(2)
+# CHECK-NEXT: 1 10 1.00 * U fisubs (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U fisubl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(0), %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubr %st(2)
+# CHECK-NEXT: 1 10 1.00 * U fsubrs (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U fsubrl (%eax)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(1)
+# CHECK-NEXT: 1 3 1.00 U fsubrp %st(2)
+# CHECK-NEXT: 1 10 1.00 * U fisubrs (%ecx)
+# CHECK-NEXT: 1 10 1.00 * U fisubrl (%eax)
+# CHECK-NEXT: 1 1 1.00 U ftst
+# CHECK-NEXT: 1 1 1.00 U fucom %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucom %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(1)
+# CHECK-NEXT: 1 1 1.00 U fucomp %st(3)
+# CHECK-NEXT: 1 1 1.00 U fucompp
+# CHECK-NEXT: 1 9 0.50 U fucomi %st(3)
+# CHECK-NEXT: 1 9 0.50 U fucompi %st(3)
+# CHECK-NEXT: 1 1 1.00 U wait
+# CHECK-NEXT: 1 1 1.00 U fxam
+# CHECK-NEXT: 1 1 0.25 U fxch %st(1)
+# CHECK-NEXT: 1 1 0.25 U fxch %st(3)
+# CHECK-NEXT: 1 100 0.25 * * U fxrstor (%eax)
+# CHECK-NEXT: 1 100 0.25 * * U fxsave (%eax)
+# CHECK-NEXT: 1 100 0.25 U fxtract
+# CHECK-NEXT: 1 100 0.25 U fyl2x
+# CHECK-NEXT: 1 100 0.25 U fyl2xp1
# CHECK: Resources:
# CHECK-NEXT: [0] - ZnAGU0
diff --git a/tools/llvm-mca/InstructionInfoView.cpp b/tools/llvm-mca/InstructionInfoView.cpp
index 6bc4237334f..0e50a96d19c 100644
--- a/tools/llvm-mca/InstructionInfoView.cpp
+++ b/tools/llvm-mca/InstructionInfoView.cpp
@@ -29,7 +29,7 @@ void InstructionInfoView::printView(raw_ostream &OS) const {
TempStream << "\n\nInstruction Info:\n";
TempStream << "[1]: #uOps\n[2]: Latency\n[3]: RThroughput\n"
- << "[4]: MayLoad\n[5]: MayStore\n[6]: HasSideEffects\n\n";
+ << "[4]: MayLoad\n[5]: MayStore\n[6]: HasSideEffects (U)\n\n";
TempStream << "[1] [2] [3] [4] [5] [6] Instructions:\n";
for (unsigned I = 0, E = Instructions; I < E; ++I) {
@@ -73,7 +73,7 @@ void InstructionInfoView::printView(raw_ostream &OS) const {
}
TempStream << (MCDesc.mayLoad() ? " * " : " ");
TempStream << (MCDesc.mayStore() ? " * " : " ");
- TempStream << (MCDesc.hasUnmodeledSideEffects() ? " * " : " ");
+ TempStream << (MCDesc.hasUnmodeledSideEffects() ? " U " : " ");
MCIP.printInst(&Inst, InstrStream, "", STI);
InstrStream.flush();