llvm/llvm/lib/Target/AMDGPU/R600Defines.h

//===-- R600Defines.h - R600 Helper Macros ----------------------*- C++ -*-===//
//
// 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
//
/// \file
//===----------------------------------------------------------------------===//

#ifndef LLVM_LIB_TARGET_AMDGPU_R600DEFINES_H
#define LLVM_LIB_TARGET_AMDGPU_R600DEFINES_H

// Operand Flags
#define MO_FLAG_CLAMP
#define MO_FLAG_NEG
#define MO_FLAG_ABS
#define MO_FLAG_MASK
#define MO_FLAG_PUSH
#define MO_FLAG_NOT_LAST
#define MO_FLAG_LAST
#define NUM_MO_FLAGS

/// Helper for getting the operand index for the instruction flags
/// operand.
#define GET_FLAG_OPERAND_IDX(Flags)

namespace R600_InstFlag {
  enum TIF {};
}

#define HAS_NATIVE_OPERANDS(Flags)

/// Defines for extracting register information from register encoding
#define HW_REG_MASK
#define HW_CHAN_SHIFT

#define GET_REG_CHAN(reg)
#define GET_REG_INDEX(reg)

#define IS_VTX(desc)
#define IS_TEX(desc)

namespace OpName {

  enum VecOps {};

}

//===----------------------------------------------------------------------===//
// Config register definitions
//===----------------------------------------------------------------------===//

#define R_02880C_DB_SHADER_CONTROL
#define S_02880C_KILL_ENABLE(x)

// These fields are the same for all shader types and families.
#define S_NUM_GPRS(x)
#define S_STACK_SIZE(x)
//===----------------------------------------------------------------------===//
// R600, R700 Registers
//===----------------------------------------------------------------------===//

#define R_028850_SQ_PGM_RESOURCES_PS
#define R_028868_SQ_PGM_RESOURCES_VS

//===----------------------------------------------------------------------===//
// Evergreen, Northern Islands Registers
//===----------------------------------------------------------------------===//

#define R_028844_SQ_PGM_RESOURCES_PS
#define R_028860_SQ_PGM_RESOURCES_VS
#define R_028878_SQ_PGM_RESOURCES_GS
#define R_0288D4_SQ_PGM_RESOURCES_LS

#define R_0288E8_SQ_LDS_ALLOC

#endif