CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
78 lines
2.6 KiB
TableGen
78 lines
2.6 KiB
TableGen
//===- HexagonSchedule.td - Hexagon Scheduling Definitions -*- 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
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
def Hex_FWD : Bypass;
|
|
def HVX_FWD : Bypass;
|
|
|
|
// Functional Units.
|
|
def SLOT0 : FuncUnit;
|
|
def SLOT1 : FuncUnit;
|
|
def SLOT2 : FuncUnit;
|
|
def SLOT3 : FuncUnit;
|
|
// Endloop is a pseudo instruction that is encoded with 2 bits in a packet
|
|
// rather than taking an execution slot. This special unit is needed
|
|
// to schedule an ENDLOOP with 4 other instructions.
|
|
def SLOT_ENDLOOP: FuncUnit;
|
|
|
|
// CVI pipes from the "Hexagon Multimedia Co-Processor Extensions Arch Spec".
|
|
def CVI_ST : FuncUnit;
|
|
def CVI_XLANE : FuncUnit;
|
|
def CVI_SHIFT : FuncUnit;
|
|
def CVI_MPY0 : FuncUnit;
|
|
def CVI_MPY1 : FuncUnit;
|
|
def CVI_LD : FuncUnit;
|
|
def CVI_ZW : FuncUnit; // Z register write port
|
|
|
|
// Combined functional units.
|
|
def CVI_XLSHF : FuncUnit;
|
|
def CVI_MPY01 : FuncUnit;
|
|
def CVI_ALL : FuncUnit;
|
|
def CVI_ALL_NOMEM : FuncUnit;
|
|
|
|
// Combined functional unit data.
|
|
def HexagonComboFuncsV60 :
|
|
ComboFuncUnits<[
|
|
ComboFuncData<CVI_XLSHF , [CVI_XLANE, CVI_SHIFT]>,
|
|
ComboFuncData<CVI_MPY01 , [CVI_MPY0, CVI_MPY1]>,
|
|
ComboFuncData<CVI_ALL , [CVI_ST, CVI_XLANE, CVI_SHIFT,
|
|
CVI_MPY0, CVI_MPY1, CVI_LD]>,
|
|
ComboFuncData<CVI_ALL_NOMEM, [CVI_XLANE, CVI_SHIFT, CVI_MPY0, CVI_MPY1]>
|
|
]>;
|
|
|
|
// Itinerary classes.
|
|
def PSEUDO : InstrItinClass;
|
|
def PSEUDOM : InstrItinClass;
|
|
def DUPLEX : InstrItinClass;
|
|
def tc_ENDLOOP : InstrItinClass;
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
// Auto-generated itinerary classes
|
|
//===----------------------------------------------------------------------===//
|
|
include "HexagonDepIICScalar.td"
|
|
include "HexagonDepIICHVX.td"
|
|
|
|
include "HexagonScheduleV5.td"
|
|
include "HexagonScheduleV55.td"
|
|
|
|
include "HexagonIICScalar.td"
|
|
include "HexagonIICHVX.td"
|
|
include "HexagonScheduleV60.td"
|
|
|
|
include "HexagonScheduleV62.td"
|
|
include "HexagonScheduleV65.td"
|
|
include "HexagonScheduleV66.td"
|
|
include "HexagonScheduleV67.td"
|
|
include "HexagonScheduleV67T.td"
|
|
include "HexagonScheduleV68.td"
|
|
include "HexagonScheduleV69.td"
|
|
include "HexagonScheduleV71.td"
|
|
include "HexagonScheduleV71T.td"
|
|
include "HexagonScheduleV73.td"
|
|
include "HexagonScheduleV75.td"
|
|
include "HexagonScheduleV79.td"
|
|
include "HexagonScheduleV81.td" |