[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