Path: blob/main/contrib/llvm-project/llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.h
35294 views
//===-- VEInstPrinter.h - Convert VE MCInst to assembly syntax ------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This class prints an VE MCInst to a .s file.9//10//===----------------------------------------------------------------------===//1112#ifndef LLVM_LIB_TARGET_VE_INSTPRINTER_VEINSTPRINTER_H13#define LLVM_LIB_TARGET_VE_INSTPRINTER_VEINSTPRINTER_H1415#include "VEMCTargetDesc.h"16#include "llvm/MC/MCInstPrinter.h"1718namespace llvm {1920class VEInstPrinter : public MCInstPrinter {21public:22VEInstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII,23const MCRegisterInfo &MRI)24: MCInstPrinter(MAI, MII, MRI) {}2526void printRegName(raw_ostream &OS, MCRegister Reg) const override;27void printInst(const MCInst *MI, uint64_t Address, StringRef Annot,28const MCSubtargetInfo &STI, raw_ostream &OS) override;2930// Autogenerated by tblgen.31std::pair<const char *, uint64_t> getMnemonic(const MCInst *MI) override;32bool printAliasInstr(const MCInst *, uint64_t Address,33const MCSubtargetInfo &, raw_ostream &);34void printInstruction(const MCInst *, uint64_t, const MCSubtargetInfo &,35raw_ostream &);36static const char *getRegisterName(MCRegister Reg,37unsigned AltIdx = VE::NoRegAltName);3839void printOperand(const MCInst *MI, int OpNum, const MCSubtargetInfo &STI,40raw_ostream &OS);41void printMemASXOperand(const MCInst *MI, int OpNum,42const MCSubtargetInfo &STI, raw_ostream &OS,43const char *Modifier = nullptr);44void printMemASOperandASX(const MCInst *MI, int OpNum,45const MCSubtargetInfo &STI, raw_ostream &OS,46const char *Modifier = nullptr);47void printMemASOperandRRM(const MCInst *MI, int OpNum,48const MCSubtargetInfo &STI, raw_ostream &OS,49const char *Modifier = nullptr);50void printMemASOperandHM(const MCInst *MI, int OpNum,51const MCSubtargetInfo &STI, raw_ostream &OS,52const char *Modifier = nullptr);53void printMImmOperand(const MCInst *MI, int OpNum, const MCSubtargetInfo &STI,54raw_ostream &OS);55void printCCOperand(const MCInst *MI, int OpNum, const MCSubtargetInfo &STI,56raw_ostream &OS);57void printRDOperand(const MCInst *MI, int OpNum, const MCSubtargetInfo &STI,58raw_ostream &OS);59};60} // namespace llvm6162#endif636465