brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 5c6572d Raw
50 lines · c
1//===-- R600InstPrinter.h - AMDGPU MC Inst -> ASM interface -----*- C++ -*-===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_R600INSTPRINTER_H10#define LLVM_LIB_TARGET_AMDGPU_MCTARGETDESC_R600INSTPRINTER_H11 12#include "llvm/MC/MCInstPrinter.h"13 14namespace llvm {15 16class R600InstPrinter : public MCInstPrinter {17public:18  R600InstPrinter(const MCAsmInfo &MAI, const MCInstrInfo &MII,19                  const MCRegisterInfo &MRI)20      : MCInstPrinter(MAI, MII, MRI) {}21 22  void printInst(const MCInst *MI, uint64_t Address, StringRef Annot,23                 const MCSubtargetInfo &STI, raw_ostream &O) override;24  std::pair<const char *, uint64_t>25  getMnemonic(const MCInst &MI) const override;26  void printInstruction(const MCInst *MI, uint64_t Address, raw_ostream &O);27  static const char *getRegisterName(MCRegister Reg);28 29  void printAbs(const MCInst *MI, unsigned OpNo, raw_ostream &O);30  void printBankSwizzle(const MCInst *MI, unsigned OpNo, raw_ostream &O);31  void printClamp(const MCInst *MI, unsigned OpNo, raw_ostream &O);32  void printCT(const MCInst *MI, unsigned OpNo, raw_ostream &O);33  void printKCache(const MCInst *MI, unsigned OpNo, raw_ostream &O);34  void printLast(const MCInst *MI, unsigned OpNo, raw_ostream &O);35  void printLiteral(const MCInst *MI, unsigned OpNo, raw_ostream &O);36  void printMemOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);37  void printNeg(const MCInst *MI, unsigned OpNo, raw_ostream &O);38  void printOMOD(const MCInst *MI, unsigned OpNo, raw_ostream &O);39  void printOperand(const MCInst *MI, unsigned OpNo, raw_ostream &O);40  void printRel(const MCInst *MI, unsigned OpNo, raw_ostream &O);41  void printRSel(const MCInst *MI, unsigned OpNo, raw_ostream &O);42  void printUpdateExecMask(const MCInst *MI, unsigned OpNo, raw_ostream &O);43  void printUpdatePred(const MCInst *MI, unsigned OpNo, raw_ostream &O);44  void printWrite(const MCInst *MI, unsigned OpNo, raw_ostream &O);45};46 47} // End namespace llvm48 49#endif50