diff options
| author | Roman Lebedev <lebedev.ri@gmail.com> | 2018-11-10 14:31:43 +0000 |
|---|---|---|
| committer | Roman Lebedev <lebedev.ri@gmail.com> | 2018-11-10 14:31:43 +0000 |
| commit | b428b8b2140bd44b4f378cf93ef749bb5879012c (patch) | |
| tree | 3dd9a1dbbfcf7a4884fac4851e6a329c5c7d433a /llvm/lib | |
| parent | 248cf96547fbccdc1028d7d317e7669d1b8db10f (diff) | |
| download | bcm5719-llvm-b428b8b2140bd44b4f378cf93ef749bb5879012c.tar.gz bcm5719-llvm-b428b8b2140bd44b4f378cf93ef749bb5879012c.zip | |
[X86][BdVer2] Fix loads/stores throughput for Piledriver (PR39465)
There are two AGU units, and per 1cy, there can be either two loads,
or a load and a store; but not two stores, or two loads and a store.
Additionally, loads shouldn't affect the store scheduler and vice versa.
(but *should* affect the PdEX scheduler.)
Required rL346545.
Fixes https://bugs.llvm.org/show_bug.cgi?id=39465
llvm-svn: 346587
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Target/X86/X86ScheduleBdVer2.td | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Target/X86/X86ScheduleBdVer2.td b/llvm/lib/Target/X86/X86ScheduleBdVer2.td index bc5d112c2f4..1a066b30f89 100644 --- a/llvm/lib/Target/X86/X86ScheduleBdVer2.td +++ b/llvm/lib/Target/X86/X86ScheduleBdVer2.td @@ -130,14 +130,14 @@ def PdFPU : ProcResGroup<[PdFPU0, PdFPU1, PdFPU2, PdFPU3]> { // Load-Store Units // -// FIXME: does this even make sense? - -def PdLoad : ProcResGroup<[PdAGLU01]> { +let Super = PdAGLU01 in +def PdLoad : ProcResource<2> { // For Piledriver, the load queue is 40 entries deep. let BufferSize = 40; } -def PdStore : ProcResGroup<[PdAGLU01]> { +let Super = PdAGLU01 in +def PdStore : ProcResource<1> { // For Piledriver, the store queue is 24 entries deep. let BufferSize = 24; } |

