aboutsummaryrefslogtreecommitdiff
path: root/llvm
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2024-04-04 15:19:07 +0100
committerSimon Pilgrim <llvm-dev@redking.me.uk>2024-04-04 15:19:07 +0100
commita69673615bb9f14794056470a32f70f60a52213d (patch)
tree56357ce456335a5c7ab5942c9a46ecc5a1de8c57 /llvm
parent6fa2d03bbf86bc01140e3b007554617b029fd3f1 (diff)
downloadllvm-a69673615bb9f14794056470a32f70f60a52213d.zip
llvm-a69673615bb9f14794056470a32f70f60a52213d.tar.gz
llvm-a69673615bb9f14794056470a32f70f60a52213d.tar.bz2
[X86] Haswell/Broadwell - fix (V)ROUND*ri sched behaviours to use 2*Port1
We were only using the Port23 memory ports and were missing the 2*Port1 uops entirely. Confirmed by Agner + uops.info/uica
Diffstat (limited to 'llvm')
-rw-r--r--llvm/lib/Target/X86/X86SchedBroadwell.td6
-rw-r--r--llvm/lib/Target/X86/X86SchedHaswell.td9
-rw-r--r--llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s26
-rw-r--r--llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s18
-rw-r--r--llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s26
-rw-r--r--llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s18
6 files changed, 49 insertions, 54 deletions
diff --git a/llvm/lib/Target/X86/X86SchedBroadwell.td b/llvm/lib/Target/X86/X86SchedBroadwell.td
index b3ee7a8..63ac910 100644
--- a/llvm/lib/Target/X86/X86SchedBroadwell.td
+++ b/llvm/lib/Target/X86/X86SchedBroadwell.td
@@ -329,11 +329,9 @@ defm : X86WriteRes<WriteDPPSY, [BWPort0,BWPort1,BWPort5], 14, [2,1,1], 4>;
defm : X86WriteRes<WriteDPPSLd, [BWPort0,BWPort1,BWPort5,BWPort06,BWPort23], 19, [2,1,1,1,1], 6>;
defm : X86WriteRes<WriteDPPSYLd, [BWPort0,BWPort1,BWPort5,BWPort06,BWPort23], 20, [2,1,1,1,1], 6>;
defm : BWWriteResPair<WriteFSign, [BWPort5], 1>; // Floating point fabs/fchs.
-defm : X86WriteRes<WriteFRnd, [BWPort23], 6, [1], 1>; // Floating point rounding.
-defm : X86WriteRes<WriteFRndY, [BWPort23], 6, [1], 1>; // Floating point rounding (YMM/ZMM).
+defm : BWWriteResPair<WriteFRnd, [BWPort1], 6, [2], 2, 5>; // Floating point rounding.
+defm : BWWriteResPair<WriteFRndY, [BWPort1], 6, [2], 2, 6>; // Floating point rounding (YMM/ZMM).
defm : X86WriteResPairUnsupported<WriteFRndZ>;
-defm : X86WriteRes<WriteFRndLd, [BWPort1,BWPort23], 11, [2,1], 3>;
-defm : X86WriteRes<WriteFRndYLd, [BWPort1,BWPort23], 12, [2,1], 3>;
defm : BWWriteResPair<WriteFLogic, [BWPort5], 1, [1], 1, 5>; // Floating point and/or/xor logicals.
defm : BWWriteResPair<WriteFLogicY, [BWPort5], 1, [1], 1, 6>; // Floating point and/or/xor logicals (YMM/ZMM).
defm : X86WriteResPairUnsupported<WriteFLogicZ>;
diff --git a/llvm/lib/Target/X86/X86SchedHaswell.td b/llvm/lib/Target/X86/X86SchedHaswell.td
index 6c301a3..516dc62 100644
--- a/llvm/lib/Target/X86/X86SchedHaswell.td
+++ b/llvm/lib/Target/X86/X86SchedHaswell.td
@@ -329,12 +329,9 @@ defm : X86WriteRes<WriteDPPSY, [HWPort0,HWPort1,HWPort5], 14, [2,1,1], 4>;
defm : X86WriteRes<WriteDPPSLd, [HWPort0,HWPort1,HWPort5,HWPort06,HWPort23], 20, [2,1,1,1,1], 6>;
defm : X86WriteRes<WriteDPPSYLd, [HWPort0,HWPort1,HWPort5,HWPort06,HWPort23], 21, [2,1,1,1,1], 6>;
defm : HWWriteResPair<WriteFSign, [HWPort0], 1>;
-defm : X86WriteRes<WriteFRnd, [HWPort23], 6, [1], 1>;
-defm : X86WriteRes<WriteFRndY, [HWPort23], 6, [1], 1>;
-defm : X86WriteRes<WriteFRndZ, [HWPort23], 6, [1], 1>; // Unsupported = 1
-defm : X86WriteRes<WriteFRndLd, [HWPort1,HWPort23], 12, [2,1], 3>;
-defm : X86WriteRes<WriteFRndYLd, [HWPort1,HWPort23], 13, [2,1], 3>;
-defm : X86WriteRes<WriteFRndZLd, [HWPort1,HWPort23], 13, [2,1], 3>; // Unsupported = 1
+defm : HWWriteResPair<WriteFRnd, [HWPort1], 6, [2], 2, 6>;
+defm : HWWriteResPair<WriteFRndY, [HWPort1], 6, [2], 2, 7>;
+defm : HWWriteResPair<WriteFRndZ, [HWPort1], 6, [2], 2, 7>; // Unsupported = 1
defm : HWWriteResPair<WriteFLogic, [HWPort5], 1, [1], 1, 6>;
defm : HWWriteResPair<WriteFLogicY, [HWPort5], 1, [1], 1, 7>;
defm : HWWriteResPair<WriteFLogicZ, [HWPort5], 1, [1], 1, 7>; // Unsupported = 1
diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
index ca1faf6..1b196b4 100644
--- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-avx1.s
@@ -1632,17 +1632,17 @@ vzeroupper
# CHECK-NEXT: 4 17 2.00 * vrcpps (%rax), %ymm2
# CHECK-NEXT: 1 5 1.00 vrcpss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 1.00 * vrcpss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 6 0.50 vroundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 vroundpd $1, %xmm0, %xmm2
# CHECK-NEXT: 3 11 2.00 * vroundpd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 vroundpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 6 2.00 vroundpd $1, %ymm0, %ymm2
# CHECK-NEXT: 3 12 2.00 * vroundpd $1, (%rax), %ymm2
-# CHECK-NEXT: 1 6 0.50 vroundps $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 vroundps $1, %xmm0, %xmm2
# CHECK-NEXT: 3 11 2.00 * vroundps $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 vroundps $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 6 2.00 vroundps $1, %ymm0, %ymm2
# CHECK-NEXT: 3 12 2.00 * vroundps $1, (%rax), %ymm2
-# CHECK-NEXT: 1 6 0.50 vroundsd $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 6 2.00 vroundsd $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 3 11 2.00 * vroundsd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 6 0.50 vroundss $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 6 2.00 vroundss $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 3 11 2.00 * vroundss $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 1.00 vrsqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 10 1.00 * vrsqrtps (%rax), %xmm2
@@ -1736,7 +1736,7 @@ vzeroupper
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 257.00 216.25 235.25 176.17 176.17 38.00 424.25 3.25 12.67
+# CHECK-NEXT: - 257.00 216.25 247.25 173.17 173.17 38.00 424.25 3.25 12.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2342,17 +2342,17 @@ vzeroupper
# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - vrcpps (%rax), %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vrcpss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vrcpss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundpd $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundpd $1, %ymm0, %ymm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundps $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundps $1, %ymm0, %ymm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundsd $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundsd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundss $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundss $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - vrsqrtps %xmm0, %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vrsqrtps (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
index dcc5353..4865121 100644
--- a/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/Broadwell/resources-sse41.s
@@ -243,13 +243,13 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 3 15 2.00 * pmulld (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 ptest %xmm0, %xmm1
# CHECK-NEXT: 3 7 1.00 * ptest (%rax), %xmm1
-# CHECK-NEXT: 1 6 0.50 roundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 roundpd $1, %xmm0, %xmm2
# CHECK-NEXT: 3 11 2.00 * roundpd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 roundps $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 roundps $1, %xmm0, %xmm2
# CHECK-NEXT: 3 11 2.00 * roundps $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 roundsd $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 roundsd $1, %xmm0, %xmm2
# CHECK-NEXT: 3 11 2.00 * roundsd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 roundss $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 roundss $1, %xmm0, %xmm2
# CHECK-NEXT: 3 11 2.00 * roundss $1, (%rax), %xmm2
# CHECK: Resources:
@@ -266,7 +266,7 @@ roundss $1, (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 23.83 22.33 25.67 25.67 5.00 80.33 0.50 1.67
+# CHECK-NEXT: - - 23.83 30.33 23.67 23.67 5.00 80.33 0.50 1.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -358,11 +358,11 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - pmulld (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - roundpd $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - roundps $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundsd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - roundsd $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundss $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - roundss $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
index cff60c9..05c4760 100644
--- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-avx1.s
@@ -1632,17 +1632,17 @@ vzeroupper
# CHECK-NEXT: 4 18 2.00 * vrcpps (%rax), %ymm2
# CHECK-NEXT: 1 5 1.00 vrcpss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 1.00 * vrcpss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 6 0.50 vroundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 vroundpd $1, %xmm0, %xmm2
# CHECK-NEXT: 3 12 2.00 * vroundpd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 vroundpd $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 6 2.00 vroundpd $1, %ymm0, %ymm2
# CHECK-NEXT: 3 13 2.00 * vroundpd $1, (%rax), %ymm2
-# CHECK-NEXT: 1 6 0.50 vroundps $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 vroundps $1, %xmm0, %xmm2
# CHECK-NEXT: 3 12 2.00 * vroundps $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 vroundps $1, %ymm0, %ymm2
+# CHECK-NEXT: 2 6 2.00 vroundps $1, %ymm0, %ymm2
# CHECK-NEXT: 3 13 2.00 * vroundps $1, (%rax), %ymm2
-# CHECK-NEXT: 1 6 0.50 vroundsd $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 6 2.00 vroundsd $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 3 12 2.00 * vroundsd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 6 0.50 vroundss $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 2 6 2.00 vroundss $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 3 12 2.00 * vroundss $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 1.00 vrsqrtps %xmm0, %xmm2
# CHECK-NEXT: 2 11 1.00 * vrsqrtps (%rax), %xmm2
@@ -1736,7 +1736,7 @@ vzeroupper
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 336.00 215.58 236.58 176.17 176.17 38.00 427.58 3.25 12.67
+# CHECK-NEXT: - 336.00 215.58 248.58 173.17 173.17 38.00 427.58 3.25 12.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2342,17 +2342,17 @@ vzeroupper
# CHECK-NEXT: - - 2.33 0.33 0.50 0.50 - 0.33 - - vrcpps (%rax), %ymm2
# CHECK-NEXT: - - 1.00 - - - - - - - vrcpss %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vrcpss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundpd $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundpd $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundpd $1, %ymm0, %ymm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundpd $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundps $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundps $1, %ymm0, %ymm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundps $1, %ymm0, %ymm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundps $1, (%rax), %ymm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundsd $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundsd $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundsd $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - vroundss $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - vroundss $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - vroundss $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - 1.00 - - - - - - - vrsqrtps %xmm0, %xmm2
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - vrsqrtps (%rax), %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
index c2d0773..62dfa23 100644
--- a/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
+++ b/llvm/test/tools/llvm-mca/X86/Haswell/resources-sse41.s
@@ -243,13 +243,13 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: 3 16 2.00 * pmulld (%rax), %xmm2
# CHECK-NEXT: 2 2 1.00 ptest %xmm0, %xmm1
# CHECK-NEXT: 3 8 1.00 * ptest (%rax), %xmm1
-# CHECK-NEXT: 1 6 0.50 roundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 roundpd $1, %xmm0, %xmm2
# CHECK-NEXT: 3 12 2.00 * roundpd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 roundps $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 roundps $1, %xmm0, %xmm2
# CHECK-NEXT: 3 12 2.00 * roundps $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 roundsd $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 roundsd $1, %xmm0, %xmm2
# CHECK-NEXT: 3 12 2.00 * roundsd $1, (%rax), %xmm2
-# CHECK-NEXT: 1 6 0.50 roundss $1, %xmm0, %xmm2
+# CHECK-NEXT: 2 6 2.00 roundss $1, %xmm0, %xmm2
# CHECK-NEXT: 3 12 2.00 * roundss $1, (%rax), %xmm2
# CHECK: Resources:
@@ -266,7 +266,7 @@ roundss $1, (%rax), %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - - 23.83 22.33 25.67 25.67 5.00 80.33 0.50 1.67
+# CHECK-NEXT: - - 23.83 30.33 23.67 23.67 5.00 80.33 0.50 1.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -358,11 +358,11 @@ roundss $1, (%rax), %xmm2
# CHECK-NEXT: - - 2.00 - 0.50 0.50 - - - - pmulld (%rax), %xmm2
# CHECK-NEXT: - - 1.00 - - - - 1.00 - - ptest %xmm0, %xmm1
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - 1.00 - - ptest (%rax), %xmm1
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundpd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - roundpd $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundpd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundps $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - roundps $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundps $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundsd $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - roundsd $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundsd $1, (%rax), %xmm2
-# CHECK-NEXT: - - - - 0.50 0.50 - - - - roundss $1, %xmm0, %xmm2
+# CHECK-NEXT: - - - 2.00 - - - - - - roundss $1, %xmm0, %xmm2
# CHECK-NEXT: - - - 2.00 0.50 0.50 - - - - roundss $1, (%rax), %xmm2