//===--- HexagonIICHVX.td -------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // Though all these itinerary classes exist for V60 onwards, they are being // listed here as 'HVXV62Itin' because itinerary class description prior to V62 // doesn't include operand cycle info. In future, I plan to merge them // together and call it 'HVXItin'. // class HVXV62Itin { list HVXV62Itin_list = [ InstrItinData], [3, 1, 1, 1]>, InstrItinData], [3, 1, 1, 1]>, InstrItinData], [3, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLANE,CVI_SHIFT, CVI_MPY0, CVI_MPY1]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLSHF, CVI_MPY01]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_MPY0, CVI_MPY1]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_MPY01]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_MPY01]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_MPY01]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_MPY01]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLANE]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLANE]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLSHF]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLSHF]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLSHF]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLSHF]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLSHF]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_SHIFT]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_XLANE, CVI_SHIFT, CVI_MPY0, CVI_MPY1]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_LD], 0>, InstrStage<1, [CVI_XLANE, CVI_SHIFT, CVI_MPY0, CVI_MPY1]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_LD]>],[1, 1, 1, 1, 10]>, InstrItinData, InstrStage<1, [CVI_LD], 0>, InstrStage<1, [CVI_XLANE, CVI_SHIFT, CVI_MPY0, CVI_MPY1]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [SLOT1], 0>, InstrStage<1, [CVI_LD], 0>, InstrStage<1, [CVI_XLANE]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_ST], 0>, InstrStage<1, [CVI_XLANE, CVI_SHIFT, CVI_MPY0, CVI_MPY1]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_ST]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [SLOT1], 0>, InstrStage<1, [CVI_ST], 0>, InstrStage<1, [CVI_XLANE]>], [1, 1, 1, 1]>, InstrItinData, InstrStage<1, [CVI_ALL]>], [1, 1, 1, 1]>]; }