[llvm] r343238 - [X86][Btver2] (V)MPSADBW instructions take 3uops not 1

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 27 10:13:57 PDT 2018


Author: rksimon
Date: Thu Sep 27 10:13:57 2018
New Revision: 343238

URL: http://llvm.org/viewvc/llvm-project?rev=343238&view=rev
Log:
[X86][Btver2] (V)MPSADBW instructions take 3uops not 1

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

Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=343238&r1=343237&r2=343238&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Thu Sep 27 10:13:57 2018
@@ -480,7 +480,7 @@ defm : X86WriteResPairUnsupported<WriteV
 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>;

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s?rev=343238&r1=343237&r2=343238&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-avx1.s Thu Sep 27 10:13:57 2018
@@ -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

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s?rev=343238&r1=343237&r2=343238&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse41.s Thu Sep 27 10:13:57 2018
@@ -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




More information about the llvm-commits mailing list