[X86][Btver2] (V)MPSADBW instructions take 3uops not 1
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 27 Sep 2018 17:13:57 +0000 (17:13 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 27 Sep 2018 17:13:57 +0000 (17:13 +0000)
llvm-svn: 343238

llvm/lib/Target/X86/X86ScheduleBtVer2.td
llvm/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
llvm/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s

index 0c9410a..691428b 100644 (file)
@@ -480,7 +480,7 @@ defm : X86WriteResPairUnsupported<WriteVecIMulZ>;
 defm : JWriteResFpuPair<WritePMULLD,      [JFPU0, JFPU01, JVIMUL, JVALU], 4, [2, 1, 2, 1], 3>;
 defm : X86WriteResPairUnsupported<WritePMULLDY>;
 defm : X86WriteResPairUnsupported<WritePMULLDZ>;
-defm : JWriteResFpuPair<WriteMPSAD,       [JFPU0, JVIMUL], 3, [1, 2]>;
+defm : JWriteResFpuPair<WriteMPSAD,       [JFPU0, JVIMUL], 3, [1, 2], 3>;
 defm : X86WriteResPairUnsupported<WriteMPSADY>;
 defm : X86WriteResPairUnsupported<WriteMPSADZ>;
 defm : JWriteResFpuPair<WritePSADBW,      [JFPU01, JVALU], 2>;
index 6355299..a73751f 100644 (file)
@@ -1325,8 +1325,8 @@ vzeroupper
 # CHECK-NEXT:  2      1     1.00                        vmovups        %ymm0, %ymm2
 # CHECK-NEXT:  1      1     1.00           *            vmovups        %ymm0, (%rax)
 # CHECK-NEXT:  1      5     1.00    *                   vmovups        (%rax), %ymm2
-# CHECK-NEXT:  1      3     2.00                        vmpsadbw       $1, %xmm0, %xmm1, %xmm2
-# CHECK-NEXT:  1      8     2.00    *                   vmpsadbw       $1, (%rax), %xmm1, %xmm2
+# CHECK-NEXT:  3      3     2.00                        vmpsadbw       $1, %xmm0, %xmm1, %xmm2
+# CHECK-NEXT:  3      8     2.00    *                   vmpsadbw       $1, (%rax), %xmm1, %xmm2
 # CHECK-NEXT:  1      4     2.00                        vmulpd %xmm0, %xmm1, %xmm2
 # CHECK-NEXT:  1      9     2.00    *                   vmulpd (%rax), %xmm1, %xmm2
 # CHECK-NEXT:  2      4     4.00                        vmulpd %ymm0, %ymm1, %ymm2
index f37eba1..5ffe772 100644 (file)
@@ -172,8 +172,8 @@ roundss     $1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        insertps       $1, %xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *                   insertps       $1, (%rax), %xmm2
 # CHECK-NEXT:  1      5     1.00    *                   movntdqa       (%rax), %xmm2
-# CHECK-NEXT:  1      3     2.00                        mpsadbw        $1, %xmm0, %xmm2
-# CHECK-NEXT:  1      8     2.00    *                   mpsadbw        $1, (%rax), %xmm2
+# CHECK-NEXT:  3      3     2.00                        mpsadbw        $1, %xmm0, %xmm2
+# CHECK-NEXT:  3      8     2.00    *                   mpsadbw        $1, (%rax), %xmm2
 # CHECK-NEXT:  1      1     0.50                        packusdw       %xmm0, %xmm2
 # CHECK-NEXT:  1      6     1.00    *                   packusdw       (%rax), %xmm2
 # CHECK-NEXT:  3      2     2.00                        pblendvb       %xmm0, %xmm0, %xmm2