[llvm] 0e16950 - [X86] IceLakeServer - ZMM FADD/FMUL can only use Port0
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Feb 13 00:23:06 PST 2024
Author: Simon Pilgrim
Date: 2024-02-13T08:22:51Z
New Revision: 0e16950e741aee7ffec865c81596e1411471475e
URL: https://github.com/llvm/llvm-project/commit/0e16950e741aee7ffec865c81596e1411471475e
DIFF: https://github.com/llvm/llvm-project/commit/0e16950e741aee7ffec865c81596e1411471475e.diff
LOG: [X86] IceLakeServer - ZMM FADD/FMUL can only use Port0
Fix discrepancy from when this was forked from the SkylakeServer model
This also fixes VRANGEPS/VRANGEPD instructions which typically match FADD characteristics
Confirmed with Agner + uops.info
Fixes #81504
Added:
Modified:
llvm/lib/Target/X86/X86SchedIceLake.td
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86SchedIceLake.td b/llvm/lib/Target/X86/X86SchedIceLake.td
index 2c660fad2ec7db..3144327670c763 100644
--- a/llvm/lib/Target/X86/X86SchedIceLake.td
+++ b/llvm/lib/Target/X86/X86SchedIceLake.td
@@ -257,11 +257,11 @@ defm : X86WriteRes<WriteEMMS, [ICXPort05,ICXPort0156], 10, [9,1], 10>;
defm : ICXWriteResPair<WriteFAdd, [ICXPort01], 4, [1], 1, 5>; // Floating point add/sub.
defm : ICXWriteResPair<WriteFAddX, [ICXPort01], 4, [1], 1, 6>;
defm : ICXWriteResPair<WriteFAddY, [ICXPort01], 4, [1], 1, 7>;
-defm : ICXWriteResPair<WriteFAddZ, [ICXPort05], 4, [1], 1, 7>;
+defm : ICXWriteResPair<WriteFAddZ, [ICXPort0], 4, [1], 1, 7>;
defm : ICXWriteResPair<WriteFAdd64, [ICXPort01], 4, [1], 1, 5>; // Floating point double add/sub.
defm : ICXWriteResPair<WriteFAdd64X, [ICXPort01], 4, [1], 1, 6>;
defm : ICXWriteResPair<WriteFAdd64Y, [ICXPort01], 4, [1], 1, 7>;
-defm : ICXWriteResPair<WriteFAdd64Z, [ICXPort05], 4, [1], 1, 7>;
+defm : ICXWriteResPair<WriteFAdd64Z, [ICXPort0], 4, [1], 1, 7>;
defm : ICXWriteResPair<WriteFCmp, [ICXPort01], 4, [1], 1, 5>; // Floating point compare.
defm : ICXWriteResPair<WriteFCmpX, [ICXPort01], 4, [1], 1, 6>;
@@ -278,11 +278,11 @@ defm : ICXWriteResPair<WriteFComX, [ICXPort0], 2>; // Floating point compa
defm : ICXWriteResPair<WriteFMul, [ICXPort01], 4, [1], 1, 5>; // Floating point multiplication.
defm : ICXWriteResPair<WriteFMulX, [ICXPort01], 4, [1], 1, 6>;
defm : ICXWriteResPair<WriteFMulY, [ICXPort01], 4, [1], 1, 7>;
-defm : ICXWriteResPair<WriteFMulZ, [ICXPort05], 4, [1], 1, 7>;
+defm : ICXWriteResPair<WriteFMulZ, [ICXPort0], 4, [1], 1, 7>;
defm : ICXWriteResPair<WriteFMul64, [ICXPort01], 4, [1], 1, 5>; // Floating point double multiplication.
defm : ICXWriteResPair<WriteFMul64X, [ICXPort01], 4, [1], 1, 6>;
defm : ICXWriteResPair<WriteFMul64Y, [ICXPort01], 4, [1], 1, 7>;
-defm : ICXWriteResPair<WriteFMul64Z, [ICXPort05], 4, [1], 1, 7>;
+defm : ICXWriteResPair<WriteFMul64Z, [ICXPort0], 4, [1], 1, 7>;
defm : ICXWriteResPair<WriteFDiv, [ICXPort0,ICXFPDivider], 11, [1,3], 1, 5>; // 10-14 cycles. // Floating point division.
defm : ICXWriteResPair<WriteFDivX, [ICXPort0,ICXFPDivider], 11, [1,3], 1, 6>; // 10-14 cycles.
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
index 6d33fdb3359b4f..5c12c520b04af2 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
@@ -1084,24 +1084,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 1.00 kshiftlw $2, %k1, %k2
# CHECK-NEXT: 1 4 1.00 kshiftrw $2, %k1, %k2
# CHECK-NEXT: 1 4 1.00 kunpckbw %k0, %k1, %k2
-# CHECK-NEXT: 1 4 0.50 vaddpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vaddpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vaddpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vaddps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vaddps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vaddpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vaddpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vaddpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vaddpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vaddpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vaddpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vaddpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vaddps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vaddps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vaddps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vaddps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vaddps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 3 1.00 valignd $1, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax), %zmm17, %zmm19
# CHECK-NEXT: 2 10 1.00 * valignd $1, (%rax){1to16}, %zmm17, %zmm19
@@ -1510,24 +1510,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2 1 0.50 * vmovups %zmm16, (%rax) {%k1}
# CHECK-NEXT: 1 1 0.50 vmovups %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: 2 8 0.50 * vmovups (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vmulpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vmulpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vmulpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vmulps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vmulps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vmulps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vmulps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vmulpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vmulpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vmulpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vmulps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vmulps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vmulps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vmulps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vmulps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vmulps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vmulps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 1 1.00 vpabsd %zmm16, %zmm19
# CHECK-NEXT: 2 8 1.00 * vpabsd (%rax), %zmm19
# CHECK-NEXT: 2 8 1.00 * vpabsd (%rax){1to16}, %zmm19
@@ -1958,24 +1958,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 4 1.00 vptestnmq %zmm0, %zmm1, %k2 {%k3}
# CHECK-NEXT: 2 11 1.00 * vptestnmq (%rax), %zmm1, %k2 {%k3}
# CHECK-NEXT: 2 11 1.00 * vptestnmq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: 1 4 0.50 vsubpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vsubpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vsubpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vsubps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vsubps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vsubps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vsubpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vsubpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vsubpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vsubpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vsubpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vsubpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vsubpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vsubps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vsubps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vsubps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vsubps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vsubps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 2 1.00 vucomiss %xmm16, %xmm17
# CHECK-NEXT: 2 7 1.00 * vucomiss (%rax), %xmm17
# CHECK-NEXT: 1 1 1.00 vunpckhpd %zmm16, %zmm17, %zmm19
@@ -2031,7 +2031,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - 612.00 371.17 99.67 327.50 327.50 8.00 612.17 2.00 8.00 8.00 8.00
+# CHECK-NEXT: - 612.00 398.17 99.67 327.50 327.50 8.00 585.17 2.00 8.00 8.00 8.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2044,24 +2044,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - kshiftlw $2, %k1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - - - kshiftrw $2, %k1, %k2
# CHECK-NEXT: - - - - - - - 1.00 - - - - kunpckbw %k0, %k1, %k2
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vaddpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vaddpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vaddpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vaddps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vaddpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vaddps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vaddps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - 1.00 - - - - valignd $1, %zmm16, %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax), %zmm17, %zmm19
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - valignd $1, (%rax){1to16}, %zmm17, %zmm19
@@ -2470,24 +2470,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - 0.50 - - 0.50 0.50 0.50 vmovups %zmm16, (%rax) {%k1}
# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmovups %zmm16, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.33 0.33 0.50 0.50 - 0.33 - - - - vmovups (%rax), %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmulpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmulpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmulpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmulps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmulps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vmulps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vmulpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vmulps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vmulps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - - - - - vpabsd %zmm16, %zmm19
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vpabsd (%rax), %zmm19
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vpabsd (%rax){1to16}, %zmm19
@@ -2918,24 +2918,24 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - 1.00 - - - - vptestnmq %zmm0, %zmm1, %k2 {%k3}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vptestnmq (%rax), %zmm1, %k2 {%k3}
# CHECK-NEXT: - - - - 0.50 0.50 - 1.00 - - - - vptestnmq (%rax){1to8}, %zmm1, %k2 {%k3}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vsubpd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubpd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vsubpd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubpd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vsubpd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubpd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vsubps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubpd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubpd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vsubpd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubpd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubpd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vsubps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vsubps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.00 - - - - - - - - - vucomiss %xmm16, %xmm17
# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vucomiss (%rax), %xmm17
# CHECK-NEXT: - - - - - - - 1.00 - - - - vunpckhpd %zmm16, %zmm17, %zmm19
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
index 4da4cebd60994f..42041cd389fce0 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
@@ -753,30 +753,30 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 4 22 3.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: 3 15 3.00 vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 22 3.00 * vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 4 0.50 vrangesd $ab, %xmm16, %xmm17, %xmm19
# CHECK-NEXT: 2 10 0.50 * vrangesd $ab, (%rax), %xmm17, %xmm19
# CHECK-NEXT: 1 4 0.50 vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
@@ -872,7 +872,7 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - - 197.25 73.25 102.00 102.00 5.50 209.25 0.25 5.50 5.50 5.50
+# CHECK-NEXT: - - 209.25 73.25 102.00 102.00 5.50 197.25 0.25 5.50 5.50 5.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -1162,30 +1162,30 @@ vxorps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - - - vpmullq (%rax), %zmm17, %zmm19 {%k1}
# CHECK-NEXT: - - 3.00 - - - - - - - - - vpmullq %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 3.00 - 0.50 0.50 - - - - - - vpmullq (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangepd $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangepd $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangepd $ab, (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangepd $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangeps $ab, %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangeps $ab, (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vrangeps $ab, (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vrangeps $ab, {sae}, %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vrangesd $ab, (%rax), %xmm17, %xmm19
# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vrangesd $ab, %xmm16, %xmm17, %xmm19 {%k1}
More information about the llvm-commits
mailing list