[llvm] 1de5fe1 - [MCA][X86] Add AVX512 FMA instruction test coverage
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 30 11:17:57 PDT 2023
Author: Simon Pilgrim
Date: 2023-10-30T18:16:56Z
New Revision: 1de5fe18d8e3935a1a0860068d4e23b7bb7e83b0
URL: https://github.com/llvm/llvm-project/commit/1de5fe18d8e3935a1a0860068d4e23b7bb7e83b0
DIFF: https://github.com/llvm/llvm-project/commit/1de5fe18d8e3935a1a0860068d4e23b7bb7e83b0.diff
LOG: [MCA][X86] Add AVX512 FMA instruction test coverage
Added:
Modified:
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
Removed:
################################################################################
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
index 5b9b8cd6bb5fc6c..a8937f7dcfd117a 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512.s
@@ -298,6 +298,66 @@ vdivps %zmm16, %zmm17, %zmm19 {z}{k1}
vdivps (%rax), %zmm17, %zmm19 {z}{k1}
vdivps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19
+vfmadd132pd (%rax), %zmm17, %zmm19
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd132pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213pd %zmm16, %zmm17, %zmm19
+vfmadd213pd (%rax), %zmm17, %zmm19
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd213pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd213pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231pd %zmm16, %zmm17, %zmm19
+vfmadd231pd (%rax), %zmm17, %zmm19
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd231pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd231pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd132ps %zmm16, %zmm17, %zmm19
+vfmadd132ps (%rax), %zmm17, %zmm19
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd132ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd132ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213ps %zmm16, %zmm17, %zmm19
+vfmadd213ps (%rax), %zmm17, %zmm19
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd213ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd213ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231ps %zmm16, %zmm17, %zmm19
+vfmadd231ps (%rax), %zmm17, %zmm19
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd231ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd231ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vgatherdpd (%rax,%ymm1,2), %zmm2 {k1}
vgatherdps (%rax,%zmm1,2), %zmm2 {k1}
vgatherqpd (%rax,%zmm1,2), %zmm2 {k1}
@@ -1274,6 +1334,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 3 29 28.00 vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 5 0.50 * vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
@@ -1913,7 +2027,7 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 1506.00 170.00 307.00 16.00 522.00 281.50 281.50
+# CHECK-NEXT: - 1506.00 197.00 334.00 16.00 522.00 299.50 299.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -2176,6 +2290,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 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: - - - - - - 0.50 0.50 vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
index 84852a2a8b1563f..e8e7a80f690bfa3 100644
--- a/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vl.s
@@ -418,6 +418,126 @@ vdivps %ymm16, %ymm17, %ymm19 {z}{k1}
vdivps (%rax), %ymm17, %ymm19 {z}{k1}
vdivps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19
+vfmadd132pd (%rax), %xmm17, %xmm19
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd132pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132pd %ymm16, %ymm17, %ymm19
+vfmadd132pd (%rax), %ymm17, %ymm19
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd132pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd132pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213pd %xmm16, %xmm17, %xmm19
+vfmadd213pd (%rax), %xmm17, %xmm19
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd213pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd213pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213pd %ymm16, %ymm17, %ymm19
+vfmadd213pd (%rax), %ymm17, %ymm19
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd213pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd213pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231pd %xmm16, %xmm17, %xmm19
+vfmadd231pd (%rax), %xmm17, %xmm19
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd231pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd231pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231pd %ymm16, %ymm17, %ymm19
+vfmadd231pd (%rax), %ymm17, %ymm19
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd231pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd231pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd132ps %xmm16, %xmm17, %xmm19
+vfmadd132ps (%rax), %xmm17, %xmm19
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd132ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd132ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132ps %ymm16, %ymm17, %ymm19
+vfmadd132ps (%rax), %ymm17, %ymm19
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd132ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd132ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213ps %xmm16, %xmm17, %xmm19
+vfmadd213ps (%rax), %xmm17, %xmm19
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd213ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd213ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213ps %ymm16, %ymm17, %ymm19
+vfmadd213ps (%rax), %ymm17, %ymm19
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd213ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd213ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231ps %xmm16, %xmm17, %xmm19
+vfmadd231ps (%rax), %xmm17, %xmm19
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd231ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd231ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231ps %ymm16, %ymm17, %ymm19
+vfmadd231ps (%rax), %ymm17, %ymm19
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd231ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd231ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vgatherdpd (%rax,%xmm1,2), %ymm2 {k1}
vgatherdps (%rax,%ymm1,2), %ymm2 {k1}
vgatherqpd (%rax,%ymm1,2), %ymm2 {k1}
@@ -1961,6 +2081,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 3 29 28.00 vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 4 36 28.00 * vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 5 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 5 0.50 * vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: 1 5 0.50 * vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
@@ -3000,7 +3228,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1]
-# CHECK-NEXT: - 1935.00 224.00 525.50 32.00 738.50 450.50 450.50
+# CHECK-NEXT: - 1935.00 278.00 579.50 32.00 738.50 486.50 486.50
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6.0] [6.1] Instructions:
@@ -3376,6 +3604,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 28.00 2.50 - - 0.50 0.50 0.50 vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - 0.50 0.50 vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: - - - - - - 0.50 0.50 vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
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 40ab0656c48889a..d99213f0b25a66d 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
@@ -298,6 +298,66 @@ vdivps %zmm16, %zmm17, %zmm19 {z}{k1}
vdivps (%rax), %zmm17, %zmm19 {z}{k1}
vdivps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19
+vfmadd132pd (%rax), %zmm17, %zmm19
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd132pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213pd %zmm16, %zmm17, %zmm19
+vfmadd213pd (%rax), %zmm17, %zmm19
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd213pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd213pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231pd %zmm16, %zmm17, %zmm19
+vfmadd231pd (%rax), %zmm17, %zmm19
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd231pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd231pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd132ps %zmm16, %zmm17, %zmm19
+vfmadd132ps (%rax), %zmm17, %zmm19
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd132ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd132ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213ps %zmm16, %zmm17, %zmm19
+vfmadd213ps (%rax), %zmm17, %zmm19
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd213ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd213ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231ps %zmm16, %zmm17, %zmm19
+vfmadd231ps (%rax), %zmm17, %zmm19
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd231ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd231ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vgatherdpd (%rax,%ymm1,2), %zmm2 {k1}
vgatherdps (%rax,%zmm1,2), %zmm2 {k1}
vgatherqpd (%rax,%zmm1,2), %zmm2 {k1}
@@ -1274,6 +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: 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}
@@ -1917,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 317.17 99.67 309.50 309.50 8.00 612.17 2.00 8.00 8.00 8.00
+# 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: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2180,6 +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.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}
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
index 6d11293789a60d7..375087ae0cfe4e7 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vl.s
@@ -418,6 +418,126 @@ vdivps %ymm16, %ymm17, %ymm19 {z}{k1}
vdivps (%rax), %ymm17, %ymm19 {z}{k1}
vdivps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19
+vfmadd132pd (%rax), %xmm17, %xmm19
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd132pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132pd %ymm16, %ymm17, %ymm19
+vfmadd132pd (%rax), %ymm17, %ymm19
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd132pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd132pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213pd %xmm16, %xmm17, %xmm19
+vfmadd213pd (%rax), %xmm17, %xmm19
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd213pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd213pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213pd %ymm16, %ymm17, %ymm19
+vfmadd213pd (%rax), %ymm17, %ymm19
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd213pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd213pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231pd %xmm16, %xmm17, %xmm19
+vfmadd231pd (%rax), %xmm17, %xmm19
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd231pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd231pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231pd %ymm16, %ymm17, %ymm19
+vfmadd231pd (%rax), %ymm17, %ymm19
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd231pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd231pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd132ps %xmm16, %xmm17, %xmm19
+vfmadd132ps (%rax), %xmm17, %xmm19
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd132ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd132ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132ps %ymm16, %ymm17, %ymm19
+vfmadd132ps (%rax), %ymm17, %ymm19
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd132ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd132ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213ps %xmm16, %xmm17, %xmm19
+vfmadd213ps (%rax), %xmm17, %xmm19
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd213ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd213ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213ps %ymm16, %ymm17, %ymm19
+vfmadd213ps (%rax), %ymm17, %ymm19
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd213ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd213ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231ps %xmm16, %xmm17, %xmm19
+vfmadd231ps (%rax), %xmm17, %xmm19
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd231ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd231ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231ps %ymm16, %ymm17, %ymm19
+vfmadd231ps (%rax), %ymm17, %ymm19
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd231ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd231ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vgatherdpd (%rax,%xmm1,2), %ymm2 {k1}
vgatherdps (%rax,%ymm1,2), %ymm2 {k1}
vgatherqpd (%rax,%ymm1,2), %ymm2 {k1}
@@ -1961,6 +2081,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 11 5.00 vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 18 5.00 * vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 18 5.00 * vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 5 19 2.00 * vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 5 21 4.00 * vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: 5 19 2.00 * vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
@@ -3004,7 +3232,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: - 423.00 384.33 359.33 456.50 456.50 16.00 722.33 4.00 16.00 16.00 16.00
+# CHECK-NEXT: - 423.00 438.33 413.33 492.50 492.50 16.00 722.33 4.00 16.00 16.00 16.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -3380,6 +3608,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - 5.00 1.00 - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - - - vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - - - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.58 0.58 2.00 2.00 - 0.58 0.25 - - - vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 4.00 4.00 - 0.58 0.25 - - - vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 2.00 2.00 - 0.58 0.25 - - - vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
index 784c851d707e81c..b34ccaacc11a32f 100644
--- a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512.s
@@ -298,6 +298,66 @@ vdivps %zmm16, %zmm17, %zmm19 {z}{k1}
vdivps (%rax), %zmm17, %zmm19 {z}{k1}
vdivps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19
+vfmadd132pd (%rax), %zmm17, %zmm19
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd132pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213pd %zmm16, %zmm17, %zmm19
+vfmadd213pd (%rax), %zmm17, %zmm19
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd213pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd213pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231pd %zmm16, %zmm17, %zmm19
+vfmadd231pd (%rax), %zmm17, %zmm19
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd231pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd231pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd132ps %zmm16, %zmm17, %zmm19
+vfmadd132ps (%rax), %zmm17, %zmm19
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd132ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd132ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213ps %zmm16, %zmm17, %zmm19
+vfmadd213ps (%rax), %zmm17, %zmm19
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd213ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd213ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231ps %zmm16, %zmm17, %zmm19
+vfmadd231ps (%rax), %zmm17, %zmm19
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd231ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd231ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vgatherdpd (%rax,%ymm1,2), %zmm2 {k1}
vgatherdps (%rax,%zmm1,2), %zmm2 {k1}
vgatherqpd (%rax,%zmm1,2), %zmm2 {k1}
@@ -1274,6 +1334,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 3 18 2.00 vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 25 2.00 * vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 4 25 2.00 * vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 2 12 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 2 12 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 2 12 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 11 28 2.67 * vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
# CHECK-NEXT: 19 30 5.33 * vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 11 28 2.67 * vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
@@ -1918,7 +2032,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] [12]
-# CHECK-NEXT: 436.00 12.00 206.33 206.33 8.00 575.00 - 8.00 8.00 8.00 - 206.33 -
+# CHECK-NEXT: 490.00 12.00 218.33 218.33 8.00 575.00 - 8.00 8.00 8.00 - 218.33 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -2181,6 +2295,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 2.50 - - - - 0.50 - - - - - - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2.50 - 0.33 0.33 - 0.50 - - - - - 0.33 - vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 2.50 - 0.33 0.33 - 0.50 - - - - - 0.33 - vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1.00 - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1.00 - 2.67 2.67 - 2.00 - - - - - 2.67 - vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1.00 - 5.33 5.33 - 2.00 - - - - - 5.33 - vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1.00 - 2.67 2.67 - 2.00 - - - - - 2.67 - vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
index 2b2d1f3dcc876dd..3ad66f1c3d7128f 100644
--- a/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SapphireRapids/resources-avx512vl.s
@@ -418,6 +418,126 @@ vdivps %ymm16, %ymm17, %ymm19 {z}{k1}
vdivps (%rax), %ymm17, %ymm19 {z}{k1}
vdivps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19
+vfmadd132pd (%rax), %xmm17, %xmm19
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd132pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132pd %ymm16, %ymm17, %ymm19
+vfmadd132pd (%rax), %ymm17, %ymm19
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd132pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd132pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213pd %xmm16, %xmm17, %xmm19
+vfmadd213pd (%rax), %xmm17, %xmm19
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd213pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd213pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213pd %ymm16, %ymm17, %ymm19
+vfmadd213pd (%rax), %ymm17, %ymm19
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd213pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd213pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231pd %xmm16, %xmm17, %xmm19
+vfmadd231pd (%rax), %xmm17, %xmm19
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd231pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd231pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231pd %ymm16, %ymm17, %ymm19
+vfmadd231pd (%rax), %ymm17, %ymm19
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd231pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd231pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd132ps %xmm16, %xmm17, %xmm19
+vfmadd132ps (%rax), %xmm17, %xmm19
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd132ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd132ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132ps %ymm16, %ymm17, %ymm19
+vfmadd132ps (%rax), %ymm17, %ymm19
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd132ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd132ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213ps %xmm16, %xmm17, %xmm19
+vfmadd213ps (%rax), %xmm17, %xmm19
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd213ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd213ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213ps %ymm16, %ymm17, %ymm19
+vfmadd213ps (%rax), %ymm17, %ymm19
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd213ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd213ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231ps %xmm16, %xmm17, %xmm19
+vfmadd231ps (%rax), %xmm17, %xmm19
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd231ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd231ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231ps %ymm16, %ymm17, %ymm19
+vfmadd231ps (%rax), %ymm17, %ymm19
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd231ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd231ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vgatherdpd (%rax,%xmm1,2), %ymm2 {k1}
vgatherdps (%rax,%ymm1,2), %ymm2 {k1}
vgatherqpd (%rax,%ymm1,2), %ymm2 {k1}
@@ -1961,6 +2081,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 11 1.00 vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 19 1.00 * vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 19 1.00 * vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 12 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 12 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 12 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 7 28 1.33 * vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 11 29 2.67 * vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: 7 28 1.33 * vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
@@ -3005,7 +3233,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 323.33 347.33 304.33 304.33 16.00 794.33 - 16.00 16.00 16.00 - 304.33 -
+# CHECK-NEXT: 377.33 401.33 328.33 328.33 16.00 794.33 - 16.00 16.00 16.00 - 328.33 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
@@ -3381,6 +3609,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1.00 - - - - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1.00 - 0.33 0.33 - - - - - - - 0.33 - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 0.50 0.50 - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 0.50 0.50 0.33 0.33 - - - - - - - 0.33 - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1.00 1.00 1.33 1.33 - 1.00 - - - - - 1.33 - vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 1.00 1.00 2.67 2.67 - 1.00 - - - - - 2.67 - vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: 1.00 1.00 1.33 1.33 - 1.00 - - - - - 1.33 - vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
index c17426a6540509d..b1bfd7a9ec448a9 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512.s
@@ -298,6 +298,66 @@ vdivps %zmm16, %zmm17, %zmm19 {z}{k1}
vdivps (%rax), %zmm17, %zmm19 {z}{k1}
vdivps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19
+vfmadd132pd (%rax), %zmm17, %zmm19
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd132pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213pd %zmm16, %zmm17, %zmm19
+vfmadd213pd (%rax), %zmm17, %zmm19
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd213pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd213pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231pd %zmm16, %zmm17, %zmm19
+vfmadd231pd (%rax), %zmm17, %zmm19
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd231pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd231pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd132ps %zmm16, %zmm17, %zmm19
+vfmadd132ps (%rax), %zmm17, %zmm19
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd132ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd132ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213ps %zmm16, %zmm17, %zmm19
+vfmadd213ps (%rax), %zmm17, %zmm19
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd213ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd213ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231ps %zmm16, %zmm17, %zmm19
+vfmadd231ps (%rax), %zmm17, %zmm19
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd231ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd231ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vgatherdpd (%rax,%ymm1,2), %zmm2 {k1}
vgatherdps (%rax,%zmm1,2), %zmm2 {k1}
vgatherqpd (%rax,%zmm1,2), %zmm2 {k1}
@@ -1274,6 +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: 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}
@@ -1915,7 +2029,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]
-# CHECK-NEXT: - 612.00 312.67 99.67 314.83 314.83 16.00 616.67 2.00 5.33
+# CHECK-NEXT: - 612.00 339.67 99.67 332.83 332.83 16.00 643.67 2.00 5.33
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -2178,6 +2292,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.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}
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
index d61bc0d9c7e3b3c..2ad91ea514aa201 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx512vl.s
@@ -418,6 +418,126 @@ vdivps %ymm16, %ymm17, %ymm19 {z}{k1}
vdivps (%rax), %ymm17, %ymm19 {z}{k1}
vdivps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19
+vfmadd132pd (%rax), %xmm17, %xmm19
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd132pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132pd %ymm16, %ymm17, %ymm19
+vfmadd132pd (%rax), %ymm17, %ymm19
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd132pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd132pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213pd %xmm16, %xmm17, %xmm19
+vfmadd213pd (%rax), %xmm17, %xmm19
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd213pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd213pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213pd %ymm16, %ymm17, %ymm19
+vfmadd213pd (%rax), %ymm17, %ymm19
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd213pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd213pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231pd %xmm16, %xmm17, %xmm19
+vfmadd231pd (%rax), %xmm17, %xmm19
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd231pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd231pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231pd %ymm16, %ymm17, %ymm19
+vfmadd231pd (%rax), %ymm17, %ymm19
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd231pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd231pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd132ps %xmm16, %xmm17, %xmm19
+vfmadd132ps (%rax), %xmm17, %xmm19
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd132ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd132ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132ps %ymm16, %ymm17, %ymm19
+vfmadd132ps (%rax), %ymm17, %ymm19
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd132ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd132ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213ps %xmm16, %xmm17, %xmm19
+vfmadd213ps (%rax), %xmm17, %xmm19
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd213ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd213ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213ps %ymm16, %ymm17, %ymm19
+vfmadd213ps (%rax), %ymm17, %ymm19
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd213ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd213ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231ps %xmm16, %xmm17, %xmm19
+vfmadd231ps (%rax), %xmm17, %xmm19
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd231ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd231ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231ps %ymm16, %ymm17, %ymm19
+vfmadd231ps (%rax), %ymm17, %ymm19
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd231ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd231ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vgatherdpd (%rax,%xmm1,2), %ymm2 {k1}
vgatherdps (%rax,%ymm1,2), %ymm2 {k1}
vgatherqpd (%rax,%ymm1,2), %ymm2 {k1}
@@ -1961,6 +2081,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 11 5.00 vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 18 5.00 * vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 2 18 5.00 * vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 2 10 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 2 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 5 19 2.00 * vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 5 21 4.00 * vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: 5 19 2.00 * vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
@@ -3002,7 +3230,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
-# CHECK-NEXT: - 423.00 384.33 296.33 467.17 467.17 32.00 785.33 4.00 10.67
+# CHECK-NEXT: - 423.00 438.33 350.33 503.17 503.17 32.00 785.33 4.00 10.67
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] Instructions:
@@ -3378,6 +3606,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - 5.00 1.00 - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - 5.00 1.00 - 0.50 0.50 - - - - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - 0.50 0.50 - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - 0.50 0.50 0.50 0.50 - - - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - 1.58 0.58 2.00 2.00 - 0.58 0.25 - vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 4.00 4.00 - 0.58 0.25 - vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: - - 1.58 0.58 2.00 2.00 - 0.58 0.25 - vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
index 4fb89645febce69..6742cfccb2d0010 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512.s
@@ -298,6 +298,66 @@ vdivps %zmm16, %zmm17, %zmm19 {z}{k1}
vdivps (%rax), %zmm17, %zmm19 {z}{k1}
vdivps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19
+vfmadd132pd (%rax), %zmm17, %zmm19
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd132pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd132pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213pd %zmm16, %zmm17, %zmm19
+vfmadd213pd (%rax), %zmm17, %zmm19
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd213pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd213pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231pd %zmm16, %zmm17, %zmm19
+vfmadd231pd (%rax), %zmm17, %zmm19
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+vfmadd231pd %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {k1}
+vfmadd231pd %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd132ps %zmm16, %zmm17, %zmm19
+vfmadd132ps (%rax), %zmm17, %zmm19
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd132ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd132ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd213ps %zmm16, %zmm17, %zmm19
+vfmadd213ps (%rax), %zmm17, %zmm19
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd213ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd213ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
+vfmadd231ps %zmm16, %zmm17, %zmm19
+vfmadd231ps (%rax), %zmm17, %zmm19
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+vfmadd231ps %zmm16, %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {k1}
+vfmadd231ps %zmm16, %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax), %zmm17, %zmm19 {z}{k1}
+vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
+
vgatherdpd (%rax,%ymm1,2), %zmm2 {k1}
vgatherdps (%rax,%zmm1,2), %zmm2 {k1}
vgatherqpd (%rax,%zmm1,2), %zmm2 {k1}
@@ -1274,6 +1334,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: 1 11 6.00 vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 18 6.00 * vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 18 6.00 * vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: 1 4 1.00 vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 1.00 * vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 1 5 0.33 * vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
@@ -1928,7 +2042,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] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 167.00 1006.50 618.00 352.50 277.50 277.50 16.00 187.67 187.67 187.67 182.33 182.33 182.33 8.00 8.00
+# CHECK-NEXT: 2.67 2.67 2.67 - - - - - 221.00 1060.50 618.00 352.50 295.50 295.50 16.00 199.67 199.67 199.67 194.33 194.33 194.33 8.00 8.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -2191,6 +2305,60 @@ vunpcklps (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 6.00 - - - - - - - - - - - - - vdivps %zmm16, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 6.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231pd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to8}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd132ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd213ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - - - - - - - - - - - - vfmadd231ps %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 1.00 1.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdpd (%rax,%ymm1,2), %zmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdps (%rax,%zmm1,2), %zmm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqpd (%rax,%zmm1,2), %zmm2 {%k1}
diff --git a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
index a1fd2056d854266..e2813a564384cd7 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver4/resources-avx512vl.s
@@ -418,6 +418,126 @@ vdivps %ymm16, %ymm17, %ymm19 {z}{k1}
vdivps (%rax), %ymm17, %ymm19 {z}{k1}
vdivps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19
+vfmadd132pd (%rax), %xmm17, %xmm19
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd132pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd132pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132pd %ymm16, %ymm17, %ymm19
+vfmadd132pd (%rax), %ymm17, %ymm19
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd132pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd132pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213pd %xmm16, %xmm17, %xmm19
+vfmadd213pd (%rax), %xmm17, %xmm19
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd213pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd213pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213pd %ymm16, %ymm17, %ymm19
+vfmadd213pd (%rax), %ymm17, %ymm19
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd213pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd213pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231pd %xmm16, %xmm17, %xmm19
+vfmadd231pd (%rax), %xmm17, %xmm19
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+vfmadd231pd %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {k1}
+vfmadd231pd %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231pd %ymm16, %ymm17, %ymm19
+vfmadd231pd (%rax), %ymm17, %ymm19
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+vfmadd231pd %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {k1}
+vfmadd231pd %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd132ps %xmm16, %xmm17, %xmm19
+vfmadd132ps (%rax), %xmm17, %xmm19
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd132ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd132ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd132ps %ymm16, %ymm17, %ymm19
+vfmadd132ps (%rax), %ymm17, %ymm19
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd132ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd132ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd213ps %xmm16, %xmm17, %xmm19
+vfmadd213ps (%rax), %xmm17, %xmm19
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd213ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd213ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd213ps %ymm16, %ymm17, %ymm19
+vfmadd213ps (%rax), %ymm17, %ymm19
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd213ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd213ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
+vfmadd231ps %xmm16, %xmm17, %xmm19
+vfmadd231ps (%rax), %xmm17, %xmm19
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+vfmadd231ps %xmm16, %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {k1}
+vfmadd231ps %xmm16, %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax), %xmm17, %xmm19 {z}{k1}
+vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
+
+vfmadd231ps %ymm16, %ymm17, %ymm19
+vfmadd231ps (%rax), %ymm17, %ymm19
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+vfmadd231ps %ymm16, %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {k1}
+vfmadd231ps %ymm16, %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax), %ymm17, %ymm19 {z}{k1}
+vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
+
vgatherdpd (%rax,%xmm1,2), %ymm2 {k1}
vgatherdps (%rax,%ymm1,2), %ymm2 {k1}
vgatherqpd (%rax,%ymm1,2), %ymm2 {k1}
@@ -1961,6 +2081,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: 1 11 3.00 vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 18 3.00 * vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 18 3.00 * vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: 1 4 0.50 vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: 1 11 0.50 * vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 1 5 0.33 * vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: 1 5 0.33 * vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
@@ -3015,7 +3243,7 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1]
-# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 154.00 924.00 531.50 261.50 442.50 442.50 32.00 300.33 300.33 300.33 289.67 289.67 289.67 16.00 16.00
+# CHECK-NEXT: 5.33 5.33 5.33 - - - - - 208.00 978.00 531.50 261.50 478.50 478.50 32.00 324.33 324.33 324.33 313.67 313.67 313.67 16.00 16.00
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12.0] [12.1] [13] [14.0] [14.1] [14.2] [15.0] [15.1] [15.2] [16.0] [16.1] Instructions:
@@ -3391,6 +3619,114 @@ vunpcklps (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
# CHECK-NEXT: - - - - - - - - - 3.00 - - - - - - - - - - - - - vdivps %ymm16, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax), %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: - - - - - - - - - 3.00 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vdivps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to2}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231pd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231pd (%rax){1to4}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd132ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd132ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd213ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd213ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - - - - - - - - - - - vfmadd231ps %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - 0.50 0.50 - 0.33 0.33 0.33 0.33 0.33 0.33 - - vfmadd231ps (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdpd (%rax,%xmm1,2), %ymm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherdps (%rax,%ymm1,2), %ymm2 {%k1}
# CHECK-NEXT: 0.33 0.33 0.33 - - - - - - - - - - - - 0.33 0.33 0.33 0.33 0.33 0.33 - - vgatherqpd (%rax,%ymm1,2), %ymm2 {%k1}
More information about the llvm-commits
mailing list