Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 1 | //===- PPCScheduleG4.td - PPC G4 Scheduling Definitions ----*- tablegen -*-===// |
| 2 | // |
| 3 | // The LLVM Compiler Infrastructure |
| 4 | // |
| 5 | // This file was developed by James M. Laskey and is distributed under |
| 6 | // the University of Illinois Open Source License. See LICENSE.TXT for details. |
| 7 | // |
| 8 | //===----------------------------------------------------------------------===// |
| 9 | // |
| 10 | // This file defines the itinerary class data for the G4 (7400) processor. |
| 11 | // |
| 12 | //===----------------------------------------------------------------------===// |
| 13 | |
Jim Laskey | 0de8796 | 2005-10-19 13:34:52 +0000 | [diff] [blame] | 14 | def G4Itineraries : ProcessorItineraries<[ |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 15 | InstrItinData<IntGeneral , [InstrStage<1, [IU1, IU2]>]>, |
| 16 | InstrItinData<IntCompare , [InstrStage<1, [IU1, IU2]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 17 | InstrItinData<IntDivW , [InstrStage<19, [IU1]>]>, |
| 18 | InstrItinData<IntMFFS , [InstrStage<3, [FPU1]>]>, |
| 19 | InstrItinData<IntMFVSCR , [InstrStage<1, [VIU1]>]>, |
| 20 | InstrItinData<IntMTFSB0 , [InstrStage<3, [FPU1]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 21 | InstrItinData<IntMulHW , [InstrStage<5, [IU1]>]>, |
| 22 | InstrItinData<IntMulHWU , [InstrStage<6, [IU1]>]>, |
| 23 | InstrItinData<IntMulLI , [InstrStage<3, [IU1]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 24 | InstrItinData<IntRotate , [InstrStage<1, [IU1, IU2]>]>, |
| 25 | InstrItinData<IntShift , [InstrStage<1, [IU1, IU2]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 26 | InstrItinData<IntTrapW , [InstrStage<2, [IU1, IU2]>]>, |
| 27 | InstrItinData<BrB , [InstrStage<1, [BPU]>]>, |
| 28 | InstrItinData<BrCR , [InstrStage<1, [SRU]>]>, |
| 29 | InstrItinData<BrMCR , [InstrStage<1, [SRU]>]>, |
| 30 | InstrItinData<BrMCRX , [InstrStage<1, [SRU]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 31 | InstrItinData<LdStDCBF , [InstrStage<2, [SLU]>]>, |
| 32 | InstrItinData<LdStDCBI , [InstrStage<2, [SLU]>]>, |
Jim Laskey | 5384214 | 2005-10-19 19:51:16 +0000 | [diff] [blame] | 33 | InstrItinData<LdStGeneral , [InstrStage<2, [SLU]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 34 | InstrItinData<LdStDSS , [InstrStage<2, [SLU]>]>, |
| 35 | InstrItinData<LdStICBI , [InstrStage<2, [SLU]>]>, |
Jim Laskey | 5384214 | 2005-10-19 19:51:16 +0000 | [diff] [blame] | 36 | InstrItinData<LdStUX , [InstrStage<2, [SLU]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 37 | InstrItinData<LdStLFD , [InstrStage<2, [SLU]>]>, |
| 38 | InstrItinData<LdStLFDU , [InstrStage<2, [SLU]>]>, |
| 39 | InstrItinData<LdStLHA , [InstrStage<2, [SLU]>]>, |
| 40 | InstrItinData<LdStLMW , [InstrStage<34, [SLU]>]>, |
Jim Laskey | 5384214 | 2005-10-19 19:51:16 +0000 | [diff] [blame] | 41 | InstrItinData<LdStLVecX , [InstrStage<2, [SLU]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 42 | InstrItinData<LdStLWARX , [InstrStage<3, [SLU]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 43 | InstrItinData<LdStSTVEBX , [InstrStage<2, [SLU]>]>, |
| 44 | InstrItinData<LdStSTWCX , [InstrStage<5, [SLU]>]>, |
| 45 | InstrItinData<LdStSync , [InstrStage<8, [SLU]>]>, |
| 46 | InstrItinData<SprISYNC , [InstrStage<2, [SRU]>]>, |
| 47 | InstrItinData<SprMFSR , [InstrStage<3, [SRU]>]>, |
| 48 | InstrItinData<SprMTMSR , [InstrStage<1, [SRU]>]>, |
| 49 | InstrItinData<SprMTSR , [InstrStage<2, [SRU]>]>, |
| 50 | InstrItinData<SprTLBSYNC , [InstrStage<8, [SRU]>]>, |
| 51 | InstrItinData<SprMFCR , [InstrStage<1, [SRU]>]>, |
| 52 | InstrItinData<SprMFMSR , [InstrStage<1, [SRU]>]>, |
| 53 | InstrItinData<SprMFSPR , [InstrStage<3, [SRU]>]>, |
| 54 | InstrItinData<SprMFTB , [InstrStage<1, [SRU]>]>, |
| 55 | InstrItinData<SprMTSPR , [InstrStage<2, [SRU]>]>, |
| 56 | InstrItinData<SprMTSRIN , [InstrStage<2, [SRU]>]>, |
| 57 | InstrItinData<SprRFI , [InstrStage<2, [SRU]>]>, |
| 58 | InstrItinData<SprSC , [InstrStage<2, [SRU]>]>, |
| 59 | InstrItinData<FPGeneral , [InstrStage<1, [FPU1]>]>, |
| 60 | InstrItinData<FPCompare , [InstrStage<1, [FPU1]>]>, |
| 61 | InstrItinData<FPDivD , [InstrStage<31, [FPU1]>]>, |
| 62 | InstrItinData<FPDivS , [InstrStage<17, [FPU1]>]>, |
| 63 | InstrItinData<FPFused , [InstrStage<1, [FPU1]>]>, |
| 64 | InstrItinData<FPRes , [InstrStage<10, [FPU1]>]>, |
Jim Laskey | 076866c | 2005-10-18 16:23:40 +0000 | [diff] [blame] | 65 | InstrItinData<VecGeneral , [InstrStage<1, [VIU1]>]>, |
| 66 | InstrItinData<VecFP , [InstrStage<4, [VFPU]>]>, |
| 67 | InstrItinData<VecFPCompare, [InstrStage<1, [VIU1]>]>, |
| 68 | InstrItinData<VecComplex , [InstrStage<3, [VIU2]>]>, |
| 69 | InstrItinData<VecPerm , [InstrStage<1, [VPU]>]>, |
| 70 | InstrItinData<VecFPRound , [InstrStage<4, [VFPU]>]>, |
| 71 | InstrItinData<VecVSL , [InstrStage<1, [VIU1]>]>, |
| 72 | InstrItinData<VecVSR , [InstrStage<1, [VIU1]>]> |
| 73 | ]>; |