[MCA][X86] Ensure the avx512 vnni tests use the upper xmm/ymm registers
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 14 Nov 2022 16:13:16 +0000 (16:13 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Mon, 14 Nov 2022 16:29:31 +0000 (16:29 +0000)
Ensure we're testing the avx512vl vnni instructions and not the avx vnni instructions

llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vnni.s
llvm/test/tools/llvm-mca/X86/Generic/resources-avx512vnnivl.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vnni.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512vnnivl.s

index f1d0d4f..4e5ee9b 100644 (file)
@@ -1,45 +1,45 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
 
-vpdpbusd    %zmm0, %zmm1, %zmm2
-vpdpbusd    (%rax), %zmm1, %zmm2
-vpdpbusd    (%rax){1to16}, %zmm1, %zmm2
-vpdpbusd    %zmm0, %zmm1, %zmm2 {k1}
-vpdpbusd    (%rax), %zmm1, %zmm2 {k1}
-vpdpbusd    (%rax){1to16}, %zmm1, %zmm2 {k1}
-vpdpbusd    %zmm0, %zmm1, %zmm2 {z}{k1}
-vpdpbusd    (%rax), %zmm1, %zmm2 {z}{k1}
-vpdpbusd    (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
+vpdpbusd    %zmm16, %zmm17, %zmm19
+vpdpbusd    (%rax), %zmm17, %zmm19
+vpdpbusd    (%rax){1to16}, %zmm17, %zmm19
+vpdpbusd    %zmm16, %zmm17, %zmm19 {k1}
+vpdpbusd    (%rax), %zmm17, %zmm19 {k1}
+vpdpbusd    (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpdpbusd    %zmm16, %zmm17, %zmm19 {z}{k1}
+vpdpbusd    (%rax), %zmm17, %zmm19 {z}{k1}
+vpdpbusd    (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 
-vpdpbusds   %zmm0, %zmm1, %zmm2
-vpdpbusds   (%rax), %zmm1, %zmm2
-vpdpbusds   (%rax){1to16}, %zmm1, %zmm2
-vpdpbusds   %zmm0, %zmm1, %zmm2 {k1}
-vpdpbusds   (%rax), %zmm1, %zmm2 {k1}
-vpdpbusds   (%rax){1to16}, %zmm1, %zmm2 {k1}
-vpdpbusds   %zmm0, %zmm1, %zmm2 {z}{k1}
-vpdpbusds   (%rax), %zmm1, %zmm2 {z}{k1}
-vpdpbusds   (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
+vpdpbusds   %zmm16, %zmm17, %zmm19
+vpdpbusds   (%rax), %zmm17, %zmm19
+vpdpbusds   (%rax){1to16}, %zmm17, %zmm19
+vpdpbusds   %zmm16, %zmm17, %zmm19 {k1}
+vpdpbusds   (%rax), %zmm17, %zmm19 {k1}
+vpdpbusds   (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpdpbusds   %zmm16, %zmm17, %zmm19 {z}{k1}
+vpdpbusds   (%rax), %zmm17, %zmm19 {z}{k1}
+vpdpbusds   (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 
-vpdpwssd    %zmm0, %zmm1, %zmm2
-vpdpwssd    (%rax), %zmm1, %zmm2
-vpdpwssd    (%rax){1to16}, %zmm1, %zmm2
-vpdpwssd    %zmm0, %zmm1, %zmm2 {k1}
-vpdpwssd    (%rax), %zmm1, %zmm2 {k1}
-vpdpwssd    (%rax){1to16}, %zmm1, %zmm2 {k1}
-vpdpwssd    %zmm0, %zmm1, %zmm2 {z}{k1}
-vpdpwssd    (%rax), %zmm1, %zmm2 {z}{k1}
-vpdpwssd    (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
+vpdpwssd    %zmm16, %zmm17, %zmm19
+vpdpwssd    (%rax), %zmm17, %zmm19
+vpdpwssd    (%rax){1to16}, %zmm17, %zmm19
+vpdpwssd    %zmm16, %zmm17, %zmm19 {k1}
+vpdpwssd    (%rax), %zmm17, %zmm19 {k1}
+vpdpwssd    (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpdpwssd    %zmm16, %zmm17, %zmm19 {z}{k1}
+vpdpwssd    (%rax), %zmm17, %zmm19 {z}{k1}
+vpdpwssd    (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 
-vpdpwssds   %zmm0, %zmm1, %zmm2
-vpdpwssds   (%rax), %zmm1, %zmm2
-vpdpwssds   (%rax){1to16}, %zmm1, %zmm2
-vpdpwssds   %zmm0, %zmm1, %zmm2 {k1}
-vpdpwssds   (%rax), %zmm1, %zmm2 {k1}
-vpdpwssds   (%rax){1to16}, %zmm1, %zmm2 {k1}
-vpdpwssds   %zmm0, %zmm1, %zmm2 {z}{k1}
-vpdpwssds   (%rax), %zmm1, %zmm2 {z}{k1}
-vpdpwssds   (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
+vpdpwssds   %zmm16, %zmm17, %zmm19
+vpdpwssds   (%rax), %zmm17, %zmm19
+vpdpwssds   (%rax){1to16}, %zmm17, %zmm19
+vpdpwssds   %zmm16, %zmm17, %zmm19 {k1}
+vpdpwssds   (%rax), %zmm17, %zmm19 {k1}
+vpdpwssds   (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpdpwssds   %zmm16, %zmm17, %zmm19 {z}{k1}
+vpdpwssds   (%rax), %zmm17, %zmm19 {z}{k1}
+vpdpwssds   (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -50,42 +50,42 @@ vpdpwssds   (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SBDivider
@@ -103,39 +103,39 @@ vpdpwssds   (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
index df2f4b8..bc50c89 100644 (file)
@@ -1,85 +1,85 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=x86-64 -instruction-tables < %s | FileCheck %s
 
-vpdpbusd    %xmm0, %xmm1, %xmm2
-vpdpbusd    (%rax), %xmm1, %xmm2
-vpdpbusd    (%rax){1to4}, %xmm1, %xmm2
-vpdpbusd    %xmm0, %xmm1, %xmm2 {k1}
-vpdpbusd    (%rax), %xmm1, %xmm2 {k1}
-vpdpbusd    (%rax){1to4}, %xmm1, %xmm2 {k1}
-vpdpbusd    %xmm0, %xmm1, %xmm2 {z}{k1}
-vpdpbusd    (%rax), %xmm1, %xmm2 {z}{k1}
-vpdpbusd    (%rax){1to4}, %xmm1, %xmm2 {z}{k1}
+vpdpbusd    %xmm16, %xmm17, %xmm19
+vpdpbusd    (%rax), %xmm17, %xmm19
+vpdpbusd    (%rax){1to4}, %xmm17, %xmm19
+vpdpbusd    %xmm16, %xmm17, %xmm19 {k1}
+vpdpbusd    (%rax), %xmm17, %xmm19 {k1}
+vpdpbusd    (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpdpbusd    %xmm16, %xmm17, %xmm19 {z}{k1}
+vpdpbusd    (%rax), %xmm17, %xmm19 {z}{k1}
+vpdpbusd    (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
 
-vpdpbusd    %ymm0, %ymm1, %ymm2
-vpdpbusd    (%rax), %ymm1, %ymm2
-vpdpbusd    (%rax){1to8}, %ymm1, %ymm2
-vpdpbusd    %ymm0, %ymm1, %ymm2 {k1}
-vpdpbusd    (%rax), %ymm1, %ymm2 {k1}
-vpdpbusd    (%rax){1to8}, %ymm1, %ymm2 {k1}
-vpdpbusd    %ymm0, %ymm1, %ymm2 {z}{k1}
-vpdpbusd    (%rax), %ymm1, %ymm2 {z}{k1}
-vpdpbusd    (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
+vpdpbusd    %ymm16, %ymm17, %ymm19
+vpdpbusd    (%rax), %ymm17, %ymm19
+vpdpbusd    (%rax){1to8}, %ymm17, %ymm19
+vpdpbusd    %ymm16, %ymm17, %ymm19 {k1}
+vpdpbusd    (%rax), %ymm17, %ymm19 {k1}
+vpdpbusd    (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpdpbusd    %ymm16, %ymm17, %ymm19 {z}{k1}
+vpdpbusd    (%rax), %ymm17, %ymm19 {z}{k1}
+vpdpbusd    (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 
-vpdpbusds   %xmm0, %xmm1, %xmm2
-vpdpbusds   (%rax), %xmm1, %xmm2
-vpdpbusds   (%rax){1to4}, %xmm1, %xmm2
-vpdpbusds   %xmm0, %xmm1, %xmm2 {k1}
-vpdpbusds   (%rax), %xmm1, %xmm2 {k1}
-vpdpbusds   (%rax){1to4}, %xmm1, %xmm2 {k1}
-vpdpbusds   %xmm0, %xmm1, %xmm2 {z}{k1}
-vpdpbusds   (%rax), %xmm1, %xmm2 {z}{k1}
-vpdpbusds   (%rax){1to4}, %xmm1, %xmm2 {z}{k1}
+vpdpbusds   %xmm16, %xmm17, %xmm19
+vpdpbusds   (%rax), %xmm17, %xmm19
+vpdpbusds   (%rax){1to4}, %xmm17, %xmm19
+vpdpbusds   %xmm16, %xmm17, %xmm19 {k1}
+vpdpbusds   (%rax), %xmm17, %xmm19 {k1}
+vpdpbusds   (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpdpbusds   %xmm16, %xmm17, %xmm19 {z}{k1}
+vpdpbusds   (%rax), %xmm17, %xmm19 {z}{k1}
+vpdpbusds   (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
 
-vpdpbusds   %ymm0, %ymm1, %ymm2
-vpdpbusds   (%rax), %ymm1, %ymm2
-vpdpbusds   (%rax){1to8}, %ymm1, %ymm2
-vpdpbusds   %ymm0, %ymm1, %ymm2 {k1}
-vpdpbusds   (%rax), %ymm1, %ymm2 {k1}
-vpdpbusds   (%rax){1to8}, %ymm1, %ymm2 {k1}
-vpdpbusds   %ymm0, %ymm1, %ymm2 {z}{k1}
-vpdpbusds   (%rax), %ymm1, %ymm2 {z}{k1}
-vpdpbusds   (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
+vpdpbusds   %ymm16, %ymm17, %ymm19
+vpdpbusds   (%rax), %ymm17, %ymm19
+vpdpbusds   (%rax){1to8}, %ymm17, %ymm19
+vpdpbusds   %ymm16, %ymm17, %ymm19 {k1}
+vpdpbusds   (%rax), %ymm17, %ymm19 {k1}
+vpdpbusds   (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpdpbusds   %ymm16, %ymm17, %ymm19 {z}{k1}
+vpdpbusds   (%rax), %ymm17, %ymm19 {z}{k1}
+vpdpbusds   (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 
-vpdpwssd    %xmm0, %xmm1, %xmm2
-vpdpwssd    (%rax), %xmm1, %xmm2
-vpdpwssd    (%rax){1to4}, %xmm1, %xmm2
-vpdpwssd    %xmm0, %xmm1, %xmm2 {k1}
-vpdpwssd    (%rax), %xmm1, %xmm2 {k1}
-vpdpwssd    (%rax){1to4}, %xmm1, %xmm2 {k1}
-vpdpwssd    %xmm0, %xmm1, %xmm2 {z}{k1}
-vpdpwssd    (%rax), %xmm1, %xmm2 {z}{k1}
-vpdpwssd    (%rax){1to4}, %xmm1, %xmm2 {z}{k1}
+vpdpwssd    %xmm16, %xmm17, %xmm19
+vpdpwssd    (%rax), %xmm17, %xmm19
+vpdpwssd    (%rax){1to4}, %xmm17, %xmm19
+vpdpwssd    %xmm16, %xmm17, %xmm19 {k1}
+vpdpwssd    (%rax), %xmm17, %xmm19 {k1}
+vpdpwssd    (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpdpwssd    %xmm16, %xmm17, %xmm19 {z}{k1}
+vpdpwssd    (%rax), %xmm17, %xmm19 {z}{k1}
+vpdpwssd    (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
 
-vpdpwssd    %ymm0, %ymm1, %ymm2
-vpdpwssd    (%rax), %ymm1, %ymm2
-vpdpwssd    (%rax){1to8}, %ymm1, %ymm2
-vpdpwssd    %ymm0, %ymm1, %ymm2 {k1}
-vpdpwssd    (%rax), %ymm1, %ymm2 {k1}
-vpdpwssd    (%rax){1to8}, %ymm1, %ymm2 {k1}
-vpdpwssd    %ymm0, %ymm1, %ymm2 {z}{k1}
-vpdpwssd    (%rax), %ymm1, %ymm2 {z}{k1}
-vpdpwssd    (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
+vpdpwssd    %ymm16, %ymm17, %ymm19
+vpdpwssd    (%rax), %ymm17, %ymm19
+vpdpwssd    (%rax){1to8}, %ymm17, %ymm19
+vpdpwssd    %ymm16, %ymm17, %ymm19 {k1}
+vpdpwssd    (%rax), %ymm17, %ymm19 {k1}
+vpdpwssd    (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpdpwssd    %ymm16, %ymm17, %ymm19 {z}{k1}
+vpdpwssd    (%rax), %ymm17, %ymm19 {z}{k1}
+vpdpwssd    (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 
-vpdpwssds   %xmm0, %xmm1, %xmm2
-vpdpwssds   (%rax), %xmm1, %xmm2
-vpdpwssds   (%rax){1to4}, %xmm1, %xmm2
-vpdpwssds   %xmm0, %xmm1, %xmm2 {k1}
-vpdpwssds   (%rax), %xmm1, %xmm2 {k1}
-vpdpwssds   (%rax){1to4}, %xmm1, %xmm2 {k1}
-vpdpwssds   %xmm0, %xmm1, %xmm2 {z}{k1}
-vpdpwssds   (%rax), %xmm1, %xmm2 {z}{k1}
-vpdpwssds   (%rax){1to4}, %xmm1, %xmm2 {z}{k1}
+vpdpwssds   %xmm16, %xmm17, %xmm19
+vpdpwssds   (%rax), %xmm17, %xmm19
+vpdpwssds   (%rax){1to4}, %xmm17, %xmm19
+vpdpwssds   %xmm16, %xmm17, %xmm19 {k1}
+vpdpwssds   (%rax), %xmm17, %xmm19 {k1}
+vpdpwssds   (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpdpwssds   %xmm16, %xmm17, %xmm19 {z}{k1}
+vpdpwssds   (%rax), %xmm17, %xmm19 {z}{k1}
+vpdpwssds   (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
 
-vpdpwssds   %ymm0, %ymm1, %ymm2
-vpdpwssds   (%rax), %ymm1, %ymm2
-vpdpwssds   (%rax){1to8}, %ymm1, %ymm2
-vpdpwssds   %ymm0, %ymm1, %ymm2 {k1}
-vpdpwssds   (%rax), %ymm1, %ymm2 {k1}
-vpdpwssds   (%rax){1to8}, %ymm1, %ymm2 {k1}
-vpdpwssds   %ymm0, %ymm1, %ymm2 {z}{k1}
-vpdpwssds   (%rax), %ymm1, %ymm2 {z}{k1}
-vpdpwssds   (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
+vpdpwssds   %ymm16, %ymm17, %ymm19
+vpdpwssds   (%rax), %ymm17, %ymm19
+vpdpwssds   (%rax){1to8}, %ymm17, %ymm19
+vpdpwssds   %ymm16, %ymm17, %ymm19 {k1}
+vpdpwssds   (%rax), %ymm17, %ymm19 {k1}
+vpdpwssds   (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpdpwssds   %ymm16, %ymm17, %ymm19 {z}{k1}
+vpdpwssds   (%rax), %ymm17, %ymm19 {z}{k1}
+vpdpwssds   (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -90,78 +90,78 @@ vpdpwssds   (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusd       (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusd       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusd       (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpbusds      (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpbusds      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpbusds      (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssd       (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssd       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssd       (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    1.00    *                   vpdpwssds      (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     1.00                        vpdpwssds      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    1.00    *                   vpdpwssds      (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - SBDivider
@@ -179,75 +179,75 @@ vpdpwssds   (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6.0]  [6.1]  Instructions:
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpbusds        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpbusds        (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssd %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssd (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     1.00    -      -      -      -      -     vpdpwssds        %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     1.00    -      -      -     0.50   0.50   vpdpwssds        (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
index 1c24f35..c1fc93b 100644 (file)
@@ -1,45 +1,45 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s
 
-vpdpbusd    %zmm0, %zmm1, %zmm2
-vpdpbusd    (%rax), %zmm1, %zmm2
-vpdpbusd    (%rax){1to16}, %zmm1, %zmm2
-vpdpbusd    %zmm0, %zmm1, %zmm2 {k1}
-vpdpbusd    (%rax), %zmm1, %zmm2 {k1}
-vpdpbusd    (%rax){1to16}, %zmm1, %zmm2 {k1}
-vpdpbusd    %zmm0, %zmm1, %zmm2 {z}{k1}
-vpdpbusd    (%rax), %zmm1, %zmm2 {z}{k1}
-vpdpbusd    (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
+vpdpbusd    %zmm16, %zmm17, %zmm19
+vpdpbusd    (%rax), %zmm17, %zmm19
+vpdpbusd    (%rax){1to16}, %zmm17, %zmm19
+vpdpbusd    %zmm16, %zmm17, %zmm19 {k1}
+vpdpbusd    (%rax), %zmm17, %zmm19 {k1}
+vpdpbusd    (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpdpbusd    %zmm16, %zmm17, %zmm19 {z}{k1}
+vpdpbusd    (%rax), %zmm17, %zmm19 {z}{k1}
+vpdpbusd    (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 
-vpdpbusds   %zmm0, %zmm1, %zmm2
-vpdpbusds   (%rax), %zmm1, %zmm2
-vpdpbusds   (%rax){1to16}, %zmm1, %zmm2
-vpdpbusds   %zmm0, %zmm1, %zmm2 {k1}
-vpdpbusds   (%rax), %zmm1, %zmm2 {k1}
-vpdpbusds   (%rax){1to16}, %zmm1, %zmm2 {k1}
-vpdpbusds   %zmm0, %zmm1, %zmm2 {z}{k1}
-vpdpbusds   (%rax), %zmm1, %zmm2 {z}{k1}
-vpdpbusds   (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
+vpdpbusds   %zmm16, %zmm17, %zmm19
+vpdpbusds   (%rax), %zmm17, %zmm19
+vpdpbusds   (%rax){1to16}, %zmm17, %zmm19
+vpdpbusds   %zmm16, %zmm17, %zmm19 {k1}
+vpdpbusds   (%rax), %zmm17, %zmm19 {k1}
+vpdpbusds   (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpdpbusds   %zmm16, %zmm17, %zmm19 {z}{k1}
+vpdpbusds   (%rax), %zmm17, %zmm19 {z}{k1}
+vpdpbusds   (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 
-vpdpwssd    %zmm0, %zmm1, %zmm2
-vpdpwssd    (%rax), %zmm1, %zmm2
-vpdpwssd    (%rax){1to16}, %zmm1, %zmm2
-vpdpwssd    %zmm0, %zmm1, %zmm2 {k1}
-vpdpwssd    (%rax), %zmm1, %zmm2 {k1}
-vpdpwssd    (%rax){1to16}, %zmm1, %zmm2 {k1}
-vpdpwssd    %zmm0, %zmm1, %zmm2 {z}{k1}
-vpdpwssd    (%rax), %zmm1, %zmm2 {z}{k1}
-vpdpwssd    (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
+vpdpwssd    %zmm16, %zmm17, %zmm19
+vpdpwssd    (%rax), %zmm17, %zmm19
+vpdpwssd    (%rax){1to16}, %zmm17, %zmm19
+vpdpwssd    %zmm16, %zmm17, %zmm19 {k1}
+vpdpwssd    (%rax), %zmm17, %zmm19 {k1}
+vpdpwssd    (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpdpwssd    %zmm16, %zmm17, %zmm19 {z}{k1}
+vpdpwssd    (%rax), %zmm17, %zmm19 {z}{k1}
+vpdpwssd    (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 
-vpdpwssds   %zmm0, %zmm1, %zmm2
-vpdpwssds   (%rax), %zmm1, %zmm2
-vpdpwssds   (%rax){1to16}, %zmm1, %zmm2
-vpdpwssds   %zmm0, %zmm1, %zmm2 {k1}
-vpdpwssds   (%rax), %zmm1, %zmm2 {k1}
-vpdpwssds   (%rax){1to16}, %zmm1, %zmm2 {k1}
-vpdpwssds   %zmm0, %zmm1, %zmm2 {z}{k1}
-vpdpwssds   (%rax), %zmm1, %zmm2 {z}{k1}
-vpdpwssds   (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
+vpdpwssds   %zmm16, %zmm17, %zmm19
+vpdpwssds   (%rax), %zmm17, %zmm19
+vpdpwssds   (%rax){1to16}, %zmm17, %zmm19
+vpdpwssds   %zmm16, %zmm17, %zmm19 {k1}
+vpdpwssds   (%rax), %zmm17, %zmm19 {k1}
+vpdpwssds   (%rax){1to16}, %zmm17, %zmm19 {k1}
+vpdpwssds   %zmm16, %zmm17, %zmm19 {z}{k1}
+vpdpwssds   (%rax), %zmm17, %zmm19 {z}{k1}
+vpdpwssds   (%rax){1to16}, %zmm17, %zmm19 {z}{k1}
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -50,42 +50,42 @@ vpdpwssds   (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - ICXDivider
@@ -107,39 +107,39 @@ vpdpwssds   (%rax){1to16}, %zmm1, %zmm2 {z}{k1}
 
 # 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    -      -      -      -     vpdpbusd     %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusd     %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusd     %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusds    %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusds    %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusds    %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssd     %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssd     %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssd     %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssds    %zmm0, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax), %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax){1to16}, %zmm1, %zmm2
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssds    %zmm0, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax), %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax){1to16}, %zmm1, %zmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssds    %zmm0, %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax), %zmm1, %zmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax){1to16}, %zmm1, %zmm2 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusd     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusd     (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusds    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusds    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpbusds    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpbusds    (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssd     %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssd     %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssd     %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssd     (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssds    %zmm16, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax), %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax){1to16}, %zmm17, %zmm19
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssds    %zmm16, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax), %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax){1to16}, %zmm17, %zmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50    -      -      -      -     0.50    -      -      -      -     vpdpwssds    %zmm16, %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax), %zmm17, %zmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50    -     0.50   0.50    -     0.50    -      -      -      -     vpdpwssds    (%rax){1to16}, %zmm17, %zmm19 {%k1} {z}
index 910fac8..c07e2f2 100644 (file)
@@ -1,85 +1,85 @@
 # NOTE: Assertions have been autogenerated by utils/update_mca_test_checks.py
 # RUN: llvm-mca -mtriple=x86_64-unknown-unknown -mcpu=icelake-server -instruction-tables < %s | FileCheck %s
 
-vpdpbusd    %xmm0, %xmm1, %xmm2
-vpdpbusd    (%rax), %xmm1, %xmm2
-vpdpbusd    (%rax){1to4}, %xmm1, %xmm2
-vpdpbusd    %xmm0, %xmm1, %xmm2 {k1}
-vpdpbusd    (%rax), %xmm1, %xmm2 {k1}
-vpdpbusd    (%rax){1to4}, %xmm1, %xmm2 {k1}
-vpdpbusd    %xmm0, %xmm1, %xmm2 {z}{k1}
-vpdpbusd    (%rax), %xmm1, %xmm2 {z}{k1}
-vpdpbusd    (%rax){1to4}, %xmm1, %xmm2 {z}{k1}
+vpdpbusd    %xmm16, %xmm17, %xmm19
+vpdpbusd    (%rax), %xmm17, %xmm19
+vpdpbusd    (%rax){1to4}, %xmm17, %xmm19
+vpdpbusd    %xmm16, %xmm17, %xmm19 {k1}
+vpdpbusd    (%rax), %xmm17, %xmm19 {k1}
+vpdpbusd    (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpdpbusd    %xmm16, %xmm17, %xmm19 {z}{k1}
+vpdpbusd    (%rax), %xmm17, %xmm19 {z}{k1}
+vpdpbusd    (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
 
-vpdpbusd    %ymm0, %ymm1, %ymm2
-vpdpbusd    (%rax), %ymm1, %ymm2
-vpdpbusd    (%rax){1to8}, %ymm1, %ymm2
-vpdpbusd    %ymm0, %ymm1, %ymm2 {k1}
-vpdpbusd    (%rax), %ymm1, %ymm2 {k1}
-vpdpbusd    (%rax){1to8}, %ymm1, %ymm2 {k1}
-vpdpbusd    %ymm0, %ymm1, %ymm2 {z}{k1}
-vpdpbusd    (%rax), %ymm1, %ymm2 {z}{k1}
-vpdpbusd    (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
+vpdpbusd    %ymm16, %ymm17, %ymm19
+vpdpbusd    (%rax), %ymm17, %ymm19
+vpdpbusd    (%rax){1to8}, %ymm17, %ymm19
+vpdpbusd    %ymm16, %ymm17, %ymm19 {k1}
+vpdpbusd    (%rax), %ymm17, %ymm19 {k1}
+vpdpbusd    (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpdpbusd    %ymm16, %ymm17, %ymm19 {z}{k1}
+vpdpbusd    (%rax), %ymm17, %ymm19 {z}{k1}
+vpdpbusd    (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 
-vpdpbusds   %xmm0, %xmm1, %xmm2
-vpdpbusds   (%rax), %xmm1, %xmm2
-vpdpbusds   (%rax){1to4}, %xmm1, %xmm2
-vpdpbusds   %xmm0, %xmm1, %xmm2 {k1}
-vpdpbusds   (%rax), %xmm1, %xmm2 {k1}
-vpdpbusds   (%rax){1to4}, %xmm1, %xmm2 {k1}
-vpdpbusds   %xmm0, %xmm1, %xmm2 {z}{k1}
-vpdpbusds   (%rax), %xmm1, %xmm2 {z}{k1}
-vpdpbusds   (%rax){1to4}, %xmm1, %xmm2 {z}{k1}
+vpdpbusds   %xmm16, %xmm17, %xmm19
+vpdpbusds   (%rax), %xmm17, %xmm19
+vpdpbusds   (%rax){1to4}, %xmm17, %xmm19
+vpdpbusds   %xmm16, %xmm17, %xmm19 {k1}
+vpdpbusds   (%rax), %xmm17, %xmm19 {k1}
+vpdpbusds   (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpdpbusds   %xmm16, %xmm17, %xmm19 {z}{k1}
+vpdpbusds   (%rax), %xmm17, %xmm19 {z}{k1}
+vpdpbusds   (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
 
-vpdpbusds   %ymm0, %ymm1, %ymm2
-vpdpbusds   (%rax), %ymm1, %ymm2
-vpdpbusds   (%rax){1to8}, %ymm1, %ymm2
-vpdpbusds   %ymm0, %ymm1, %ymm2 {k1}
-vpdpbusds   (%rax), %ymm1, %ymm2 {k1}
-vpdpbusds   (%rax){1to8}, %ymm1, %ymm2 {k1}
-vpdpbusds   %ymm0, %ymm1, %ymm2 {z}{k1}
-vpdpbusds   (%rax), %ymm1, %ymm2 {z}{k1}
-vpdpbusds   (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
+vpdpbusds   %ymm16, %ymm17, %ymm19
+vpdpbusds   (%rax), %ymm17, %ymm19
+vpdpbusds   (%rax){1to8}, %ymm17, %ymm19
+vpdpbusds   %ymm16, %ymm17, %ymm19 {k1}
+vpdpbusds   (%rax), %ymm17, %ymm19 {k1}
+vpdpbusds   (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpdpbusds   %ymm16, %ymm17, %ymm19 {z}{k1}
+vpdpbusds   (%rax), %ymm17, %ymm19 {z}{k1}
+vpdpbusds   (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 
-vpdpwssd    %xmm0, %xmm1, %xmm2
-vpdpwssd    (%rax), %xmm1, %xmm2
-vpdpwssd    (%rax){1to4}, %xmm1, %xmm2
-vpdpwssd    %xmm0, %xmm1, %xmm2 {k1}
-vpdpwssd    (%rax), %xmm1, %xmm2 {k1}
-vpdpwssd    (%rax){1to4}, %xmm1, %xmm2 {k1}
-vpdpwssd    %xmm0, %xmm1, %xmm2 {z}{k1}
-vpdpwssd    (%rax), %xmm1, %xmm2 {z}{k1}
-vpdpwssd    (%rax){1to4}, %xmm1, %xmm2 {z}{k1}
+vpdpwssd    %xmm16, %xmm17, %xmm19
+vpdpwssd    (%rax), %xmm17, %xmm19
+vpdpwssd    (%rax){1to4}, %xmm17, %xmm19
+vpdpwssd    %xmm16, %xmm17, %xmm19 {k1}
+vpdpwssd    (%rax), %xmm17, %xmm19 {k1}
+vpdpwssd    (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpdpwssd    %xmm16, %xmm17, %xmm19 {z}{k1}
+vpdpwssd    (%rax), %xmm17, %xmm19 {z}{k1}
+vpdpwssd    (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
 
-vpdpwssd    %ymm0, %ymm1, %ymm2
-vpdpwssd    (%rax), %ymm1, %ymm2
-vpdpwssd    (%rax){1to8}, %ymm1, %ymm2
-vpdpwssd    %ymm0, %ymm1, %ymm2 {k1}
-vpdpwssd    (%rax), %ymm1, %ymm2 {k1}
-vpdpwssd    (%rax){1to8}, %ymm1, %ymm2 {k1}
-vpdpwssd    %ymm0, %ymm1, %ymm2 {z}{k1}
-vpdpwssd    (%rax), %ymm1, %ymm2 {z}{k1}
-vpdpwssd    (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
+vpdpwssd    %ymm16, %ymm17, %ymm19
+vpdpwssd    (%rax), %ymm17, %ymm19
+vpdpwssd    (%rax){1to8}, %ymm17, %ymm19
+vpdpwssd    %ymm16, %ymm17, %ymm19 {k1}
+vpdpwssd    (%rax), %ymm17, %ymm19 {k1}
+vpdpwssd    (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpdpwssd    %ymm16, %ymm17, %ymm19 {z}{k1}
+vpdpwssd    (%rax), %ymm17, %ymm19 {z}{k1}
+vpdpwssd    (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 
-vpdpwssds   %xmm0, %xmm1, %xmm2
-vpdpwssds   (%rax), %xmm1, %xmm2
-vpdpwssds   (%rax){1to4}, %xmm1, %xmm2
-vpdpwssds   %xmm0, %xmm1, %xmm2 {k1}
-vpdpwssds   (%rax), %xmm1, %xmm2 {k1}
-vpdpwssds   (%rax){1to4}, %xmm1, %xmm2 {k1}
-vpdpwssds   %xmm0, %xmm1, %xmm2 {z}{k1}
-vpdpwssds   (%rax), %xmm1, %xmm2 {z}{k1}
-vpdpwssds   (%rax){1to4}, %xmm1, %xmm2 {z}{k1}
+vpdpwssds   %xmm16, %xmm17, %xmm19
+vpdpwssds   (%rax), %xmm17, %xmm19
+vpdpwssds   (%rax){1to4}, %xmm17, %xmm19
+vpdpwssds   %xmm16, %xmm17, %xmm19 {k1}
+vpdpwssds   (%rax), %xmm17, %xmm19 {k1}
+vpdpwssds   (%rax){1to4}, %xmm17, %xmm19 {k1}
+vpdpwssds   %xmm16, %xmm17, %xmm19 {z}{k1}
+vpdpwssds   (%rax), %xmm17, %xmm19 {z}{k1}
+vpdpwssds   (%rax){1to4}, %xmm17, %xmm19 {z}{k1}
 
-vpdpwssds   %ymm0, %ymm1, %ymm2
-vpdpwssds   (%rax), %ymm1, %ymm2
-vpdpwssds   (%rax){1to8}, %ymm1, %ymm2
-vpdpwssds   %ymm0, %ymm1, %ymm2 {k1}
-vpdpwssds   (%rax), %ymm1, %ymm2 {k1}
-vpdpwssds   (%rax){1to8}, %ymm1, %ymm2 {k1}
-vpdpwssds   %ymm0, %ymm1, %ymm2 {z}{k1}
-vpdpwssds   (%rax), %ymm1, %ymm2 {z}{k1}
-vpdpwssds   (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
+vpdpwssds   %ymm16, %ymm17, %ymm19
+vpdpwssds   (%rax), %ymm17, %ymm19
+vpdpwssds   (%rax){1to8}, %ymm17, %ymm19
+vpdpwssds   %ymm16, %ymm17, %ymm19 {k1}
+vpdpwssds   (%rax), %ymm17, %ymm19 {k1}
+vpdpwssds   (%rax){1to8}, %ymm17, %ymm19 {k1}
+vpdpwssds   %ymm16, %ymm17, %ymm19 {z}{k1}
+vpdpwssds   (%rax), %ymm17, %ymm19 {z}{k1}
+vpdpwssds   (%rax){1to8}, %ymm17, %ymm19 {z}{k1}
 
 # CHECK:      Instruction Info:
 # CHECK-NEXT: [1]: #uOps
@@ -90,78 +90,78 @@ vpdpwssds   (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
 # CHECK-NEXT: [6]: HasSideEffects (U)
 
 # CHECK:      [1]    [2]    [3]    [4]    [5]    [6]    Instructions:
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusd       (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusd       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusd       (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpbusds      (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpbusds      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpbusds      (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssd       (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssd       %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssd       (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  2      11    0.50    *                   vpdpwssds      (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  1      5     0.50                        vpdpwssds      %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  2      12    0.50    *                   vpdpwssds      (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
 
 # CHECK:      Resources:
 # CHECK-NEXT: [0]   - ICXDivider
@@ -183,75 +183,75 @@ vpdpwssds   (%rax){1to8}, %ymm1, %ymm2 {z}{k1}
 
 # 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    -      -      -      -      -      -      -      -     vpdpbusd     %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to4}, %xmm1, %xmm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %xmm0, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to4}, %xmm1, %xmm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %xmm0, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to4}, %xmm1, %xmm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %ymm0, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to8}, %ymm1, %ymm2
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %ymm0, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to8}, %ymm1, %ymm2 {%k1}
-# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %ymm0, %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %ymm1, %ymm2 {%k1} {z}
-# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to8}, %ymm1, %ymm2 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusd     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusd     (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpbusds    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpbusds    (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssd     %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssd     (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %xmm16, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to4}, %xmm17, %xmm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %xmm16, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to4}, %xmm17, %xmm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %xmm16, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to4}, %xmm17, %xmm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %ymm16, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to8}, %ymm17, %ymm19
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %ymm16, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to8}, %ymm17, %ymm19 {%k1}
+# CHECK-NEXT:  -      -     0.50   0.50    -      -      -      -      -      -      -      -     vpdpwssds    %ymm16, %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax), %ymm17, %ymm19 {%k1} {z}
+# CHECK-NEXT:  -      -     0.50   0.50   0.50   0.50    -      -      -      -      -      -     vpdpwssds    (%rax){1to8}, %ymm17, %ymm19 {%k1} {z}