//===- ARMScheduleV7.td - ARM v7 Scheduling Definitions ----*- tablegen -*-===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // This file defines the itinerary class data for the ARM v7 processors. // //===----------------------------------------------------------------------===// // Single issue pipeline so every itinerary starts with FU_Pipe0 def V7Itineraries : ProcessorItineraries<[ // single-cycle integer ALU InstrItinData]>, // loads have an extra cycle of latency, but are fully pipelined InstrItinData, InstrStage<1, [FU_LdSt0]>]>, InstrItinData, InstrStage<1, [FU_LdSt0]>]>, // fully-pipelined stores InstrItinData]>, InstrItinData]>, // fp ALU is not pipelined InstrItinData]>, // no delay slots, so the latency of a branch is unimportant InstrItinData]> ]>; // Dual issue pipeline so every itinerary starts with FU_Pipe0 | FU_Pipe1 def CortexA8Itineraries : ProcessorItineraries<[ // single-cycle integer ALU InstrItinData]>, // loads have an extra cycle of latency, but are fully pipelined InstrItinData, InstrStage<1, [FU_LdSt0]>]>, InstrItinData, InstrStage<1, [FU_LdSt0]>]>, // fully-pipelined stores InstrItinData]>, InstrItinData]>, // fp ALU is not pipelined InstrItinData]>, // no delay slots, so the latency of a branch is unimportant InstrItinData]> ]>;