summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools
diff options
context:
space:
mode:
authorClement Courbet <courbet@google.com>2018-06-20 06:13:39 +0000
committerClement Courbet <courbet@google.com>2018-06-20 06:13:39 +0000
commit7b9913fb9f08332f6413b35299f3e5e5a65842bd (patch)
treea678fde0cae8ed33f0b46b17085052971c88a777 /llvm/test/tools
parentc73b6d6bf7facd0490388aea771b899292877d25 (diff)
downloadbcm5719-llvm-7b9913fb9f08332f6413b35299f3e5e5a65842bd.tar.gz
bcm5719-llvm-7b9913fb9f08332f6413b35299f3e5e5a65842bd.zip
[X86] Add sched class WriteLAHFSAHF and fix values.
Summary: I ran llvm-exegesis on SKX, SKL, BDW, HSW, SNB. Atom is from Agner and SLM is a guess. I've left AMD processors alone. Reviewers: RKSimon, craig.topper Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D48079 llvm-svn: 335097
Diffstat (limited to 'llvm/test/tools')
-rw-r--r--llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s10
-rw-r--r--llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s10
-rw-r--r--llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s10
-rw-r--r--llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s10
-rw-r--r--llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s10
-rw-r--r--llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s10
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s10
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s10
-rw-r--r--llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s10
10 files changed, 85 insertions, 9 deletions
diff --git a/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
index 09134198ce1..95668eb5bda 100644
--- a/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 1 1 1.00 * * incq (%rax)
+# CHECK-NEXT: 1 2 1.00 lahf
# CHECK-NEXT: 1 7 3.50 mulb %dil
# CHECK-NEXT: 1 7 3.50 * mulb (%rax)
# CHECK-NEXT: 1 7 3.50 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 1.00 rorq %cl, %rdi
# CHECK-NEXT: 1 1 1.00 * * rolq %cl, (%rax)
# CHECK-NEXT: 1 1 1.00 * * rorq %cl, (%rax)
+# CHECK-NEXT: 1 2 1.00 sahf
# CHECK-NEXT: 1 1 1.00 sarb %dil
# CHECK-NEXT: 1 1 1.00 shlb %dil
# CHECK-NEXT: 1 1 1.00 shrb %dil
@@ -1156,7 +1162,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
-# CHECK-NEXT: 1258.50 963.50
+# CHECK-NEXT: 1260.50 965.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@@ -1357,6 +1363,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1.00 - incl (%rax)
# CHECK-NEXT: 0.50 0.50 incq %rdi
# CHECK-NEXT: 1.00 - incq (%rax)
+# CHECK-NEXT: 1.00 1.00 lahf
# CHECK-NEXT: 3.50 3.50 mulb %dil
# CHECK-NEXT: 3.50 3.50 mulb (%rax)
# CHECK-NEXT: 3.50 3.50 mulw %si
@@ -1514,6 +1521,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1.00 - rorq %cl, %rdi
# CHECK-NEXT: 1.00 - rolq %cl, (%rax)
# CHECK-NEXT: 1.00 - rorq %cl, (%rax)
+# CHECK-NEXT: 1.00 1.00 sahf
# CHECK-NEXT: 1.00 - sarb %dil
# CHECK-NEXT: 1.00 - shlb %dil
# CHECK-NEXT: 1.00 - shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
index 0cc3521dde3..ded5f1445de 100644
--- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
+# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 3 1.00 rorq %cl, %rdi
# CHECK-NEXT: 6 8 1.00 * * rolq %cl, (%rax)
# CHECK-NEXT: 5 8 1.00 * * rorq %cl, (%rax)
+# CHECK-NEXT: 1 1 0.50 sahf
# CHECK-NEXT: 1 1 0.50 sarb %dil
# CHECK-NEXT: 1 1 0.50 shlb %dil
# CHECK-NEXT: 1 1 0.50 shrb %dil
@@ -1164,7 +1170,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 50.00 - 362.00 242.50 202.00 202.00 167.00 148.00 327.50 69.00
+# CHECK-NEXT: 50.00 - 363.00 242.50 202.00 202.00 167.00 148.00 328.50 69.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1365,6 +1371,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
+# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
@@ -1522,6 +1529,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorq %cl, %rdi
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolq %cl, (%rax)
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorq %cl, (%rax)
+# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sahf
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
index 853f4c04041..dc3570b119b 100644
--- a/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 5 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 2 5 1.00 * * incq (%rax)
+# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 2 3 1.00 mulb %dil
# CHECK-NEXT: 2 6 1.00 * mulb (%rax)
# CHECK-NEXT: 2 3 1.00 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.50 rorq %cl, %rdi
# CHECK-NEXT: 2 4 1.00 * * rolq %cl, (%rax)
# CHECK-NEXT: 2 4 1.00 * * rorq %cl, (%rax)
+# CHECK-NEXT: 1 1 0.50 sahf
# CHECK-NEXT: 1 1 0.50 sarb %dil
# CHECK-NEXT: 1 1 0.50 shlb %dil
# CHECK-NEXT: 1 1 0.50 shrb %dil
@@ -1168,7 +1174,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13]
-# CHECK-NEXT: 437.00 487.00 380.00 - - - - 263.00 64.00 195.00 - - - -
+# CHECK-NEXT: 438.00 488.00 380.00 - - - - 263.00 64.00 195.00 - - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] Instructions:
@@ -1369,6 +1375,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incl (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - incq %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - incq (%rax)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - lahf
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulb %dil
# CHECK-NEXT: - 1.00 - - - - - 1.00 1.00 - - - - - mulb (%rax)
# CHECK-NEXT: - 1.00 - - - - - - 1.00 - - - - - mulw %si
@@ -1526,6 +1533,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - rorq %cl, %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rolq %cl, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - rorq %cl, (%rax)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sahf
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - sarb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shlb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
index ca655c41e20..8419eb4ee73 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
index 667904cdb00..acb4383d07a 100644
--- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
+# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 3 1.00 rorq %cl, %rdi
# CHECK-NEXT: 6 9 1.00 * * rolq %cl, (%rax)
# CHECK-NEXT: 5 9 1.00 * * rorq %cl, (%rax)
+# CHECK-NEXT: 1 1 0.50 sahf
# CHECK-NEXT: 1 1 0.50 sarb %dil
# CHECK-NEXT: 1 1 0.50 shlb %dil
# CHECK-NEXT: 1 1 0.50 shrb %dil
@@ -1164,7 +1170,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 80.00 - 413.00 263.50 193.00 193.00 158.00 171.00 407.50 66.00
+# CHECK-NEXT: 80.00 - 414.00 263.50 193.00 193.00 158.00 171.00 408.50 66.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1365,6 +1371,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
+# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
@@ -1522,6 +1529,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.25 0.25 - - - 0.25 1.25 - rorq %cl, %rdi
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 1.00 0.25 1.25 0.33 rolq %cl, (%rax)
# CHECK-NEXT: - - 1.25 0.25 0.83 0.83 - 0.25 1.25 0.33 rorq %cl, (%rax)
+# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sahf
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
index 58cfbe57cc2..bf7e3cc458e 100644
--- a/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 5 2.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.50 incq %rdi
# CHECK-NEXT: 2 5 2.00 * * incq (%rax)
+# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 1 6 1.00 * mulb (%rax)
# CHECK-NEXT: 1 3 1.00 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 1.00 rorq %cl, %rdi
# CHECK-NEXT: 2 4 2.00 * * rolq %cl, (%rax)
# CHECK-NEXT: 2 4 2.00 * * rorq %cl, (%rax)
+# CHECK-NEXT: 1 1 0.50 sahf
# CHECK-NEXT: 1 1 1.00 sarb %dil
# CHECK-NEXT: 1 1 1.00 shlb %dil
# CHECK-NEXT: 1 1 1.00 shrb %dil
@@ -1162,7 +1168,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: 400.00 - - - - 392.00 234.00 470.00
+# CHECK-NEXT: 400.00 - - - - 393.00 235.00 470.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -1363,6 +1369,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incl (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - incq %rdi
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 incq (%rax)
+# CHECK-NEXT: - - - - - 0.50 0.50 - lahf
# CHECK-NEXT: - - - - - - 1.00 - mulb %dil
# CHECK-NEXT: - - - - - - 1.00 1.00 mulb (%rax)
# CHECK-NEXT: - - - - - - 1.00 - mulw %si
@@ -1520,6 +1527,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 1.00 - - rorq %cl, %rdi
# CHECK-NEXT: - - - - - 1.00 - 2.00 rolq %cl, (%rax)
# CHECK-NEXT: - - - - - 1.00 - 2.00 rorq %cl, (%rax)
+# CHECK-NEXT: - - - - - 0.50 0.50 - sahf
# CHECK-NEXT: - - - - - 1.00 - - sarb %dil
# CHECK-NEXT: - - - - - 1.00 - - shlb %dil
# CHECK-NEXT: - - - - - 1.00 - - shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
index 931d97fc838..2a75e80240e 100644
--- a/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.33 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
+# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.33 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi
# CHECK-NEXT: 6 9 1.50 * * rolq %cl, (%rax)
# CHECK-NEXT: 6 9 1.50 * * rorq %cl, (%rax)
+# CHECK-NEXT: 1 1 0.50 sahf
# CHECK-NEXT: 1 1 0.50 sarb %dil
# CHECK-NEXT: 1 1 0.50 shlb %dil
# CHECK-NEXT: 1 1 0.50 shrb %dil
@@ -1162,7 +1168,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: 160.00 - 346.33 141.33 210.00 338.33 238.00 238.00
+# CHECK-NEXT: 160.00 - 347.33 141.33 210.00 339.33 238.00 238.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -1363,6 +1369,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incl (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - incq %rdi
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 incq (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - lahf
# CHECK-NEXT: - - - 1.00 - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 - - 0.50 0.50 mulb (%rax)
# CHECK-NEXT: - - 1.17 1.67 - 1.17 - - mulw %si
@@ -1520,6 +1527,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.50 - - 1.50 - - rorq %cl, %rdi
# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rolq %cl, (%rax)
# CHECK-NEXT: - - 1.50 - 1.00 1.50 1.00 1.00 rorq %cl, (%rax)
+# CHECK-NEXT: - - 0.50 - - 0.50 - - sahf
# CHECK-NEXT: - - 0.50 - - 0.50 - - sarb %dil
# CHECK-NEXT: - - 0.50 - - 0.50 - - shlb %dil
# CHECK-NEXT: - - 0.50 - - 0.50 - - shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
index 03caa3ecb11..e881759fabb 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
+# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi
# CHECK-NEXT: 6 8 1.50 * * rolq %cl, (%rax)
# CHECK-NEXT: 5 8 1.50 * * rorq %cl, (%rax)
+# CHECK-NEXT: 1 1 0.50 sahf
# CHECK-NEXT: 1 1 0.50 sarb %dil
# CHECK-NEXT: 1 1 0.50 shlb %dil
# CHECK-NEXT: 1 1 0.50 shrb %dil
@@ -1164,7 +1170,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 60.00 - 429.50 223.50 202.00 202.00 167.00 184.00 414.00 69.00
+# CHECK-NEXT: 60.00 - 430.50 223.50 202.00 202.00 167.00 184.00 415.00 69.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1365,6 +1371,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
+# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
@@ -1522,6 +1529,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorq %cl, %rdi
# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolq %cl, (%rax)
# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorq %cl, (%rax)
+# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sahf
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
index fd5823e01a3..c8c501599f4 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 7 1.00 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 3 7 1.00 * * incq (%rax)
+# CHECK-NEXT: 1 1 0.50 lahf
# CHECK-NEXT: 1 3 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 4 4 1.00 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 3 3 1.50 rorq %cl, %rdi
# CHECK-NEXT: 6 8 1.50 * * rolq %cl, (%rax)
# CHECK-NEXT: 5 8 1.50 * * rorq %cl, (%rax)
+# CHECK-NEXT: 1 1 0.50 sahf
# CHECK-NEXT: 1 1 0.50 sarb %dil
# CHECK-NEXT: 1 1 0.50 shlb %dil
# CHECK-NEXT: 1 1 0.50 shrb %dil
@@ -1164,7 +1170,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: 60.00 - 429.75 223.75 202.00 202.00 167.00 184.25 414.25 69.00
+# CHECK-NEXT: 60.00 - 430.75 223.75 202.00 202.00 167.00 184.25 415.25 69.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -1365,6 +1371,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incl (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - incq %rdi
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 incq (%rax)
+# CHECK-NEXT: - - 0.50 - - - - - 0.50 - lahf
# CHECK-NEXT: - - - 1.00 - - - - - - mulb %dil
# CHECK-NEXT: - - - 1.00 0.50 0.50 - - - - mulb (%rax)
# CHECK-NEXT: - - 1.00 1.50 - - - 0.50 1.00 - mulw %si
@@ -1522,6 +1529,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 1.50 - - - - - 1.50 - rorq %cl, %rdi
# CHECK-NEXT: - - 1.50 - 0.83 0.83 1.00 - 1.50 0.33 rolq %cl, (%rax)
# CHECK-NEXT: - - 1.50 - 0.83 0.83 - - 1.50 0.33 rorq %cl, (%rax)
+# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sahf
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - sarb %dil
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shlb %dil
# CHECK-NEXT: - - 0.50 - - - - - 0.50 - shrb %dil
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
index fd0676810c8..6f519034dcc 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s
@@ -222,6 +222,8 @@ incl (%rax)
incq %rdi
incq (%rax)
+lahf
+
mulb %dil
mulb (%rax)
mulw %si
@@ -395,6 +397,8 @@ rorq %cl, %rdi
rolq %cl, (%rax)
rorq %cl, (%rax)
+sahf
+
sarb %dil
shlb %dil
shrb %dil
@@ -806,6 +810,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 2 5 0.50 * * incl (%rax)
# CHECK-NEXT: 1 1 0.25 incq %rdi
# CHECK-NEXT: 2 5 0.50 * * incq (%rax)
+# CHECK-NEXT: 1 100 0.25 lahf
# CHECK-NEXT: 1 4 1.00 mulb %dil
# CHECK-NEXT: 2 8 1.00 * mulb (%rax)
# CHECK-NEXT: 1 3 1.00 mulw %si
@@ -963,6 +968,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1 1 0.25 rorq %cl, %rdi
# CHECK-NEXT: 3 5 1.00 * * rolq %cl, (%rax)
# CHECK-NEXT: 3 5 1.00 * * rorq %cl, (%rax)
+# CHECK-NEXT: 2 2 0.25 sahf
# CHECK-NEXT: 1 1 0.25 sarb %dil
# CHECK-NEXT: 1 1 0.25 shlb %dil
# CHECK-NEXT: 1 1 0.25 shrb %dil
@@ -1166,7 +1172,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 131.50 131.50 111.75 145.75 127.75 111.75 392.00 - - - - 34.00
+# CHECK-NEXT: 131.50 131.50 112.00 146.00 128.00 112.00 392.00 - - - - 34.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1367,6 +1373,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incl (%rax)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - incq %rdi
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - incq (%rax)
+# CHECK-NEXT: - - - - - - - - - - - - lahf
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulb %dil
# CHECK-NEXT: 0.50 0.50 - 1.00 - - - - - - - 1.00 mulb (%rax)
# CHECK-NEXT: - - - 1.00 - - - - - - - 1.00 mulw %si
@@ -1524,6 +1531,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - rorq %cl, %rdi
# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rolq %cl, (%rax)
# CHECK-NEXT: 1.00 1.00 0.25 0.25 0.25 0.25 - - - - - - rorq %cl, (%rax)
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sahf
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - sarb %dil
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shlb %dil
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - shrb %dil
OpenPOWER on IntegriCloud