[llvm] bd956b7 - [X86] Fix fmul throughput/latency/uops counts
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 3 03:11:24 PDT 2022
Author: Simon Pilgrim
Date: 2022-09-03T11:10:51+01:00
New Revision: bd956b7db398e4ec1a73a3b344a304d6c6630681
URL: https://github.com/llvm/llvm-project/commit/bd956b7db398e4ec1a73a3b344a304d6c6630681
DIFF: https://github.com/llvm/llvm-project/commit/bd956b7db398e4ec1a73a3b344a304d6c6630681.diff
LOG: [X86] Fix fmul throughput/latency/uops counts
Matches numbers from AMD SoG + Agner - should always be on FPU Pipes 0+1, no additional uops for folded instructions and znver1 double pumps 256-bit vectors and is always latency = 4cy for f64 multiplies
Noticed while adding fmul CostKinds support to the x86 cost models in rG0735200e3f50 and znver1 wasn't being flagged as requiring 2uop for 256-bit vectors
Added:
Modified:
llvm/lib/Target/X86/X86ScheduleZnver1.td
llvm/lib/Target/X86/X86ScheduleZnver2.td
llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-fma.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver1.td b/llvm/lib/Target/X86/X86ScheduleZnver1.td
index fb82ec7aec896..98ad124d5f781 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver1.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver1.td
@@ -343,17 +343,17 @@ defm : X86WriteResPairUnsupported<WriteFShuffleZ>;
defm : ZnWriteResFpuPair<WriteFVarShuffle, [ZnFPU12], 1>;
defm : ZnWriteResFpuPair<WriteFVarShuffleY,[ZnFPU12], 1>;
defm : X86WriteResPairUnsupported<WriteFVarShuffleZ>;
-defm : ZnWriteResFpuPair<WriteFMul, [ZnFPU01], 3, [1], 1, 7, 1>;
-defm : ZnWriteResFpuPair<WriteFMulX, [ZnFPU01], 3, [1], 1, 7, 1>;
-defm : ZnWriteResFpuPair<WriteFMulY, [ZnFPU01], 4, [1], 1, 7, 1>;
+defm : ZnWriteResFpuPair<WriteFMul, [ZnFPU01], 3>;
+defm : ZnWriteResFpuPair<WriteFMulX, [ZnFPU01], 3>;
+defm : ZnWriteResFpuPair<WriteFMulY, [ZnFPU01], 3, [2], 2>;
defm : X86WriteResPairUnsupported<WriteFMulZ>;
-defm : ZnWriteResFpuPair<WriteFMul64, [ZnFPU01], 3, [1], 1, 7, 1>;
-defm : ZnWriteResFpuPair<WriteFMul64X, [ZnFPU01], 3, [1], 1, 7, 1>;
-defm : ZnWriteResFpuPair<WriteFMul64Y, [ZnFPU01], 4, [1], 1, 7, 1>;
+defm : ZnWriteResFpuPair<WriteFMul64, [ZnFPU01], 4>;
+defm : ZnWriteResFpuPair<WriteFMul64X, [ZnFPU01], 4>;
+defm : ZnWriteResFpuPair<WriteFMul64Y, [ZnFPU01], 4, [2], 2>;
defm : X86WriteResPairUnsupported<WriteFMul64Z>;
-defm : ZnWriteResFpuPair<WriteFMA, [ZnFPU03], 5>;
-defm : ZnWriteResFpuPair<WriteFMAX, [ZnFPU03], 5>;
-defm : ZnWriteResFpuPair<WriteFMAY, [ZnFPU03], 5>;
+defm : ZnWriteResFpuPair<WriteFMA, [ZnFPU01], 5>;
+defm : ZnWriteResFpuPair<WriteFMAX, [ZnFPU01], 5>;
+defm : ZnWriteResFpuPair<WriteFMAY, [ZnFPU01], 5, [2], 2>;
defm : X86WriteResPairUnsupported<WriteFMAZ>;
defm : ZnWriteResFpuPair<WriteFRcp, [ZnFPU01], 5>;
defm : ZnWriteResFpuPair<WriteFRcpX, [ZnFPU01], 5>;
diff --git a/llvm/lib/Target/X86/X86ScheduleZnver2.td b/llvm/lib/Target/X86/X86ScheduleZnver2.td
index b6daa4fecea80..428897b737ef8 100644
--- a/llvm/lib/Target/X86/X86ScheduleZnver2.td
+++ b/llvm/lib/Target/X86/X86ScheduleZnver2.td
@@ -340,17 +340,17 @@ defm : X86WriteResPairUnsupported<WriteFShuffleZ>;
defm : Zn2WriteResFpuPair<WriteFVarShuffle, [Zn2FPU12], 3>;
defm : Zn2WriteResFpuPair<WriteFVarShuffleY,[Zn2FPU12], 3>;
defm : X86WriteResPairUnsupported<WriteFVarShuffleZ>;
-defm : Zn2WriteResFpuPair<WriteFMul, [Zn2FPU01], 3, [1], 1, 7, 1>;
-defm : Zn2WriteResFpuPair<WriteFMulX, [Zn2FPU01], 3, [1], 1, 7, 1>;
-defm : Zn2WriteResFpuPair<WriteFMulY, [Zn2FPU01], 3, [1], 1, 7, 1>;
+defm : Zn2WriteResFpuPair<WriteFMul, [Zn2FPU01], 3>;
+defm : Zn2WriteResFpuPair<WriteFMulX, [Zn2FPU01], 3>;
+defm : Zn2WriteResFpuPair<WriteFMulY, [Zn2FPU01], 3>;
defm : X86WriteResPairUnsupported<WriteFMulZ>;
-defm : Zn2WriteResFpuPair<WriteFMul64, [Zn2FPU01], 3, [1], 1, 7, 1>;
-defm : Zn2WriteResFpuPair<WriteFMul64X, [Zn2FPU01], 3, [1], 1, 7, 1>;
-defm : Zn2WriteResFpuPair<WriteFMul64Y, [Zn2FPU01], 3, [1], 1, 7, 1>;
+defm : Zn2WriteResFpuPair<WriteFMul64, [Zn2FPU01], 3>;
+defm : Zn2WriteResFpuPair<WriteFMul64X, [Zn2FPU01], 3>;
+defm : Zn2WriteResFpuPair<WriteFMul64Y, [Zn2FPU01], 3>;
defm : X86WriteResPairUnsupported<WriteFMul64Z>;
-defm : Zn2WriteResFpuPair<WriteFMA, [Zn2FPU03], 5>;
-defm : Zn2WriteResFpuPair<WriteFMAX, [Zn2FPU03], 5>;
-defm : Zn2WriteResFpuPair<WriteFMAY, [Zn2FPU03], 5>;
+defm : Zn2WriteResFpuPair<WriteFMA, [Zn2FPU01], 5>;
+defm : Zn2WriteResFpuPair<WriteFMAX, [Zn2FPU01], 5>;
+defm : Zn2WriteResFpuPair<WriteFMAY, [Zn2FPU01], 5>;
defm : X86WriteResPairUnsupported<WriteFMAZ>;
defm : Zn2WriteResFpuPair<WriteFRcp, [Zn2FPU01], 5>;
defm : Zn2WriteResFpuPair<WriteFRcpX, [Zn2FPU01], 5>;
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
index ace7b60d94955..c672d11b15aa0 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-avx1.s
@@ -1339,18 +1339,18 @@ vzeroupper
# CHECK-NEXT: 1 8 0.50 * vmovups (%rax), %ymm2
# CHECK-NEXT: 1 100 0.25 vmpsadbw $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 * vmpsadbw $1, (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 3 0.50 vmulpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vmulpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vmulpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vmulpd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 11 0.50 * vmulpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 4 1.00 vmulpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 11 1.00 * vmulpd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 0.50 vmulps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 4 0.50 vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 11 0.50 * vmulps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: 1 3 0.50 vmulsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vmulsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 10 0.50 * vmulps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 2 3 1.00 vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 10 1.00 * vmulps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 4 0.50 vmulsd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 1 11 0.50 * vmulsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 0.50 vmulss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vmulss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 10 0.50 * vmulss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vorpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.50 * vorpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 2 1 0.50 vorpd %ymm0, %ymm1, %ymm2
@@ -1738,7 +1738,7 @@ vzeroupper
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 175.00 175.00 - - - - - 149.58 189.58 218.75 527.08 -
+# CHECK-NEXT: 175.00 175.00 - - - - - 151.58 191.58 218.75 527.08 -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
@@ -2053,12 +2053,12 @@ vzeroupper
# CHECK-NEXT: - - - - - - - - - - - - vmpsadbw $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulpd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vmulpd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmulpd (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vmulps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vmulps (%rax), %ymm1, %ymm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulsd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vmulsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vmulss %xmm0, %xmm1, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s
index ebd235790dbdc..441665db04334 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-fma.s
@@ -300,28 +300,28 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK: [1] [2] [3] [4] [5] [6] Instructions:
# CHECK-NEXT: 1 5 0.50 vfmadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmadd132pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmadd213pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmadd213pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmadd231pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmadd231pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmadd132ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmadd132ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmadd213ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmadd213ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmadd231ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmadd231ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmadd132sd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmadd132sd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 vfmadd213sd %xmm0, %xmm1, %xmm2
@@ -336,52 +336,52 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmadd231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmaddsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmaddsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmaddsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmaddsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmaddsub132pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmaddsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmaddsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmaddsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmaddsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmaddsub213pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmaddsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmaddsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmaddsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmaddsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmaddsub231pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmaddsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmaddsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmaddsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmaddsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmaddsub132ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmaddsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmaddsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmaddsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmaddsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmaddsub213ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmaddsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmaddsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmaddsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmaddsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmaddsub231ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsub132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsub132pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsub213pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsub213pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsub231pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsub231pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsub132ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsub132ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsub213ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsub213ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsub231ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsub231ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsub132sd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsub132sd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 vfmsub213sd %xmm0, %xmm1, %xmm2
@@ -396,52 +396,52 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsubadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsubadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsubadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsubadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsubadd132pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsubadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsubadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsubadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsubadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsubadd213pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsubadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsubadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsubadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsubadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsubadd231pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsubadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsubadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsubadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsubadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsubadd132ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsubadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsubadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsubadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsubadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsubadd213ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfmsubadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfmsubadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfmsubadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfmsubadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfmsubadd231ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmadd132pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmadd213pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmadd231pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmadd132ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmadd213ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmadd231ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmadd132sd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmadd132sd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 vfnmadd213sd %xmm0, %xmm1, %xmm2
@@ -456,28 +456,28 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmadd231ss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmsub132pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmsub213pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmsub231pd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmsub132ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmsub213ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: 1 5 0.50 vfnmsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 1 12 0.50 * vfnmsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 2 5 1.00 vfnmsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 2 12 1.00 * vfnmsub231ps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 5 0.50 vfnmsub132sd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 12 0.50 * vfnmsub132sd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 5 0.50 vfnmsub213sd %xmm0, %xmm1, %xmm2
@@ -507,199 +507,199 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
-# CHECK-NEXT: 48.00 48.00 - - - - - 96.00 - - 96.00 -
+# CHECK-NEXT: 48.00 48.00 - - - - - 132.00 132.00 - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] Instructions:
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmadd231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmadd231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmaddsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmaddsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsub231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsub231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfmsubadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfmsubadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmadd231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmadd231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - 0.50 - - 0.50 - vfnmsub231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 - - 0.50 - vfnmsub231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmadd231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmadd231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmaddsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmaddsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmaddsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmaddsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmaddsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmaddsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmaddsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmaddsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmaddsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmaddsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmaddsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmaddsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmaddsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmaddsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmaddsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmaddsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmaddsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmaddsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmaddsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmaddsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmaddsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmaddsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmaddsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmaddsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsub231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsub231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsubadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsubadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsubadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsubadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsubadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsubadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsubadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsubadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsubadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsubadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsubadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsubadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsubadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsubadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsubadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsubadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsubadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsubadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsubadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsubadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfmsubadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfmsubadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfmsubadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfmsubadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmadd231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmadd231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 1.00 1.00 - - - vfnmsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 1.00 1.00 - - - vfnmsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - 0.50 0.50 - - - vfnmsub231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.50 0.50 - - - - - 0.50 0.50 - - - vfnmsub231ss (%rax), %xmm1, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
index 8bb62fe40aaca..8ea4888f8caa8 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse1.s
@@ -259,9 +259,9 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.50 * movups %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movups (%rax), %xmm2
# CHECK-NEXT: 1 3 0.50 mulps %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2
+# CHECK-NEXT: 1 10 0.50 * mulps (%rax), %xmm2
# CHECK-NEXT: 1 3 0.50 mulss %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * mulss (%rax), %xmm2
+# CHECK-NEXT: 1 10 0.50 * mulss (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 orps %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * orps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 pavgb %mm0, %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
index e9374b7feb506..2ac785f42391f 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-sse2.s
@@ -510,10 +510,10 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 movupd %xmm0, %xmm2
# CHECK-NEXT: 1 1 0.50 * movupd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.50 * movupd (%rax), %xmm2
-# CHECK-NEXT: 1 3 0.50 mulpd %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2
-# CHECK-NEXT: 1 3 0.50 mulsd %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * mulsd (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 mulpd %xmm0, %xmm2
+# CHECK-NEXT: 1 11 0.50 * mulpd (%rax), %xmm2
+# CHECK-NEXT: 1 4 0.50 mulsd %xmm0, %xmm2
+# CHECK-NEXT: 1 11 0.50 * mulsd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 orpd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.50 * orpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 packssdw %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
index d6781fc1d78fe..20569263509b9 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver1/resources-x87.s
@@ -290,12 +290,12 @@ fyl2xp1
# CHECK-NEXT: 1 8 0.50 U fldz
# CHECK-NEXT: 1 3 0.50 U fmul %st, %st(1)
# CHECK-NEXT: 1 3 0.50 U fmul %st(2), %st
-# CHECK-NEXT: 2 10 0.50 * U fmuls (%ecx)
-# CHECK-NEXT: 2 10 0.50 * U fmull (%eax)
+# CHECK-NEXT: 1 10 0.50 * U fmuls (%ecx)
+# CHECK-NEXT: 1 10 0.50 * U fmull (%eax)
# CHECK-NEXT: 1 3 0.50 U fmulp %st, %st(1)
# CHECK-NEXT: 1 3 0.50 U fmulp %st, %st(2)
-# CHECK-NEXT: 2 10 0.50 * U fimuls (%ecx)
-# CHECK-NEXT: 2 10 0.50 * U fimull (%eax)
+# CHECK-NEXT: 1 10 0.50 * U fimuls (%ecx)
+# CHECK-NEXT: 1 10 0.50 * U fimull (%eax)
# CHECK-NEXT: 1 1 1.00 U fnop
# CHECK-NEXT: 1 100 0.25 U fpatan
# CHECK-NEXT: 1 100 0.25 U fprem
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
index 4a5a785475eab..527736131b790 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-avx1.s
@@ -1340,17 +1340,17 @@ vzeroupper
# CHECK-NEXT: 1 100 0.25 vmpsadbw $1, %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 100 0.25 * vmpsadbw $1, (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 0.50 vmulpd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 10 0.50 * vmulpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 0.50 vmulpd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 10 0.50 * vmulpd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 10 0.50 * vmulpd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 0.50 vmulps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 10 0.50 * vmulps (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 0.50 vmulps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 2 10 0.50 * vmulps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: 1 10 0.50 * vmulps (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 3 0.50 vmulsd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vmulsd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 10 0.50 * vmulsd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 3 0.50 vmulss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 2 10 0.50 * vmulss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: 1 10 0.50 * vmulss (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vorpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 1 8 0.33 * vorpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 1 0.25 vorpd %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-fma.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-fma.s
index 0a05a3798c0ed..9a987d00b865f 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-fma.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-fma.s
@@ -508,199 +508,199 @@ vfnmsub231ss (%rax), %xmm1, %xmm2
# CHECK: Resource pressure per iteration:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12]
-# CHECK-NEXT: 32.00 32.00 32.00 - - - - - 96.00 - - 96.00 -
+# CHECK-NEXT: 32.00 32.00 32.00 - - - - - 96.00 96.00 - - -
# CHECK: Resource pressure by instruction:
# CHECK-NEXT: [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] Instructions:
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmadd231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmadd231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmaddsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmaddsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsub231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsub231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfmsubadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfmsubadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmadd231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmadd231ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub132pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub132pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub132pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub132pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub213pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub213pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub213pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub213pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub231pd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub231pd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub231pd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub231pd (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub132ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub132ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub132ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub132ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub213ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub213ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub213ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub213ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub231ps %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub231ps (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub231ps %ymm0, %ymm1, %ymm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub231ps (%rax), %ymm1, %ymm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub132sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub132sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub213sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub213sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub231sd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub231sd (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub132ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub132ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub213ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub213ss (%rax), %xmm1, %xmm2
-# CHECK-NEXT: - - - - - - - - 0.50 - - 0.50 - vfnmsub231ss %xmm0, %xmm1, %xmm2
-# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 - - 0.50 - vfnmsub231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmadd231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmadd231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmaddsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmaddsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsub231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsub231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfmsubadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfmsubadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmadd231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmadd231ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub132pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub132pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub132pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub132pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub213pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub213pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub213pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub213pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub231pd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub231pd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub231pd %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub231pd (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub132ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub132ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub132ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub132ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub213ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub213ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub213ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub213ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub231ps %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub231ps (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub231ps %ymm0, %ymm1, %ymm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub231ps (%rax), %ymm1, %ymm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub132sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub132sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub213sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub213sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub231sd %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub231sd (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub132ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub132ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub213ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub213ss (%rax), %xmm1, %xmm2
+# CHECK-NEXT: - - - - - - - - 0.50 0.50 - - - vfnmsub231ss %xmm0, %xmm1, %xmm2
+# CHECK-NEXT: 0.33 0.33 0.33 - - - - - 0.50 0.50 - - - vfnmsub231ss (%rax), %xmm1, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
index 83c5da7c2c27b..8ec2296dac1e6 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse1.s
@@ -259,9 +259,9 @@ xorps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 * movups %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.33 * movups (%rax), %xmm2
# CHECK-NEXT: 1 3 0.50 mulps %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * mulps (%rax), %xmm2
+# CHECK-NEXT: 1 10 0.50 * mulps (%rax), %xmm2
# CHECK-NEXT: 1 3 0.50 mulss %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * mulss (%rax), %xmm2
+# CHECK-NEXT: 1 10 0.50 * mulss (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 orps %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * orps (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 pavgb %mm0, %mm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
index e9d04ea092b5e..0382f39e1ac7d 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-sse2.s
@@ -511,9 +511,9 @@ xorpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.33 * movupd %xmm0, (%rax)
# CHECK-NEXT: 1 8 0.33 * movupd (%rax), %xmm2
# CHECK-NEXT: 1 3 0.50 mulpd %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * mulpd (%rax), %xmm2
+# CHECK-NEXT: 1 10 0.50 * mulpd (%rax), %xmm2
# CHECK-NEXT: 1 3 0.50 mulsd %xmm0, %xmm2
-# CHECK-NEXT: 2 10 0.50 * mulsd (%rax), %xmm2
+# CHECK-NEXT: 1 10 0.50 * mulsd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 orpd %xmm0, %xmm2
# CHECK-NEXT: 1 8 0.33 * orpd (%rax), %xmm2
# CHECK-NEXT: 1 1 0.25 packssdw %xmm0, %xmm2
diff --git a/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s b/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s
index d9f7e01e074fe..ed66a8efd56cb 100644
--- a/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s
+++ b/llvm/test/tools/llvm-mca/X86/Znver2/resources-x87.s
@@ -290,12 +290,12 @@ fyl2xp1
# CHECK-NEXT: 1 8 0.50 U fldz
# CHECK-NEXT: 1 3 0.50 U fmul %st, %st(1)
# CHECK-NEXT: 1 3 0.50 U fmul %st(2), %st
-# CHECK-NEXT: 2 10 0.50 * U fmuls (%ecx)
-# CHECK-NEXT: 2 10 0.50 * U fmull (%eax)
+# CHECK-NEXT: 1 10 0.50 * U fmuls (%ecx)
+# CHECK-NEXT: 1 10 0.50 * U fmull (%eax)
# CHECK-NEXT: 1 3 0.50 U fmulp %st, %st(1)
# CHECK-NEXT: 1 3 0.50 U fmulp %st, %st(2)
-# CHECK-NEXT: 2 10 0.50 * U fimuls (%ecx)
-# CHECK-NEXT: 2 10 0.50 * U fimull (%eax)
+# CHECK-NEXT: 1 10 0.50 * U fimuls (%ecx)
+# CHECK-NEXT: 1 10 0.50 * U fimull (%eax)
# CHECK-NEXT: 1 1 1.00 U fnop
# CHECK-NEXT: 1 100 0.25 U fpatan
# CHECK-NEXT: 1 100 0.25 U fprem
More information about the llvm-commits
mailing list