Skip to content
  • Andrew Trick's avatar
    The divide unit is not pipeline, but it is still buffered. · e1d88cfb
    Andrew Trick authored
    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
    e1d88cfb
Loading