[llvm] r327937 - [X86] Fix the SNB scheduler for BLENDVB.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 19 18:30:21 PDT 2018
Author: ctopper
Date: Mon Mar 19 18:30:21 2018
New Revision: 327937
URL: http://llvm.org/viewvc/llvm-project?rev=327937&view=rev
Log:
[X86] Fix the SNB scheduler for BLENDVB.
PBLENDVBrr0 was with the memory version of VBLENDVB and PBLENDVBrm0 was missing.
Modified:
llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
llvm/trunk/test/CodeGen/X86/sse41-schedule.ll
Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=327937&r1=327936&r2=327937&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Mon Mar 19 18:30:21 2018
@@ -698,6 +698,7 @@ def SBWriteResGroup10 : SchedWriteRes<[S
let NumMicroOps = 2;
let ResourceCycles = [2];
}
+def: InstRW<[SBWriteResGroup10], (instregex "PBLENDVBrr0")>;
def: InstRW<[SBWriteResGroup10], (instregex "VPBLENDVBrr")>;
def SBWriteResGroup11 : SchedWriteRes<[SBPort015]> {
@@ -1917,7 +1918,7 @@ def SBWriteResGroup76 : SchedWriteRes<[S
let NumMicroOps = 3;
let ResourceCycles = [1,2];
}
-def: InstRW<[SBWriteResGroup76], (instregex "PBLENDVBrr0")>;
+def: InstRW<[SBWriteResGroup76], (instregex "PBLENDVBrm0")>;
def: InstRW<[SBWriteResGroup76], (instregex "VPBLENDVBrm")>;
def SBWriteResGroup77 : SchedWriteRes<[SBPort0,SBPort1,SBPort23]> {
Modified: llvm/trunk/test/CodeGen/X86/sse41-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/sse41-schedule.ll?rev=327937&r1=327936&r2=327937&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/sse41-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/sse41-schedule.ll Mon Mar 19 18:30:21 2018
@@ -709,8 +709,8 @@ define <16 x i8> @test_pblendvb(<16 x i8
; GENERIC: # %bb.0:
; GENERIC-NEXT: movdqa %xmm0, %xmm3 # sched: [1:0.33]
; GENERIC-NEXT: movaps %xmm2, %xmm0 # sched: [1:1.00]
-; GENERIC-NEXT: pblendvb %xmm0, %xmm1, %xmm3 # sched: [8:1.00]
-; GENERIC-NEXT: pblendvb %xmm0, (%rdi), %xmm3 # sched: [6:1.00]
+; GENERIC-NEXT: pblendvb %xmm0, %xmm1, %xmm3 # sched: [2:1.00]
+; GENERIC-NEXT: pblendvb %xmm0, (%rdi), %xmm3 # sched: [8:1.00]
; GENERIC-NEXT: movdqa %xmm3, %xmm0 # sched: [1:0.33]
; GENERIC-NEXT: retq # sched: [1:1.00]
;
More information about the llvm-commits
mailing list