diff --git a/llvm/lib/Target/Hexagon/CMakeLists.txt b/llvm/lib/Target/Hexagon/CMakeLists.txt --- a/llvm/lib/Target/Hexagon/CMakeLists.txt +++ b/llvm/lib/Target/Hexagon/CMakeLists.txt @@ -5,7 +5,7 @@ tablegen(LLVM HexagonGenAsmMatcher.inc -gen-asm-matcher) tablegen(LLVM HexagonGenAsmWriter.inc -gen-asm-writer) tablegen(LLVM HexagonGenCallingConv.inc -gen-callingconv) -tablegen(LLVM HexagonGenDAGISel.inc -gen-dag-isel) +tablegen(LLVM HexagonGenDAGISel.inc -gen-dag-isel -warn-on-unused-entities) tablegen(LLVM HexagonGenDFAPacketizer.inc -gen-dfa-packetizer) tablegen(LLVM HexagonGenDisassemblerTables.inc -gen-disassembler) tablegen(LLVM HexagonGenInstrInfo.inc -gen-instr-info) diff --git a/llvm/lib/Target/Hexagon/Hexagon.td b/llvm/lib/Target/Hexagon/Hexagon.td --- a/llvm/lib/Target/Hexagon/Hexagon.td +++ b/llvm/lib/Target/Hexagon/Hexagon.td @@ -181,7 +181,6 @@ class NewValueRel: PredNewRel; class AddrModeRel: NewValueRel; class PostInc_BaseImm; -class IntrinsicsRel; // ... through here. //===----------------------------------------------------------------------===// @@ -363,13 +362,6 @@ let ValueCols = [["true"]]; } -def getRealHWInstr : InstrMapping { - let FilterClass = "IntrinsicsRel"; - let RowFields = ["BaseOpcode"]; - let ColFields = ["InstrType"]; - let KeyCol = ["Pseudo"]; - let ValueCols = [["Pseudo"], ["Real"]]; -} //===----------------------------------------------------------------------===// // Register File, Instruction Descriptions //===----------------------------------------------------------------------===// diff --git a/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td b/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td --- a/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td +++ b/llvm/lib/Target/Hexagon/HexagonDepIICHVX.td @@ -119,598 +119,6 @@ def tc_f1de44ef : InstrItinClass; def tc_f21e8abb : InstrItinClass; -class DepHVXItinV55 { - list DepHVXItinV55_list = [ - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE], 0>, - InstrStage<1, [CVI_MPY01]>], [9, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLSHF]>], [9, 5], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_SHIFT]>], [9, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 7, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 7], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [SLOT1], 0>, - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_XLANE]>], [2, 1, 2, 5], - [Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ALL]>], [], - []>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1], 0>, - InstrStage<1, [CVI_SHIFT, CVI_XLANE]>], [9, 7, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_SHIFT]>], [9, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [3, 7, 1, 2, 7], - [Hex_FWD, HVX_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5, 2, 2], - [HVX_FWD, HVX_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 3, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE], 0>, - InstrStage<1, [CVI_MPY01]>], [3, 1, 2, 5], - [Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 7, 7, 7], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ALL_NOMEM]>], [9, 3, 5, 2], - [HVX_FWD, Hex_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLSHF]>], [9, 7, 5], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ALL_NOMEM]>], [9, 3, 7, 5, 2], - [HVX_FWD, Hex_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 7, 7, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_SHIFT]>], [9, 7, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 7, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD]>], [9, 2, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 2, 7], - [HVX_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ZW]>], [3, 2, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [SLOT1], 0>, - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_XLANE]>], [9, 3, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 5], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [3, 1, 2, 7], - [Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [7, 1, 2, 7], - [HVX_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 3, 2, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLANE]>], [9, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 7, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_SHIFT]>], [9, 5], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD]>], [9, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [9, 7, 7], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [4, 7, 1], - [Hex_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [3, 2, 1, 2, 7], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLSHF]>], [9, 9, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 7, 7], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLANE]>], [9, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [7, 1, 2, 7, 7], - [HVX_FWD, Hex_FWD, Hex_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLANE]>], [9, 2], - [HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 7], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ALL_NOMEM]>], [9, 5, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 5, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 7, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD]>], [9, 3, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 1, 2, 5], - [Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLANE]>], [9, 5, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [1, 2, 7], - [Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [9, 7, 7, 7], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2, 1, 2, 5], - [Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [9], - [HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [1, 2, 7, 7], - [Hex_FWD, Hex_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 7, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_SHIFT]>], [9, 5, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ALL]>], [3, 2], - [HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [7, 1, 2, 7], - [HVX_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 9, 7, 7, 7], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_SHIFT]>], [9, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLSHF]>], [9, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [7, 1, 2, 7, 7], - [HVX_FWD, Hex_FWD, Hex_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ALL_NOMEM]>], [9, 7, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLANE]>], [9, 5], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE], 0>, - InstrStage<1, [CVI_MPY01]>], [9, 3, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE], 0>, - InstrStage<1, [CVI_MPY01]>], [1, 2, 5], - [Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLSHF]>], [9, 7, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [1, 2, 7, 7], - [Hex_FWD, Hex_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [2, 1, 2, 7], - [Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ZW]>], [3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 7, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [1, 2, 7], - [Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [7, 1, 2, 7], - [HVX_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [SLOT1], 0>, - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_XLANE]>], [9, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1, 2, 5], - [Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 2, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 7, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [9, 2, 7, 7], - [HVX_FWD, Hex_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 7, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ALL]>], [2], - [Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [9, 7], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD]>], [9, 3, 2, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 7, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_LD], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 1, 2], - [HVX_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 2], - [HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [1, 2, 7], - [Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [SLOT1], 0>, - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_XLANE]>], [3, 2, 1, 2, 5], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1], 0>, - InstrStage<1, [CVI_SHIFT, CVI_XLANE]>], [9, 5, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 7, 7], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01, CVI_XLSHF]>], [9, 7, 7], - [HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ZW]>], [2, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_XLSHF]>], [9, 7, 5, 5], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [SLOT1], 0>, - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_XLANE]>], [3, 1, 2, 5], - [Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData ], [9, 7], - [HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1, CVI_SHIFT, CVI_XLANE]>], [9, 9, 7, 7], - [HVX_FWD, HVX_FWD, HVX_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ALL]>], [3], - [HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 7, 5, 2, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ZW]>], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2, 1, 2, 5], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, HVX_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [9, 5, 5, 2], - [HVX_FWD, HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_MPY01]>], [9, 5, 2], - [HVX_FWD, HVX_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [SLOT1], 0>, - InstrStage<1, [CVI_ST], 0>, - InstrStage<1, [CVI_XLANE]>], [1, 2, 5], - [Hex_FWD, Hex_FWD, HVX_FWD]> - ]; -} - class DepHVXItinV60 { list DepHVXItinV60_list = [ InstrItinData DepScalarItinV60se_list = [ - InstrItinData ], [2, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3], - [Hex_FWD]>, - - InstrItinData ], [3, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 4, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [], - []>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [], - []>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1], - [Hex_FWD]>, - - InstrItinData ], [4, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 4, 1, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3], - [Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 3, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2], - [Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2], - [Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3], - [Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1], - [Hex_FWD]>, - - InstrItinData ], [3], - [Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 3], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [4, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 3], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 5, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1], - [Hex_FWD]>, - - InstrItinData ], [1, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 2, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [], - []>, - - InstrItinData ], [3, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [], - []>, - - InstrItinData ], [3, 2, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2], - [Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2], - [Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1], - [Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2], - [Hex_FWD]>, - - InstrItinData ], [3, 3, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 5, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [2], - [Hex_FWD]>, - - InstrItinData , - InstrStage<1, [CVI_ST]>], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]> - ]; -} - -class DepScalarItinV62 { - list DepScalarItinV62_list = [ - InstrItinData ], [2, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3], - [Hex_FWD]>, - - InstrItinData ], [3, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 4, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [4, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 4, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3], - [Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 3, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3], - [Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [3], - [Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 3], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [4, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 3], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 5, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [1, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 3, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 2, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 2, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [3, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [3, 1, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 3, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [], - []>, - - InstrItinData ], [3, 2, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2, 1, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [4, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [2, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [1], - [Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 1], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 1, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [3, 3, 1, 2, 3], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [3, 2, 2], - [Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [5, 5, 1, 1], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - - InstrItinData ], [2], - [Hex_FWD]>, - - InstrItinData ], [1, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2], - [Hex_FWD, Hex_FWD]>, - - InstrItinData ], [4, 2, 1, 2], - [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]> - ]; -} - -class DepScalarItinV65 { - list DepScalarItinV65_list = [ +class DepScalarItinV62 { + list DepScalarItinV62_list = [ InstrItinData ], [2, 1, 2, 3], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, @@ -3681,7 +2045,7 @@ [InstrStage<1, [SLOT0]>], [2, 1, 1, 2, 3], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [1], [Hex_FWD]>, @@ -3706,10 +2070,10 @@ [Hex_FWD, Hex_FWD]>, InstrItinData ], [3, 3, 1], + [InstrStage<1, [SLOT0]>], [3, 3, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2], [Hex_FWD, Hex_FWD]>, @@ -3753,7 +2117,7 @@ [InstrStage<1, [SLOT0]>], [1, 2], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [], []>, @@ -3765,8 +2129,8 @@ [InstrStage<1, [SLOT0]>], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 2, 2], + InstrItinData ], [1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [1], [Hex_FWD]>, - InstrItinData ], [2, 2], + InstrItinData ], [2, 1], [Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [3, 1], + [InstrStage<1, [SLOT0]>], [3, 2], [Hex_FWD, Hex_FWD]>, InstrItinData ], [4, 1, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 2], + InstrItinData ], [2, 1], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 3, 2, 2], + InstrItinData ], [3, 3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 3, 1, 2, 1], + InstrItinData ], [3, 3, 1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [2], [Hex_FWD]>, - InstrItinData ], [4, 1], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2, 2], + InstrItinData ], [3, 1, 1], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [4, 2, 2, 1], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 1, 2], + InstrItinData ], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [1, 2, 2, 3], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2], + InstrItinData ], [3, 1], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 2], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 2], + InstrItinData ], [1, 2], [Hex_FWD, Hex_FWD]>, InstrItinData ], [1, 1, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 2], + InstrItinData ], [1, 2], [Hex_FWD, Hex_FWD]>, InstrItinData ], [4, 2, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 4, 3, 1, 2], + InstrItinData ], [4, 3, 3, 1, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [2], + InstrItinData ], [1], [Hex_FWD]>, - InstrItinData ], [4], + InstrItinData ], [3], [Hex_FWD]>, InstrItinData ], [4, 1], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, @@ -4005,7 +2369,7 @@ [InstrStage<1, [SLOT2, SLOT3]>], [3, 2, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 2], [Hex_FWD, Hex_FWD]>, @@ -4017,7 +2381,7 @@ [InstrStage<1, [SLOT2, SLOT3]>], [4, 4, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 2], [Hex_FWD, Hex_FWD]>, @@ -4085,8 +2449,8 @@ [InstrStage<1, [SLOT0, SLOT1, SLOT2, SLOT3]>], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 3, 2], + InstrItinData ], [3, 3, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [3, 1, 2], + [InstrStage<1, [SLOT0]>], [4, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [5, 1], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [], []>, @@ -4165,12 +2529,12 @@ [InstrStage<1, [SLOT0]>], [1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2, 2], + InstrItinData ], [3, 1, 1], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 2, 2], + InstrItinData ], [1, 1, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [4, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2, 2], + InstrItinData ], [3, 1, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [], []>, - InstrItinData ], [3, 2, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, @@ -4321,8 +2685,8 @@ [InstrStage<1, [SLOT0, SLOT1]>], [2, 1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2, 2], + InstrItinData ], [3, 1, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [2, 1], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [2], [Hex_FWD]>, InstrItinData ], [3, 2, 1], + [InstrStage<1, [SLOT0]>], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [4, 2], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [2], + InstrItinData ], [1], [Hex_FWD]>, InstrItinData ], [4, 1], + [InstrStage<1, [SLOT0, SLOT1]>], [4, 2], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2], + InstrItinData ], [3, 1], [Hex_FWD, Hex_FWD]>, InstrItinData ], [4, 1, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [3, 2], [Hex_FWD, Hex_FWD]>, @@ -4417,8 +2781,8 @@ [InstrStage<1, [SLOT0]>], [2], [Hex_FWD]>, - InstrItinData ], [4, 3, 1, 2, 3], + InstrItinData ], [3, 3, 1, 2, 3], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [2], [Hex_FWD]>, - InstrItinData ], [2, 2], + InstrItinData ], [1, 2], [Hex_FWD, Hex_FWD]>, InstrItinData DepScalarItinV66_list = [ +class DepScalarItinV65 { + list DepScalarItinV65_list = [ InstrItinData ], [2, 1, 2, 3], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, @@ -4466,7 +2830,7 @@ [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [2, 2], [Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [2, 1, 1, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [2, 1, 1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 2, 2], + InstrItinData ], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [3, 3, 2], + [InstrStage<1, [SLOT0]>], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [1, 1, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [1, 1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 2], [Hex_FWD, Hex_FWD]>, @@ -4789,7 +3153,7 @@ [InstrStage<1, [SLOT3]>], [4, 1], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [2, 1], [Hex_FWD, Hex_FWD]>, @@ -4866,7 +3230,7 @@ [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [2, 1, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [2, 1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 2, 2], + InstrItinData ], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [1, 2, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [1, 2, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [4, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 2, 2], + InstrItinData ], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [3, 1, 1, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [3, 1, 1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [3, 3, 2], + [InstrStage<1, [SLOT0]>], [2, 3, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [1, 2, 3], + [InstrStage<1, [SLOT0]>], [1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [3, 2, 1, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [3, 2, 1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [3, 1, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [3, 1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [1, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [1, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [3, 1, 2, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [3, 1, 2, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData , InstrItinData ], [2, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [2, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [3, 2, 3], + [InstrStage<1, [SLOT0, SLOT1]>], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData ], [3, 2], [Hex_FWD, Hex_FWD]>, - InstrItinData ], [4, 2, 2], + InstrItinData ], [3, 2, 2], [Hex_FWD, Hex_FWD, Hex_FWD]>, InstrItinData DepScalarItinV67_list = [ +class DepScalarItinV66 { + list DepScalarItinV66_list = [ InstrItinData ], [2, 1, 2, 3], [Hex_FWD, Hex_FWD, Hex_FWD, Hex_FWD]>, diff --git a/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td b/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td --- a/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td +++ b/llvm/lib/Target/Hexagon/HexagonDepInstrFormats.td @@ -44,14 +44,6 @@ let Inst{13-13} = n1{1-1}; let Inst{8-8} = n1{0-0}; } -class Enc_046afa : OpcodeHexagon { - bits <1> Mu2; - let Inst{13-13} = Mu2{0-0}; - bits <5> Vss32; - let Inst{4-0} = Vss32{4-0}; - bits <5> Rx32; - let Inst{20-16} = Rx32{4-0}; -} class Enc_04c959 : OpcodeHexagon { bits <2> Ii; let Inst{13-13} = Ii{1-1}; @@ -1353,14 +1345,6 @@ bits <5> Rdd32; let Inst{4-0} = Rdd32{4-0}; } -class Enc_5eb169 : OpcodeHexagon { - bits <3> Ii; - let Inst{10-8} = Ii{2-0}; - bits <5> Vdd32; - let Inst{4-0} = Vdd32{4-0}; - bits <5> Rx32; - let Inst{20-16} = Rx32{4-0}; -} class Enc_607661 : OpcodeHexagon { bits <6> Ii; let Inst{12-7} = Ii{5-0}; @@ -1414,15 +1398,6 @@ bits <5> Rt32; let Inst{4-0} = Rt32{4-0}; } -class Enc_634460 : OpcodeHexagon { - bits <4> Ii; - let Inst{13-13} = Ii{3-3}; - let Inst{10-8} = Ii{2-0}; - bits <5> Rt32; - let Inst{20-16} = Rt32{4-0}; - bits <5> Vdd32; - let Inst{4-0} = Vdd32{4-0}; -} class Enc_63eaeb : OpcodeHexagon { bits <2> Ii; let Inst{1-0} = Ii{1-0}; @@ -1800,14 +1775,6 @@ let Inst{25-22} = n1{4-1}; let Inst{13-13} = n1{0-0}; } -class Enc_80296d : OpcodeHexagon { - bits <5> Rs32; - let Inst{12-8} = Rs32{4-0}; - bits <5> Rtt32; - let Inst{20-16} = Rtt32{4-0}; - bits <5> Rd32; - let Inst{4-0} = Rd32{4-0}; -} class Enc_802dc0 : OpcodeHexagon { bits <1> Ii; let Inst{8-8} = Ii{0-0}; @@ -1828,14 +1795,6 @@ bits <5> Rs32; let Inst{20-16} = Rs32{4-0}; } -class Enc_829a68 : OpcodeHexagon { - bits <1> Mu2; - let Inst{13-13} = Mu2{0-0}; - bits <5> Vdd32; - let Inst{4-0} = Vdd32{4-0}; - bits <5> Rx32; - let Inst{20-16} = Rx32{4-0}; -} class Enc_830e5d : OpcodeHexagon { bits <8> Ii; let Inst{12-5} = Ii{7-0}; @@ -2526,14 +2485,6 @@ bits <5> Rtt32; let Inst{12-8} = Rtt32{4-0}; } -class Enc_b025d6 : OpcodeHexagon { - bits <3> Ii; - let Inst{10-8} = Ii{2-0}; - bits <5> Vss32; - let Inst{4-0} = Vss32{4-0}; - bits <5> Rx32; - let Inst{20-16} = Rx32{4-0}; -} class Enc_b05839 : OpcodeHexagon { bits <7> Ii; let Inst{8-5} = Ii{6-3}; @@ -2725,15 +2676,6 @@ bits <5> Rx32; let Inst{20-16} = Rx32{4-0}; } -class Enc_b98b95 : OpcodeHexagon { - bits <4> Ii; - let Inst{13-13} = Ii{3-3}; - let Inst{10-8} = Ii{2-0}; - bits <5> Rt32; - let Inst{20-16} = Rt32{4-0}; - bits <5> Vss32; - let Inst{4-0} = Vss32{4-0}; -} class Enc_b9c5fb : OpcodeHexagon { bits <5> Rss32; let Inst{20-16} = Rss32{4-0}; @@ -2897,14 +2839,6 @@ bits <5> Rd32; let Inst{4-0} = Rd32{4-0}; } -class Enc_c89067 : OpcodeHexagon { - bits <5> Rtt32; - let Inst{20-16} = Rtt32{4-0}; - bits <5> Rdd32; - let Inst{4-0} = Rdd32{4-0}; - bits <5> Rx32; - let Inst{12-8} = Rx32{4-0}; -} class Enc_c90aca : OpcodeHexagon { bits <8> Ii; let Inst{12-5} = Ii{7-0}; @@ -3619,14 +3553,6 @@ bits <5> Rd32; let Inst{4-0} = Rd32{4-0}; } -class Enc_fc4562 : OpcodeHexagon { - bits <5> Rs32; - let Inst{12-8} = Rs32{4-0}; - bits <5> Rtt32; - let Inst{20-16} = Rtt32{4-0}; - bits <5> Rdd32; - let Inst{4-0} = Rdd32{4-0}; -} class Enc_fcf7a7 : OpcodeHexagon { bits <5> Rss32; let Inst{20-16} = Rss32{4-0}; diff --git a/llvm/lib/Target/Hexagon/HexagonInstrFormats.td b/llvm/lib/Target/Hexagon/HexagonInstrFormats.td --- a/llvm/lib/Target/Hexagon/HexagonInstrFormats.td +++ b/llvm/lib/Target/Hexagon/HexagonInstrFormats.td @@ -336,5 +336,4 @@ // Instruction Classes Definitions - //===----------------------------------------------------------------------===// -include "HexagonInstrFormatsV60.td" include "HexagonInstrFormatsV65.td" diff --git a/llvm/lib/Target/Hexagon/HexagonInstrFormatsV60.td b/llvm/lib/Target/Hexagon/HexagonInstrFormatsV60.td deleted file mode 100644 --- a/llvm/lib/Target/Hexagon/HexagonInstrFormatsV60.td +++ /dev/null @@ -1,21 +0,0 @@ -//==- HexagonInstrFormatsV60.td - Hexagon Instruction Formats -*- tablegen -==// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file describes the Hexagon V60 instruction classes in TableGen format. -// -//===----------------------------------------------------------------------===// - -//----------------------------------------------------------------------------// -// Instruction Classes Definitions + -//----------------------------------------------------------------------------// - -class CVI_VA_Resource pattern = [], string cstr = "", - InstrItinClass itin = CVI_VA> - : InstHexagon, - OpcodeHexagon, Requires<[HasV60, UseHVX]>; diff --git a/llvm/lib/Target/Hexagon/HexagonInstrFormatsV65.td b/llvm/lib/Target/Hexagon/HexagonInstrFormatsV65.td --- a/llvm/lib/Target/Hexagon/HexagonInstrFormatsV65.td +++ b/llvm/lib/Target/Hexagon/HexagonInstrFormatsV65.td @@ -20,11 +20,6 @@ // Instruction Classes Definitions + //----------------------------------------------------------------------------// -class CVI_VA_Resource_NoOpcode pattern = [], string cstr = "", - InstrItinClass itin = CVI_VA> - : InstHexagon; - class CVI_GATHER_TMP_LD_Resource_NoOpcode pattern = [], string cstr = "", InstrItinClass itin = CVI_GATHER_PSEUDO> diff --git a/llvm/lib/Target/Hexagon/HexagonInstrInfo.h b/llvm/lib/Target/Hexagon/HexagonInstrInfo.h --- a/llvm/lib/Target/Hexagon/HexagonInstrInfo.h +++ b/llvm/lib/Target/Hexagon/HexagonInstrInfo.h @@ -422,7 +422,6 @@ bool doesNotReturn(const MachineInstr &CallMI) const; bool hasEHLabel(const MachineBasicBlock *B) const; bool hasNonExtEquivalent(const MachineInstr &MI) const; - bool hasPseudoInstrPair(const MachineInstr &MI) const; bool hasUncondBranch(const MachineBasicBlock *B) const; bool mayBeCurLoad(const MachineInstr &MI) const; bool mayBeNewStore(const MachineInstr &MI) const; @@ -455,7 +454,6 @@ int getDotOldOp(const MachineInstr &MI) const; HexagonII::SubInstructionGroup getDuplexCandidateGroup(const MachineInstr &MI) const; - short getEquivalentHWInstr(const MachineInstr &MI) const; unsigned getInstrTimingClassLatency(const InstrItineraryData *ItinData, const MachineInstr &MI) const; bool getInvertedPredSense(SmallVectorImpl &Cond) const; @@ -466,7 +464,6 @@ short getNonExtOpcode(const MachineInstr &MI) const; bool getPredReg(ArrayRef Cond, Register &PredReg, unsigned &PredRegPos, unsigned &PredRegFlags) const; - short getPseudoInstrPair(const MachineInstr &MI) const; short getRegForm(const MachineInstr &MI) const; unsigned getSize(const MachineInstr &MI) const; uint64_t getType(const MachineInstr &MI) const; diff --git a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp --- a/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp +++ b/llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp @@ -3126,11 +3126,6 @@ return false; } -bool HexagonInstrInfo::hasPseudoInstrPair(const MachineInstr &MI) const { - return Hexagon::getRealHWInstr(MI.getOpcode(), - Hexagon::InstrType_Pseudo) >= 0; -} - bool HexagonInstrInfo::hasUncondBranch(const MachineBasicBlock *B) const { MachineBasicBlock::const_iterator I = B->getFirstTerminator(), E = B->end(); @@ -4270,10 +4265,6 @@ return HexagonII::HSIG_None; } -short HexagonInstrInfo::getEquivalentHWInstr(const MachineInstr &MI) const { - return Hexagon::getRealHWInstr(MI.getOpcode(), Hexagon::InstrType_Real); -} - unsigned HexagonInstrInfo::getInstrTimingClassLatency( const InstrItineraryData *ItinData, const MachineInstr &MI) const { // Default to one cycle for no itinerary. However, an "empty" itinerary may @@ -4538,10 +4529,6 @@ return true; } -short HexagonInstrInfo::getPseudoInstrPair(const MachineInstr &MI) const { - return Hexagon::getRealHWInstr(MI.getOpcode(), Hexagon::InstrType_Pseudo); -} - short HexagonInstrInfo::getRegForm(const MachineInstr &MI) const { return Hexagon::getRegForm(MI.getOpcode()); } diff --git a/llvm/lib/Target/Hexagon/HexagonPatterns.td b/llvm/lib/Target/Hexagon/HexagonPatterns.td --- a/llvm/lib/Target/Hexagon/HexagonPatterns.td +++ b/llvm/lib/Target/Hexagon/HexagonPatterns.td @@ -342,14 +342,6 @@ : Pat<(AccOp RxPred:$Rx, (Op RsPred:$Rs, RtPred:$Rt)), (MI RxPred:$Rx, RsPred:$Rs, RtPred:$Rt)>; -multiclass SelMinMax_pats { - def: Pat<(select (i1 (CmpOp Val:$A, Val:$B)), Val:$A, Val:$B), - (InstA Val:$A, Val:$B)>; - def: Pat<(select (i1 (CmpOp Val:$A, Val:$B)), Val:$B, Val:$A), - (InstB Val:$A, Val:$B)>; -} - multiclass MinMax_pats { diff --git a/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td b/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td --- a/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td +++ b/llvm/lib/Target/Hexagon/HexagonRegisterInfo.td @@ -56,9 +56,6 @@ HexagonFakeReg; - // Rf - 32-bit floating-point registers. - class Rf num, string n> : HexagonReg; - // Rd - 64-bit registers. class Rd num, string n, list subregs, list alt = []> : @@ -99,11 +96,6 @@ let SubRegs = subregs; } - // Mx - address modifier registers - class Mx num, string n> : Register { - let HWEncoding{0} = num; - } - // Rg - Guest/Hypervisor registers class Rg num, string n, list alt = [], list alias = []> :