1 //===-HexagonSchedule.td - Hexagon Scheduling Definitions -------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
12 def LSUNIT : FuncUnit;
18 def ALU32 : InstrItinClass;
19 def ALU64 : InstrItinClass;
20 def CR : InstrItinClass;
21 def J : InstrItinClass;
22 def JR : InstrItinClass;
23 def LD : InstrItinClass;
24 def M : InstrItinClass;
25 def ST : InstrItinClass;
26 def S : InstrItinClass;
27 def PSEUDO : InstrItinClass;
30 def HexagonItineraries :
31 ProcessorItineraries<[LUNIT, LSUNIT, MUNIT, SUNIT], [], [
32 InstrItinData<ALU32 , [InstrStage<1, [LUNIT, LSUNIT, MUNIT, SUNIT]>]>,
33 InstrItinData<ALU64 , [InstrStage<1, [MUNIT, SUNIT]>]>,
34 InstrItinData<CR , [InstrStage<1, [SUNIT]>]>,
35 InstrItinData<J , [InstrStage<1, [SUNIT, MUNIT]>]>,
36 InstrItinData<JR , [InstrStage<1, [MUNIT]>]>,
37 InstrItinData<LD , [InstrStage<1, [LUNIT, LSUNIT]>]>,
38 InstrItinData<M , [InstrStage<1, [MUNIT, SUNIT]>]>,
39 InstrItinData<ST , [InstrStage<1, [LSUNIT]>]>,
40 InstrItinData<S , [InstrStage<1, [SUNIT, MUNIT]>]>,
41 InstrItinData<PSEUDO , [InstrStage<1, [LUNIT, LSUNIT, MUNIT, SUNIT]>]>
45 //===----------------------------------------------------------------------===//
47 //===----------------------------------------------------------------------===//
49 include "HexagonScheduleV4.td"
51 //===----------------------------------------------------------------------===//
53 //===----------------------------------------------------------------------===//