[llvm] r327794 - [X86][Btver2] SSE4A EXTRQ/INSERTQ instructions are performed on the JVALU0/JVALU1 functional pipes

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Sun Mar 18 06:05:10 PDT 2018


Author: rksimon
Date: Sun Mar 18 06:05:09 2018
New Revision: 327794

URL: http://llvm.org/viewvc/llvm-project?rev=327794&view=rev
Log:
[X86][Btver2] SSE4A EXTRQ/INSERTQ instructions are performed on the JVALU0/JVALU1 functional pipes

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

Modified: llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td?rev=327794&r1=327793&r2=327794&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td (original)
+++ llvm/trunk/lib/Target/X86/X86ScheduleBtVer2.td Sun Mar 18 06:05:09 2018
@@ -403,15 +403,13 @@ def : InstRW<[JWriteDPPDLd], (instrs DPP
 // SSE4A instructions.
 ////////////////////////////////////////////////////////////////////////////////
 
-def JWriteEXTRQ: SchedWriteRes<[JFPU01]> {
-  let Latency = 1;
-  let ResourceCycles = [1];
+def JWriteEXTRQ: SchedWriteRes<[JFPU01, JVALU]> {
 }
 def : InstRW<[JWriteEXTRQ], (instrs EXTRQ, EXTRQI)>;
 
-def JWriteINSERTQ: SchedWriteRes<[JFPU01]> {
+def JWriteINSERTQ: SchedWriteRes<[JFPU01, JVALU]> {
   let Latency = 2;
-  let ResourceCycles = [4];
+  let ResourceCycles = [1, 4];
 }
 def : InstRW<[JWriteINSERTQ], (instrs INSERTQ, INSERTQI)>;
 

Modified: llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s?rev=327794&r1=327793&r2=327794&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s (original)
+++ llvm/trunk/test/tools/llvm-mca/X86/BtVer2/resources-sse4a.s Sun Mar 18 06:05:09 2018
@@ -27,9 +27,9 @@ movntss     %xmm0, (%rax)
 
 # CHECK:      Resource pressure by instruction:
 # CHECK-NEXT: [0]    [1]    [2]    [3]    [4]    [5]    [6]    [7]    [8]    [9]    [10]   [11]   [12]   [13]   	Instructions:
-# CHECK-NEXT:  -      -      -      -      -     0.49   0.51    -      -      -      -      -      -      -     	extrq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     0.50   0.50    -      -      -      -      -      -      -     	extrq	$22, $2, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     2.00   2.00    -      -      -      -      -      -      -     	insertq	%xmm0, %xmm2
-# CHECK-NEXT:  -      -      -      -      -     2.00   2.00    -      -      -      -      -      -      -     	insertq	$22, $22, %xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -     0.49   0.51    -     	extrq	%xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -     0.50   0.50    -     	extrq	$22, $2, %xmm2
+# CHECK-NEXT:  -      -      -      -      -      -     1.00    -      -      -      -     2.00   2.00    -     	insertq	%xmm0, %xmm2
+# CHECK-NEXT:  -      -      -      -      -     1.00    -      -      -      -      -     2.00   2.00    -     	insertq	$22, $22, %xmm0, %xmm2
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00   1.00    -      -      -     	movntsd	%xmm0, (%rax)
 # CHECK-NEXT:  -      -      -      -      -      -      -      -      -     1.00   1.00    -      -      -     	movntss	%xmm0, (%rax)




More information about the llvm-commits mailing list