llvm/lldb/source/Plugins/Instruction/RISCV/RISCVCInstructions.h

//===-- RISCVCInstructions.h ----------------------------------------------===//
//
// 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
//
//===----------------------------------------------------------------------===//

#ifndef LLDB_SOURCE_PLUGINS_INSTRUCTION_RISCV_RISCVCINSTRUCTION_H
#define LLDB_SOURCE_PLUGINS_INSTRUCTION_RISCV_RISCVCINSTRUCTION_H

#include <cstdint>
#include <variant>

#include "Plugins/Process/Utility/lldb-riscv-register-enums.h"
#include "RISCVInstructions.h"

namespace lldb_private {

/// Unified RISC-V C register encoding.
struct RxC {};

// decode register for RVC
constexpr RxC DecodeCR_RD(uint32_t inst) {}
constexpr RxC DecodeCI_RD(uint32_t inst) {}
constexpr RxC DecodeCR_RS1(uint32_t inst) {}
constexpr RxC DecodeCI_RS1(uint32_t inst) {}
constexpr RxC DecodeCR_RS2(uint32_t inst) {}

constexpr RxC DecodeCIW_RD(uint32_t inst) {}
constexpr RxC DecodeCL_RD(uint32_t inst) {}
constexpr RxC DecodeCA_RD(uint32_t inst) {}
constexpr RxC DecodeCB_RD(uint32_t inst) {}

constexpr RxC DecodeCL_RS1(uint32_t inst) {}
constexpr RxC DecodeCS_RS1(uint32_t inst) {}
constexpr RxC DecodeCA_RS1(uint32_t inst) {}
constexpr RxC DecodeCB_RS1(uint32_t inst) {}

constexpr RxC DecodeCSS_RS2(uint32_t inst) {}
constexpr RxC DecodeCS_RS2(uint32_t inst) {}
constexpr RxC DecodeCA_RS2(uint32_t inst) {}

RISCVInst DecodeC_LWSP(uint32_t inst) {}

RISCVInst DecodeC_LDSP(uint32_t inst) {}

RISCVInst DecodeC_SWSP(uint32_t inst) {}

RISCVInst DecodeC_SDSP(uint32_t inst) {}

RISCVInst DecodeC_LW(uint32_t inst) {}

RISCVInst DecodeC_LD(uint32_t inst) {}

RISCVInst DecodeC_SW(uint32_t inst) {}

RISCVInst DecodeC_SD(uint32_t inst) {}

RISCVInst DecodeC_J(uint32_t inst) {}

RISCVInst DecodeC_JR(uint32_t inst) {}

RISCVInst DecodeC_JALR(uint32_t inst) {}

constexpr uint16_t BOffset(uint32_t inst) {}

RISCVInst DecodeC_BNEZ(uint32_t inst) {}

RISCVInst DecodeC_BEQZ(uint32_t inst) {}

RISCVInst DecodeC_LI(uint32_t inst) {}

RISCVInst DecodeC_LUI_ADDI16SP(uint32_t inst) {}

RISCVInst DecodeC_ADDI(uint32_t inst) {}

RISCVInst DecodeC_ADDIW(uint32_t inst) {}

RISCVInst DecodeC_ADDI4SPN(uint32_t inst) {}

RISCVInst DecodeC_SLLI(uint32_t inst) {}

RISCVInst DecodeC_SRLI(uint32_t inst) {}

RISCVInst DecodeC_SRAI(uint32_t inst) {}

RISCVInst DecodeC_ANDI(uint32_t inst) {}

RISCVInst DecodeC_MV(uint32_t inst) {}

RISCVInst DecodeC_ADD(uint32_t inst) {}

RISCVInst DecodeC_AND(uint32_t inst) {}

RISCVInst DecodeC_OR(uint32_t inst) {}

RISCVInst DecodeC_XOR(uint32_t inst) {}

RISCVInst DecodeC_SUB(uint32_t inst) {}

RISCVInst DecodeC_SUBW(uint32_t inst) {}

RISCVInst DecodeC_ADDW(uint32_t inst) {}
RISCVInst DecodeC_FLW(uint32_t inst) {}

RISCVInst DecodeC_FSW(uint32_t inst) {}

RISCVInst DecodeC_FLWSP(uint32_t inst) {}

RISCVInst DecodeC_FSWSP(uint32_t inst) {}

RISCVInst DecodeC_FLDSP(uint32_t inst) {}

RISCVInst DecodeC_FSDSP(uint32_t inst) {}

RISCVInst DecodeC_FLD(uint32_t inst) {}

RISCVInst DecodeC_FSD(uint32_t inst) {}

} // namespace lldb_private
#endif // LLDB_SOURCE_PLUGINS_INSTRUCTION_RISCV_RISCVCINSTRUCTION_H