diff options
author | David Goodwin <david_goodwin@apple.com> | 2009-08-11 22:38:43 +0000 |
---|---|---|
committer | David Goodwin <david_goodwin@apple.com> | 2009-08-11 22:38:43 +0000 |
commit | 546952fd600ddba3f1eb6d4f93ff4eb42821a962 (patch) | |
tree | 7b06ab7ec67d14a1bab1d9a63a36c71cb7d6cae7 /lib/Target/ARM/ARMScheduleV6.td | |
parent | e28a2e8b70e926324575ddec0a1565c6dba7d404 (diff) | |
download | llvm-546952fd600ddba3f1eb6d4f93ff4eb42821a962.tar.gz llvm-546952fd600ddba3f1eb6d4f93ff4eb42821a962.tar.bz2 llvm-546952fd600ddba3f1eb6d4f93ff4eb42821a962.tar.xz |
Allow a zero cycle stage to reserve/require a FU without advancing the cycle counter.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78736 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMScheduleV6.td')
-rw-r--r-- | lib/Target/ARM/ARMScheduleV6.td | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/lib/Target/ARM/ARMScheduleV6.td b/lib/Target/ARM/ARMScheduleV6.td index f0b8116a03..755547a678 100644 --- a/lib/Target/ARM/ARMScheduleV6.td +++ b/lib/Target/ARM/ARMScheduleV6.td @@ -11,18 +11,16 @@ // //===----------------------------------------------------------------------===// +// TODO: this should model an ARM11 // Single issue pipeline so every itinerary starts with FU_pipe0 def V6Itineraries : ProcessorItineraries<[ - // single-cycle integer ALU InstrItinData<IIC_iALU , [InstrStage<1, [FU_Pipe0]>]>, - // loads have an extra cycle of latency, but are fully pipelined + InstrItinData<IIC_iMPY , [InstrStage<1, [FU_Pipe0]>]>, InstrItinData<IIC_iLoad , [InstrStage<1, [FU_Pipe0]>, InstrStage<1, [FU_LdSt0]>]>, - InstrItinData<IIC_fpLoad , [InstrStage<1, [FU_Pipe0]>, InstrStage<1, [FU_LdSt0]>]>, - // fully-pipelined stores InstrItinData<IIC_iStore , [InstrStage<1, [FU_Pipe0]>]>, - InstrItinData<IIC_fpStore , [InstrStage<1, [FU_Pipe0]>]>, - // fp ALU is not pipelined - InstrItinData<IIC_fpALU , [InstrStage<6, [FU_Pipe0]>]>, - // no delay slots, so the latency of a branch is unimportant - InstrItinData<IIC_Br , [InstrStage<1, [FU_Pipe0]>]> + InstrItinData<IIC_Br , [InstrStage<1, [FU_Pipe0]>]>, + InstrItinData<IIC_fpALU , [InstrStage<1, [FU_Pipe0]>]>, + InstrItinData<IIC_fpMPY , [InstrStage<1, [FU_Pipe0]>]>, + InstrItinData<IIC_fpLoad , [InstrStage<1, [FU_Pipe0]>, InstrStage<1, [FU_LdSt0]>]>, + InstrItinData<IIC_fpStore , [InstrStage<1, [FU_Pipe0]>]> ]>; |