[llvm] r327882 - [X86] Remove OUT32rr/OUT8rr/OUT32ri/OUT8ri from Sandybridge scheduler model.
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 19 12:00:35 PDT 2018
Author: ctopper
Date: Mon Mar 19 12:00:35 2018
New Revision: 327882
URL: http://llvm.org/viewvc/llvm-project?rev=327882&view=rev
Log:
[X86] Remove OUT32rr/OUT8rr/OUT32ri/OUT8ri from Sandybridge scheduler model.
PR35590 was already filed for this information being wrong. It's probably better to default to WriteSystem behavior instead of using something completely wrong.
Modified:
llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll
Modified: llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td?rev=327882&r1=327881&r2=327882&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td (original)
+++ llvm/trunk/lib/Target/X86/X86SchedSandyBridge.td Mon Mar 19 12:00:35 2018
@@ -1010,8 +1010,6 @@ def SBWriteResGroup25 : SchedWriteRes<[S
let ResourceCycles = [3];
}
def: InstRW<[SBWriteResGroup25], (instregex "LEAVE64")>;
-def: InstRW<[SBWriteResGroup25], (instregex "OUT32rr")>;
-def: InstRW<[SBWriteResGroup25], (instregex "OUT8rr")>;
def: InstRW<[SBWriteResGroup25], (instregex "XADD(8|16|32|64)rr")>;
def SBWriteResGroup25_2 : SchedWriteRes<[SBPort5,SBPort05]> {
@@ -1091,8 +1089,6 @@ def SBWriteResGroup29_2 : SchedWriteRes<
let NumMicroOps = 4;
let ResourceCycles = [1,3];
}
-def: InstRW<[SBWriteResGroup29_2], (instregex "OUT32ir")>;
-def: InstRW<[SBWriteResGroup29_2], (instregex "OUT8ir")>;
def: InstRW<[SBWriteResGroup29_2], (instregex "PAUSE")>;
def SBWriteResGroup29_3 : SchedWriteRes<[SBPort05,SBPort015]> {
Modified: llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll?rev=327882&r1=327881&r2=327882&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll (original)
+++ llvm/trunk/test/CodeGen/X86/schedule-x86_64.ll Mon Mar 19 12:00:35 2018
@@ -9226,12 +9226,12 @@ define void @test_out() optsize {
; GENERIC-LABEL: test_out:
; GENERIC: # %bb.0:
; GENERIC-NEXT: #APP
-; GENERIC-NEXT: outb %al, $7 # sched: [4:1.33]
+; GENERIC-NEXT: outb %al, $7 # sched: [100:0.33]
; GENERIC-NEXT: outw %ax, $7 # sched: [100:0.33]
-; GENERIC-NEXT: outl %eax, $7 # sched: [4:1.33]
-; GENERIC-NEXT: outb %al, %dx # sched: [3:1.00]
+; GENERIC-NEXT: outl %eax, $7 # sched: [100:0.33]
+; GENERIC-NEXT: outb %al, %dx # sched: [100:0.33]
; GENERIC-NEXT: outw %ax, %dx # sched: [100:0.33]
-; GENERIC-NEXT: outl %eax, %dx # sched: [3:1.00]
+; GENERIC-NEXT: outl %eax, %dx # sched: [100:0.33]
; GENERIC-NEXT: #NO_APP
; GENERIC-NEXT: retq # sched: [1:1.00]
;
@@ -9262,12 +9262,12 @@ define void @test_out() optsize {
; SANDY-LABEL: test_out:
; SANDY: # %bb.0:
; SANDY-NEXT: #APP
-; SANDY-NEXT: outb %al, $7 # sched: [4:1.33]
+; SANDY-NEXT: outb %al, $7 # sched: [100:0.33]
; SANDY-NEXT: outw %ax, $7 # sched: [100:0.33]
-; SANDY-NEXT: outl %eax, $7 # sched: [4:1.33]
-; SANDY-NEXT: outb %al, %dx # sched: [3:1.00]
+; SANDY-NEXT: outl %eax, $7 # sched: [100:0.33]
+; SANDY-NEXT: outb %al, %dx # sched: [100:0.33]
; SANDY-NEXT: outw %ax, %dx # sched: [100:0.33]
-; SANDY-NEXT: outl %eax, %dx # sched: [3:1.00]
+; SANDY-NEXT: outl %eax, %dx # sched: [100:0.33]
; SANDY-NEXT: #NO_APP
; SANDY-NEXT: retq # sched: [1:1.00]
;
More information about the llvm-commits
mailing list