diff options
author | Andrew Trick <atrick@apple.com> | 2013-04-02 01:58:47 +0000 |
---|---|---|
committer | Andrew Trick <atrick@apple.com> | 2013-04-02 01:58:47 +0000 |
commit | e1d88cfb57f806fe87c4650379538ededa30dbc8 (patch) | |
tree | 8244096c62fcb40fe77e7cd536bb5e95ad3fb3bd /llvm/lib/Target/Sparc | |
parent | 60bf5f45f799f77440b52deb3fe3ddec52e0ffa0 (diff) | |
download | bcm5719-llvm-e1d88cfb57f806fe87c4650379538ededa30dbc8.tar.gz bcm5719-llvm-e1d88cfb57f806fe87c4650379538ededa30dbc8.zip |
The divide unit is not pipeline, but it is still buffered.
Buffered means a later divide may be executed out-of-order while a
prior divide is sitting (buffered) in a reservation station.
You can tell it's not pipelined, because operations that use it
reserve it for more than one cycle:
def : WriteRes<WriteIDiv, [HWPort0, HWDivider]> {
let Latency = 25;
let ResourceCycles = [1, 10];
}
We don't currently distinguish between an unpipeline operation and one
that is split into multiple micro-ops requiring the same unit. Except
that the later may have NumMicroOps > 1 if they also consume
issue/dispatch resources.
llvm-svn: 178519
Diffstat (limited to 'llvm/lib/Target/Sparc')
0 files changed, 0 insertions, 0 deletions