121
|
1 //===--- HexagonIICScalar.td ----------------------------------------------===//
|
|
2 //
|
|
3 // The LLVM Compiler Infrastructure
|
|
4 //
|
|
5 // This file is distributed under the University of Illinois Open Source
|
|
6 // License. See LICENSE.TXT for details.
|
|
7 //
|
|
8 //===----------------------------------------------------------------------===//
|
|
9
|
|
10 // These itinerary class descriptions are based on the instruction timing
|
|
11 // classes as per V62. Curretnly, they are just extracted from
|
|
12 // HexagonScheduleV62.td but will soon be auto-generated by HexagonGen.py.
|
|
13
|
|
14 class PseudoItin {
|
|
15 list<InstrItinData> PseudoItin_list = [
|
|
16 InstrItinData<PSEUDO, [InstrStage<1, [SLOT0, SLOT1, SLOT2, SLOT3]>],
|
|
17 [1, 1, 1]>,
|
|
18 InstrItinData<PSEUDOM, [InstrStage<1, [SLOT2, SLOT3], 0>,
|
|
19 InstrStage<1, [SLOT2, SLOT3]>], [1, 1, 1]>,
|
|
20 InstrItinData<DUPLEX, [InstrStage<1, [SLOT0]>], [1, 1, 1]>,
|
|
21 InstrItinData<tc_ENDLOOP, [InstrStage<1, [SLOT_ENDLOOP]>], [2]>
|
|
22 ];
|
|
23 }
|
|
24
|
|
25 class ScalarItin {
|
|
26 list<InstrItinData> ScalarItin_list = [
|
|
27 InstrItinData<LD_tc_ld_SLOT01, [InstrStage<1, [SLOT0, SLOT1]>],
|
|
28 [3, 1], [Hex_FWD, Hex_FWD]>,
|
|
29 InstrItinData<ST_tc_st_SLOT01, [InstrStage<1, [SLOT0, SLOT1]>],
|
|
30 [1, 1, 1], [Hex_FWD, Hex_FWD, Hex_FWD]>
|
|
31 ];
|
|
32 }
|