[llvm] 8094119 - [X86] IceLakeServer - ZMM FMA can only use Port0
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 30 11:17:59 PDT 2023
Author: Simon Pilgrim
Date: 2023-10-30T18:16:56Z
New Revision: 80941193765b96cf5d6d95313665cc0a720e1d28
URL: https://github.com/llvm/llvm-project/commit/80941193765b96cf5d6d95313665cc0a720e1d28
DIFF: https://github.com/llvm/llvm-project/commit/80941193765b96cf5d6d95313665cc0a720e1d28.diff
LOG: [X86] IceLakeServer - ZMM FMA can only use Port0
Fix discrepancy from when this was forked from the SkylakeServer model
Confirmed with Agner + uops.info
Added:
Modified:
llvm/lib/Target/X86/X86SchedIceLake.td
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86SchedIceLake.td b/llvm/lib/Target/X86/X86SchedIceLake.td
index e5be73d22c40b65..a2aa2655bca2856 100644
--- a/llvm/lib/Target/X86/X86SchedIceLake.td
+++ b/llvm/lib/Target/X86/X86SchedIceLake.td
@@ -316,7 +316,7 @@ defm : ICXWriteResPair<WriteFRsqrtZ,[ICXPort0,ICXPort5], 9, [2,1], 3, 7>;
defm : ICXWriteResPair<WriteFMA, [ICXPort01], 4, [1], 1, 5>; // Fused Multiply Add.
defm : ICXWriteResPair<WriteFMAX, [ICXPort01], 4, [1], 1, 6>;
defm : ICXWriteResPair<WriteFMAY, [ICXPort01], 4, [1], 1, 7>;
-defm : ICXWriteResPair<WriteFMAZ, [ICXPort05], 4, [1], 1, 7>;
+defm : ICXWriteResPair<WriteFMAZ, [ICXPort0], 4, [1], 1, 7>;
defm : ICXWriteResPair<WriteDPPD, [ICXPort5,ICXPort015], 9, [1,2], 3, 6>; // Floating point double dot product.
defm : ICXWriteResPair<WriteDPPS, [ICXPort5,ICXPort015], 13, [1,3], 4, 6>;
defm : ICXWriteResPair<WriteDPPSY,[ICXPort5,ICXPort015], 13, [1,3], 4, 7>;
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 d99213f0b25a66d..6d33fdb3359b4fb 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
@@ -1334,60 +1334,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 3 18 10.00 vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 25 10.00 * vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 25 10.00 * vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vfmadd132pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vfmadd213pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vfmadd231pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vfmadd132ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vfmadd213ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 1 4 0.50 vfmadd231ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: 1 4 0.50 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: 1 4 0.50 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 11 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 11 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 5 21 4.00 * vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
# CHECK-NEXT: 5 25 8.00 * vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 5 21 4.00 * vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
@@ -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 344.17 99.67 327.50 327.50 8.00 639.17 2.00 8.00 8.00 8.00
+# 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: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2294,60 +2294,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - 10.00 2.00 - - - - 1.00 - - - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - 10.00 2.00 - 0.50 0.50 - 1.00 - - - - vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - 10.00 2.00 - 0.50 0.50 - 1.00 - - - - vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd132pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd213pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd231pd %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231pd (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd132ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd213ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd231ps %zmm16, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231ps (%rax), %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
-# CHECK-NEXT: - - 0.50 - - - - 0.50 - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
-# CHECK-NEXT: - - 0.50 - 0.50 0.50 - 0.50 - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - 1.00 - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - 1.00 - 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - 1.58 0.58 4.00 4.00 - 0.58 0.25 - - - vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 8.00 8.00 - 0.58 0.25 - - - vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 4.00 4.00 - 0.58 0.25 - - - vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
More information about the llvm-commits
mailing list