[llvm] 12e0e31 - [X86] Fix Skylake/Icelake uops for masked stored
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Tue Aug 27 08:32:48 PDT 2024
Author: Simon Pilgrim
Date: 2024-08-27T16:32:29+01:00
New Revision: 12e0e312c69fa3e05a51c161b4c579800ce620d9
URL: https://github.com/llvm/llvm-project/commit/12e0e312c69fa3e05a51c161b4c579800ce620d9
DIFF: https://github.com/llvm/llvm-project/commit/12e0e312c69fa3e05a51c161b4c579800ce620d9.diff
LOG: [X86] Fix Skylake/Icelake uops for masked stored
Matches uops.info + Agner
Added:
Modified:
llvm/lib/Target/X86/X86SchedIceLake.td
llvm/lib/Target/X86/X86SchedSkylakeClient.td
llvm/lib/Target/X86/X86SchedSkylakeServer.td
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
Removed:
################################################################################
diff --git a/llvm/lib/Target/X86/X86SchedIceLake.td b/llvm/lib/Target/X86/X86SchedIceLake.td
index 29b1464e19a32b..88536132d18721 100644
--- a/llvm/lib/Target/X86/X86SchedIceLake.td
+++ b/llvm/lib/Target/X86/X86SchedIceLake.td
@@ -243,10 +243,10 @@ defm : X86WriteRes<WriteFStoreNT, [ICXPort78,ICXPort49], 1, [1,1], 2>;
defm : X86WriteRes<WriteFStoreNTX, [ICXPort78,ICXPort49], 1, [1,1], 2>;
defm : X86WriteRes<WriteFStoreNTY, [ICXPort78,ICXPort49], 1, [1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore32, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore32Y, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore64, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore64Y, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 2>;
+defm : X86WriteRes<WriteFMaskedStore32, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore32Y, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore64, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore64Y, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 3>;
defm : X86WriteRes<WriteFMove, [ICXPort015], 1, [1], 1>;
defm : X86WriteRes<WriteFMoveX, [ICXPort015], 1, [1], 1>;
@@ -359,10 +359,10 @@ defm : X86WriteRes<WriteVecStoreX, [ICXPort78,ICXPort49], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreY, [ICXPort78,ICXPort49], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreNT, [ICXPort78,ICXPort49], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreNTY, [ICXPort78,ICXPort49], 1, [1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore32, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore32Y, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore64, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore64Y, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 2>;
+defm : X86WriteRes<WriteVecMaskedStore32, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore32Y, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore64, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore64Y, [ICXPort78,ICXPort49,ICXPort0], 2, [1,1,1], 3>;
defm : X86WriteRes<WriteVecMove, [ICXPort05], 1, [1], 1>;
defm : X86WriteRes<WriteVecMoveX, [ICXPort015], 1, [1], 1>;
defm : X86WriteRes<WriteVecMoveY, [ICXPort015], 1, [1], 1>;
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeClient.td b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
index d764cb3fe3130e..996124c772dff4 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeClient.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeClient.td
@@ -236,10 +236,10 @@ defm : X86WriteRes<WriteFStoreNT, [SKLPort237,SKLPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteFStoreNTX, [SKLPort237,SKLPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteFStoreNTY, [SKLPort237,SKLPort4], 1, [1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore32, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore32Y, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore64, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore64Y, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 2>;
+defm : X86WriteRes<WriteFMaskedStore32, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore32Y, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore64, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore64Y, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 3>;
defm : X86WriteRes<WriteFMove, [SKLPort015], 1, [1], 1>;
defm : X86WriteRes<WriteFMoveX, [SKLPort015], 1, [1], 1>;
@@ -354,10 +354,10 @@ defm : X86WriteRes<WriteVecStoreX, [SKLPort237,SKLPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreY, [SKLPort237,SKLPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreNT, [SKLPort237,SKLPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreNTY, [SKLPort237,SKLPort4], 1, [1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore32, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore32Y, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore64, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore64Y, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 2>;
+defm : X86WriteRes<WriteVecMaskedStore32, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore32Y, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore64, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore64Y, [SKLPort23,SKLPort0,SKLPort4], 2, [1,1,1], 3>;
defm : X86WriteRes<WriteVecMove, [SKLPort05], 1, [1], 1>;
defm : X86WriteRes<WriteVecMoveX, [SKLPort015], 1, [1], 1>;
defm : X86WriteRes<WriteVecMoveY, [SKLPort015], 1, [1], 1>;
diff --git a/llvm/lib/Target/X86/X86SchedSkylakeServer.td b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
index 2423602d06c470..7b2299b4ba8830 100644
--- a/llvm/lib/Target/X86/X86SchedSkylakeServer.td
+++ b/llvm/lib/Target/X86/X86SchedSkylakeServer.td
@@ -236,10 +236,10 @@ defm : X86WriteRes<WriteFStoreNT, [SKXPort237,SKXPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteFStoreNTX, [SKXPort237,SKXPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteFStoreNTY, [SKXPort237,SKXPort4], 1, [1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore32, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore32Y, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore64, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteFMaskedStore64Y, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 2>;
+defm : X86WriteRes<WriteFMaskedStore32, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore32Y, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore64, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteFMaskedStore64Y, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 3>;
defm : X86WriteRes<WriteFMove, [SKXPort015], 1, [1], 1>;
defm : X86WriteRes<WriteFMoveX, [SKXPort015], 1, [1], 1>;
@@ -354,10 +354,10 @@ defm : X86WriteRes<WriteVecStoreX, [SKXPort237,SKXPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreY, [SKXPort237,SKXPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreNT, [SKXPort237,SKXPort4], 1, [1,1], 2>;
defm : X86WriteRes<WriteVecStoreNTY, [SKXPort237,SKXPort4], 1, [1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore32, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore32Y, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore64, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 2>;
-defm : X86WriteRes<WriteVecMaskedStore64Y, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 2>;
+defm : X86WriteRes<WriteVecMaskedStore32, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore32Y, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore64, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 3>;
+defm : X86WriteRes<WriteVecMaskedStore64Y, [SKXPort23,SKXPort0,SKXPort4], 2, [1,1,1], 3>;
defm : X86WriteRes<WriteVecMove, [SKXPort05], 1, [1], 1>;
defm : X86WriteRes<WriteVecMoveX, [SKXPort015], 1, [1], 1>;
defm : X86WriteRes<WriteVecMoveY, [SKXPort015], 1, [1], 1>;
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
index 8fdd65604ca39e..edd3e7cd8c0e79 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx1.s
@@ -1222,12 +1222,12 @@ vzeroupper
# CHECK-NEXT: 2 1 0.50 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 2 7 0.50 * vmaskmovps (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovps (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 1 4 0.50 vmaxpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 0.50 vmaxpd %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
index c251dc349587c1..81b178d12d2d33 100644
--- a/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx2.s
@@ -594,12 +594,12 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 12 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
index 2711bc4579b009..ae3144227e98df 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx1.s
@@ -1222,12 +1222,12 @@ vzeroupper
# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 2 7 0.50 * vmaskmovps (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovps (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 1 4 0.50 vmaxpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 0.50 vmaxpd %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
index 91c97706b56213..d5f347b15548d1 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeClient/resources-avx2.s
@@ -594,12 +594,12 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 12 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
index f4904e4467ffe3..1f352c119f5234 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx1.s
@@ -1222,12 +1222,12 @@ vzeroupper
# CHECK-NEXT: 2 1 1.00 * * U vmaskmovdqu %xmm0, %xmm1
# CHECK-NEXT: 2 7 0.50 * vmaskmovpd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovpd (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovpd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovpd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 2 7 0.50 * vmaskmovps (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vmaskmovps (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovps %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vmaskmovps %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 1 4 0.50 vmaxpd %xmm0, %xmm1, %xmm2
# CHECK-NEXT: 2 10 0.50 * vmaxpd (%rax), %xmm1, %xmm2
# CHECK-NEXT: 1 4 0.50 vmaxpd %ymm0, %ymm1, %ymm2
diff --git a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
index c226654c842770..0df51fab0bb0b3 100644
--- a/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
+++ b/llvm/test/tools/llvm-mca/X86/SkylakeServer/resources-avx2.s
@@ -594,12 +594,12 @@ vpxor (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 12 0.50 * vpmaddwd (%rax), %ymm1, %ymm2
# CHECK-NEXT: 2 7 0.50 * vpmaskmovd (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vpmaskmovd (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovd %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovd %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 2 7 0.50 * vpmaskmovq (%rax), %xmm0, %xmm2
# CHECK-NEXT: 2 8 0.50 * vpmaskmovq (%rax), %ymm0, %ymm2
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
-# CHECK-NEXT: 2 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovq %xmm0, %xmm1, (%rax)
+# CHECK-NEXT: 3 2 1.00 * * vpmaskmovq %ymm0, %ymm1, (%rax)
# CHECK-NEXT: 1 1 0.50 vpmaxsb %ymm0, %ymm1, %ymm2
# CHECK-NEXT: 2 8 0.50 * vpmaxsb (%rax), %ymm1, %ymm2
# CHECK-NEXT: 1 1 0.50 vpmaxsd %ymm0, %ymm1, %ymm2
More information about the llvm-commits
mailing list