summaryrefslogtreecommitdiffstats
path: root/llvm
diff options
context:
space:
mode:
Diffstat (limited to 'llvm')
-rwxr-xr-xllvm/lib/Target/X86/X86SchedBroadwell.td2
-rw-r--r--llvm/lib/Target/X86/X86SchedHaswell.td4
-rw-r--r--llvm/lib/Target/X86/X86SchedSandyBridge.td2
-rw-r--r--llvm/lib/Target/X86/X86SchedSkylakeClient.td4
-rwxr-xr-xllvm/lib/Target/X86/X86SchedSkylakeServer.td5
-rw-r--r--llvm/test/CodeGen/X86/schedule-x86_64.ll12
-rw-r--r--llvm/test/tools/llvm-mca/X86/Atom/resources-x86_64.s6
-rw-r--r--llvm/test/tools/llvm-mca/X86/Broadwell/resources-x86_64.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/BtVer2/resources-x86_64.s6
-rw-r--r--llvm/test/tools/llvm-mca/X86/Haswell/resources-x86_64.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/SLM/resources-x86_64.s6
-rw-r--r--llvm/test/tools/llvm-mca/X86/SandyBridge/resources-x86_64.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-x86_64.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-x86_64.s4
-rw-r--r--llvm/test/tools/llvm-mca/X86/Znver1/resources-x86_64.s6
15 files changed, 60 insertions, 13 deletions
diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td
index 35ae1008899..e10154d38ee 100755
--- a/llvm/lib/Target/X86/X86SchedBroadwell.td
+++ b/llvm/lib/Target/X86/X86SchedBroadwell.td
@@ -1682,5 +1682,7 @@ def BWWriteResGroup202 : SchedWriteRes<[BWPort0,BWPort1,BWPort4,BWPort5,BWPort6,
}
def: InstRW<[BWWriteResGroup202], (instrs FSTENVm)>;
+def: InstRW<[WriteZero], (instrs CLC)>;
+
} // SchedModel
diff --git a/llvm/lib/Target/X86/X86SchedHaswell.td b/llvm/lib/Target/X86/X86SchedHaswell.td
index d400e977d7d..c12305d99a4 100644
--- a/llvm/lib/Target/X86/X86SchedHaswell.td
+++ b/llvm/lib/Target/X86/X86SchedHaswell.td
@@ -866,7 +866,7 @@ def HWWriteResGroup10 : SchedWriteRes<[HWPort0156]> {
let ResourceCycles = [1];
}
def: InstRW<[HWWriteResGroup10], (instrs CBW, CWDE, CDQE,
- CLC, CMC, STC)>;
+ CMC, STC)>;
def: InstRW<[HWWriteResGroup10], (instrs LAHF, SAHF)>; // TODO: This doesn't match Agner's data
def: InstRW<[HWWriteResGroup10], (instregex "NOOP",
"SGDT64m",
@@ -1958,4 +1958,6 @@ def HWWriteResGroup192 : SchedWriteRes<[HWPort0, HWPort5, HWPort06, HWPort15, HW
def: InstRW<[HWWriteResGroup192], (instrs VGATHERQPSrm,
VGATHERDPSrm)>;
+def: InstRW<[WriteZero], (instrs CLC)>;
+
} // SchedModel
diff --git a/llvm/lib/Target/X86/X86SchedSandyBridge.td b/llvm/lib/Target/X86/X86SchedSandyBridge.td
index 860d0db3f6f..8a643ed550b 100644
--- a/llvm/lib/Target/X86/X86SchedSandyBridge.td
+++ b/llvm/lib/Target/X86/X86SchedSandyBridge.td
@@ -1144,4 +1144,6 @@ def SBWriteResGroup131 : SchedWriteRes<[SBPort0,SBPort1,SBPort23]> {
}
def: InstRW<[SBWriteResGroup131], (instregex "DIV(R?)_FI(16|32)m")>;
+def: InstRW<[WriteZero], (instrs CLC)>;
+
} // SchedModel
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeClient.td b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
index 8d034aceab1..c89d060f851 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeClient.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
@@ -584,7 +584,7 @@ def SKLWriteResGroup10 : SchedWriteRes<[SKLPort0156]> {
let ResourceCycles = [1];
}
def: InstRW<[SKLWriteResGroup10], (instrs CBW, CWDE, CDQE,
- CLC, CMC, STC)>;
+ CMC, STC)>;
def: InstRW<[SKLWriteResGroup10], (instrs LAHF, SAHF)>; // TODO: This doesn't match Agner's data
def: InstRW<[SKLWriteResGroup10], (instregex "NOOP",
"SGDT64m",
@@ -1839,4 +1839,6 @@ def SKLWriteResGroup223 : SchedWriteRes<[SKLPort0,SKLPort1,SKLPort4,SKLPort5,SKL
}
def: InstRW<[SKLWriteResGroup223], (instrs FSTENVm)>;
+def: InstRW<[WriteZero], (instrs CLC)>;
+
} // SchedModel
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index fac38e7f91b..38bb5a32725 100755
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -606,7 +606,7 @@ def SKXWriteResGroup10 : SchedWriteRes<[SKXPort0156]> {
let ResourceCycles = [1];
}
def: InstRW<[SKXWriteResGroup10], (instrs CBW, CWDE, CDQE,
- CLC, CMC, STC)>;
+ CMC, STC)>;
def: InstRW<[SKXWriteResGroup10], (instrs LAHF, SAHF)>; // TODO: This doesn't match Agner's data
def: InstRW<[SKXWriteResGroup10], (instregex "NOOP",
"SGDT64m",
@@ -2550,4 +2550,7 @@ def SKXWriteResGroup267 : SchedWriteRes<[SKXPort6,SKXPort0156]> {
let ResourceCycles = [1,3];
}
def: InstRW<[SKXWriteResGroup267], (instrs PAUSE)>;
+
+def: InstRW<[WriteZero], (instrs CLC)>;
+
} // SchedModel
diff --git a/llvm/test/CodeGen/X86/schedule-x86_64.ll b/llvm/test/CodeGen/X86/schedule-x86_64.ll
index 56f3558200e..fa62cea1c6b 100644
--- a/llvm/test/CodeGen/X86/schedule-x86_64.ll
+++ b/llvm/test/CodeGen/X86/schedule-x86_64.ll
@@ -3465,7 +3465,7 @@ define void @test_clc_cld_cmc() optsize {
; GENERIC-LABEL: test_clc_cld_cmc:
; GENERIC: # %bb.0:
; GENERIC-NEXT: #APP
-; GENERIC-NEXT: clc # sched: [1:0.33]
+; GENERIC-NEXT: clc # sched: [1:?]
; GENERIC-NEXT: cld # sched: [1:0.33]
; GENERIC-NEXT: cmc # sched: [1:0.33]
; GENERIC-NEXT: #NO_APP
@@ -3492,7 +3492,7 @@ define void @test_clc_cld_cmc() optsize {
; SANDY-LABEL: test_clc_cld_cmc:
; SANDY: # %bb.0:
; SANDY-NEXT: #APP
-; SANDY-NEXT: clc # sched: [1:0.33]
+; SANDY-NEXT: clc # sched: [1:?]
; SANDY-NEXT: cld # sched: [1:0.33]
; SANDY-NEXT: cmc # sched: [1:0.33]
; SANDY-NEXT: #NO_APP
@@ -3501,7 +3501,7 @@ define void @test_clc_cld_cmc() optsize {
; HASWELL-LABEL: test_clc_cld_cmc:
; HASWELL: # %bb.0:
; HASWELL-NEXT: #APP
-; HASWELL-NEXT: clc # sched: [1:0.25]
+; HASWELL-NEXT: clc # sched: [1:?]
; HASWELL-NEXT: cld # sched: [3:1.00]
; HASWELL-NEXT: cmc # sched: [1:0.25]
; HASWELL-NEXT: #NO_APP
@@ -3510,7 +3510,7 @@ define void @test_clc_cld_cmc() optsize {
; BROADWELL-LABEL: test_clc_cld_cmc:
; BROADWELL: # %bb.0:
; BROADWELL-NEXT: #APP
-; BROADWELL-NEXT: clc # sched: [1:0.25]
+; BROADWELL-NEXT: clc # sched: [1:?]
; BROADWELL-NEXT: cld # sched: [3:1.00]
; BROADWELL-NEXT: cmc # sched: [1:0.25]
; BROADWELL-NEXT: #NO_APP
@@ -3519,7 +3519,7 @@ define void @test_clc_cld_cmc() optsize {
; SKYLAKE-LABEL: test_clc_cld_cmc:
; SKYLAKE: # %bb.0:
; SKYLAKE-NEXT: #APP
-; SKYLAKE-NEXT: clc # sched: [1:0.25]
+; SKYLAKE-NEXT: clc # sched: [1:?]
; SKYLAKE-NEXT: cld # sched: [3:1.00]
; SKYLAKE-NEXT: cmc # sched: [1:0.25]
; SKYLAKE-NEXT: #NO_APP
@@ -3528,7 +3528,7 @@ define void @test_clc_cld_cmc() optsize {
; SKX-LABEL: test_clc_cld_cmc:
; SKX: # %bb.0:
; SKX-NEXT: #APP
-; SKX-NEXT: clc # sched: [1:0.25]
+; SKX-NEXT: clc # sched: [1:?]
; SKX-NEXT: cld # sched: [3:1.00]
; SKX-NEXT: cmc # sched: [1:0.25]
; SKX-NEXT: #NO_APP
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 9528e1b55c0..4c8d0f83c2e 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 decb %dil
# CHECK-NEXT: 1 1 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -1153,7 +1156,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1]
-# CHECK-NEXT: 1258.00 963.00
+# CHECK-NEXT: 1258.50 963.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] Instructions:
@@ -1295,6 +1298,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 1.00 1.00 btcq $7, (%rax)
# CHECK-NEXT: 1.00 1.00 btrq $7, (%rax)
# CHECK-NEXT: 1.00 1.00 btsq $7, (%rax)
+# CHECK-NEXT: 0.50 0.50 clc
# CHECK-NEXT: 0.50 0.50 decb %dil
# CHECK-NEXT: 1.00 - decb (%rax)
# CHECK-NEXT: 0.50 0.50 decw %di
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 78385dc6fc3..e7cae8d0f1d 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 - * 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
@@ -1303,6 +1306,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax)
+# CHECK-NEXT: - - - - - - - - - - clc
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di
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 c11fd1690bd..23b39194023 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 decb %dil
# CHECK-NEXT: 2 5 1.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -1165,7 +1168,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: 436.50 486.50 380.00 - - - - 263.00 64.00 195.00 - - - -
+# CHECK-NEXT: 437.00 487.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:
@@ -1307,6 +1310,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btcq $7, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btrq $7, (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - btsq $7, (%rax)
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - clc
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decb %dil
# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 - 1.00 - - - - decb (%rax)
# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - - decw %di
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 ae8e4420cca..0173ced5bc8 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 - * 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
@@ -1303,6 +1306,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax)
+# CHECK-NEXT: - - - - - - - - - - clc
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di
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 a993840b83e..833000f0299 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 decb %dil
# CHECK-NEXT: 2 5 2.00 * * decb (%rax)
# CHECK-NEXT: 1 1 0.50 decw %di
@@ -1159,7 +1162,7 @@ xorq (%rax), %rdi
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7]
-# CHECK-NEXT: 400.00 - - - - 391.50 233.50 470.00
+# CHECK-NEXT: 400.00 - - - - 392.00 234.00 470.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] Instructions:
@@ -1301,6 +1304,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btcq $7, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btrq $7, (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 2.00 btsq $7, (%rax)
+# CHECK-NEXT: - - - - - 0.50 0.50 - clc
# CHECK-NEXT: - - - - - 0.50 0.50 - decb %dil
# CHECK-NEXT: - - - - - 1.00 1.00 2.00 decb (%rax)
# CHECK-NEXT: - - - - - 0.50 0.50 - decw %di
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 e92de6b4327..fe2e934d72f 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 - * 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
@@ -1301,6 +1304,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btcq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btrq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 1.00 0.50 1.00 1.00 btsq $7, (%rax)
+# CHECK-NEXT: - - - - - - - - clc
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decb %dil
# CHECK-NEXT: - - 0.33 0.33 1.00 0.33 1.00 1.00 decb (%rax)
# CHECK-NEXT: - - 0.33 0.33 - 0.33 - - decw %di
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 7c643a21a98..0b1c509e2ac 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 - * 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
@@ -1303,6 +1306,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax)
+# CHECK-NEXT: - - - - - - - - - - clc
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di
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 bf5c6a770c8..849315ca8d8 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 - * 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
@@ -1303,6 +1306,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btcq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btrq $7, (%rax)
# CHECK-NEXT: - - 0.50 - 0.83 0.83 1.00 - 0.50 0.33 btsq $7, (%rax)
+# CHECK-NEXT: - - - - - - - - - - clc
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decb %dil
# CHECK-NEXT: - - 0.25 0.25 0.83 0.83 1.00 0.25 0.25 0.33 decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 - - - 0.25 0.25 - decw %di
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 9ac36cb3dfd..f0f5631a5d4 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
@@ -154,6 +154,8 @@ btcq $7, (%rax)
btrq $7, (%rax)
btsq $7, (%rax)
+clc
+
decb %dil
decb (%rax)
decw %di
@@ -745,6 +747,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 decb %dil
# CHECK-NEXT: 2 5 0.50 * * decb (%rax)
# CHECK-NEXT: 1 1 0.25 decw %di
@@ -1163,7 +1166,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.50 145.50 127.50 111.50 392.00 - - - - 34.00
+# CHECK-NEXT: 131.50 131.50 111.75 145.75 127.75 111.75 392.00 - - - - 34.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1305,6 +1308,7 @@ xorq (%rax), %rdi
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btcq $7, (%rax)
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btrq $7, (%rax)
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - btsq $7, (%rax)
+# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - clc
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decb %dil
# CHECK-NEXT: 0.50 0.50 0.25 0.25 0.25 0.25 - - - - - - decb (%rax)
# CHECK-NEXT: - - 0.25 0.25 0.25 0.25 - - - - - - decw %di
OpenPOWER on IntegriCloud