[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.

llvm-svn: 327882
This commit is contained in:
Craig Topper 2018-03-19 19:00:35 +00:00
parent b4c7873f8c
commit 5e65996fac
2 changed files with 8 additions and 12 deletions

View File

@ -1010,8 +1010,6 @@ def SBWriteResGroup25 : SchedWriteRes<[SBPort015]> {
let ResourceCycles = [3]; let ResourceCycles = [3];
} }
def: InstRW<[SBWriteResGroup25], (instregex "LEAVE64")>; 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: InstRW<[SBWriteResGroup25], (instregex "XADD(8|16|32|64)rr")>;
def SBWriteResGroup25_2 : SchedWriteRes<[SBPort5,SBPort05]> { def SBWriteResGroup25_2 : SchedWriteRes<[SBPort5,SBPort05]> {
@ -1091,8 +1089,6 @@ def SBWriteResGroup29_2 : SchedWriteRes<[SBPort5,SBPort015]> {
let NumMicroOps = 4; let NumMicroOps = 4;
let ResourceCycles = [1,3]; let ResourceCycles = [1,3];
} }
def: InstRW<[SBWriteResGroup29_2], (instregex "OUT32ir")>;
def: InstRW<[SBWriteResGroup29_2], (instregex "OUT8ir")>;
def: InstRW<[SBWriteResGroup29_2], (instregex "PAUSE")>; def: InstRW<[SBWriteResGroup29_2], (instregex "PAUSE")>;
def SBWriteResGroup29_3 : SchedWriteRes<[SBPort05,SBPort015]> { def SBWriteResGroup29_3 : SchedWriteRes<[SBPort05,SBPort015]> {

View File

@ -9226,12 +9226,12 @@ define void @test_out() optsize {
; GENERIC-LABEL: test_out: ; GENERIC-LABEL: test_out:
; GENERIC: # %bb.0: ; GENERIC: # %bb.0:
; GENERIC-NEXT: #APP ; 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: outw %ax, $7 # sched: [100:0.33]
; GENERIC-NEXT: outl %eax, $7 # sched: [4:1.33] ; GENERIC-NEXT: outl %eax, $7 # sched: [100:0.33]
; GENERIC-NEXT: outb %al, %dx # sched: [3:1.00] ; GENERIC-NEXT: outb %al, %dx # sched: [100:0.33]
; GENERIC-NEXT: outw %ax, %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: #NO_APP
; GENERIC-NEXT: retq # sched: [1:1.00] ; GENERIC-NEXT: retq # sched: [1:1.00]
; ;
@ -9262,12 +9262,12 @@ define void @test_out() optsize {
; SANDY-LABEL: test_out: ; SANDY-LABEL: test_out:
; SANDY: # %bb.0: ; SANDY: # %bb.0:
; SANDY-NEXT: #APP ; 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: outw %ax, $7 # sched: [100:0.33]
; SANDY-NEXT: outl %eax, $7 # sched: [4:1.33] ; SANDY-NEXT: outl %eax, $7 # sched: [100:0.33]
; SANDY-NEXT: outb %al, %dx # sched: [3:1.00] ; SANDY-NEXT: outb %al, %dx # sched: [100:0.33]
; SANDY-NEXT: outw %ax, %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: #NO_APP
; SANDY-NEXT: retq # sched: [1:1.00] ; SANDY-NEXT: retq # sched: [1:1.00]
; ;