LLVM API Documentation

Defines | Typedefs | Functions
SystemZDisassembler.cpp File Reference
#include "SystemZ.h"
#include "llvm/MC/MCDisassembler.h"
#include "llvm/MC/MCFixedLenDisassembler.h"
#include "llvm/MC/MCInst.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/MemoryObject.h"
#include "llvm/Support/TargetRegistry.h"
#include "SystemZGenDisassemblerTables.inc"
Include dependency graph for SystemZDisassembler.cpp:

Go to the source code of this file.

Defines

#define DEBUG_TYPE   "systemz-disassembler"

Typedefs

typedef
MCDisassembler::DecodeStatus 
DecodeStatus

Functions

static MCDisassemblercreateSystemZDisassembler (const Target &T, const MCSubtargetInfo &STI, MCContext &Ctx)
void LLVMInitializeSystemZDisassembler ()
static DecodeStatus decodeRegisterClass (MCInst &Inst, uint64_t RegNo, const unsigned *Regs)
static DecodeStatus DecodeGR32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
static DecodeStatus DecodeGRH32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
static DecodeStatus DecodeGR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
static DecodeStatus DecodeGR128BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
static DecodeStatus DecodeADDR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
static DecodeStatus DecodeFP32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
static DecodeStatus DecodeFP64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
static DecodeStatus DecodeFP128BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
template<unsigned N>
static DecodeStatus decodeUImmOperand (MCInst &Inst, uint64_t Imm)
template<unsigned N>
static DecodeStatus decodeSImmOperand (MCInst &Inst, uint64_t Imm)
static DecodeStatus decodeAccessRegOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeU4ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeU6ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeU8ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeU16ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeU32ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeS8ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeS16ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeS32ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
template<unsigned N>
static DecodeStatus decodePCDBLOperand (MCInst &Inst, uint64_t Imm, uint64_t Address)
static DecodeStatus decodePC16DBLOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodePC32DBLOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
static DecodeStatus decodeBDAddr12Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs)
static DecodeStatus decodeBDAddr20Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs)
static DecodeStatus decodeBDXAddr12Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs)
static DecodeStatus decodeBDXAddr20Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs)
static DecodeStatus decodeBDLAddr12Len8Operand (MCInst &Inst, uint64_t Field, const unsigned *Regs)
static DecodeStatus decodeBDAddr32Disp12Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder)
static DecodeStatus decodeBDAddr32Disp20Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder)
static DecodeStatus decodeBDAddr64Disp12Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder)
static DecodeStatus decodeBDAddr64Disp20Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder)
static DecodeStatus decodeBDXAddr64Disp12Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder)
static DecodeStatus decodeBDXAddr64Disp20Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder)
static DecodeStatus decodeBDLAddr64Disp12Len8Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder)

Define Documentation

#define DEBUG_TYPE   "systemz-disassembler"

Definition at line 20 of file SystemZDisassembler.cpp.


Typedef Documentation

Definition at line 22 of file SystemZDisassembler.cpp.


Function Documentation

static MCDisassembler* createSystemZDisassembler ( const Target T,
const MCSubtargetInfo STI,
MCContext Ctx 
) [static]

Definition at line 39 of file SystemZDisassembler.cpp.

Referenced by LLVMInitializeSystemZDisassembler().

static DecodeStatus decodeAccessRegOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 123 of file SystemZDisassembler.cpp.

static DecodeStatus DecodeADDR64BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 85 of file SystemZDisassembler.cpp.

References decodeRegisterClass(), and llvm::SystemZMC::GR64Regs.

static DecodeStatus decodeBDAddr12Operand ( MCInst Inst,
uint64_t  Field,
const unsigned Regs 
) [static]
static DecodeStatus decodeBDAddr20Operand ( MCInst Inst,
uint64_t  Field,
const unsigned Regs 
) [static]
static DecodeStatus decodeBDAddr32Disp12Operand ( MCInst Inst,
uint64_t  Field,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 245 of file SystemZDisassembler.cpp.

References decodeBDAddr12Operand(), and llvm::SystemZMC::GR32Regs.

static DecodeStatus decodeBDAddr32Disp20Operand ( MCInst Inst,
uint64_t  Field,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 251 of file SystemZDisassembler.cpp.

References decodeBDAddr20Operand(), and llvm::SystemZMC::GR32Regs.

static DecodeStatus decodeBDAddr64Disp12Operand ( MCInst Inst,
uint64_t  Field,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 257 of file SystemZDisassembler.cpp.

References decodeBDAddr12Operand(), and llvm::SystemZMC::GR64Regs.

static DecodeStatus decodeBDAddr64Disp20Operand ( MCInst Inst,
uint64_t  Field,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 263 of file SystemZDisassembler.cpp.

References decodeBDAddr20Operand(), and llvm::SystemZMC::GR64Regs.

static DecodeStatus decodeBDLAddr12Len8Operand ( MCInst Inst,
uint64_t  Field,
const unsigned Regs 
) [static]
static DecodeStatus decodeBDLAddr64Disp12Len8Operand ( MCInst Inst,
uint64_t  Field,
uint64_t  Address,
const void *  Decoder 
) [static]
static DecodeStatus decodeBDXAddr12Operand ( MCInst Inst,
uint64_t  Field,
const unsigned Regs 
) [static]
static DecodeStatus decodeBDXAddr20Operand ( MCInst Inst,
uint64_t  Field,
const unsigned Regs 
) [static]
static DecodeStatus decodeBDXAddr64Disp12Operand ( MCInst Inst,
uint64_t  Field,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 269 of file SystemZDisassembler.cpp.

References decodeBDXAddr12Operand(), and llvm::SystemZMC::GR64Regs.

static DecodeStatus decodeBDXAddr64Disp20Operand ( MCInst Inst,
uint64_t  Field,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 275 of file SystemZDisassembler.cpp.

References decodeBDXAddr20Operand(), and llvm::SystemZMC::GR64Regs.

static DecodeStatus DecodeFP128BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 103 of file SystemZDisassembler.cpp.

References decodeRegisterClass(), and llvm::SystemZMC::FP128Regs.

static DecodeStatus DecodeFP32BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 91 of file SystemZDisassembler.cpp.

References decodeRegisterClass(), and llvm::SystemZMC::FP32Regs.

static DecodeStatus DecodeFP64BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 97 of file SystemZDisassembler.cpp.

References decodeRegisterClass(), and llvm::SystemZMC::FP64Regs.

static DecodeStatus DecodeGR128BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 79 of file SystemZDisassembler.cpp.

References decodeRegisterClass(), and llvm::SystemZMC::GR128Regs.

static DecodeStatus DecodeGR32BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 61 of file SystemZDisassembler.cpp.

References decodeRegisterClass(), and llvm::SystemZMC::GR32Regs.

static DecodeStatus DecodeGR64BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 73 of file SystemZDisassembler.cpp.

References decodeRegisterClass(), and llvm::SystemZMC::GR64Regs.

static DecodeStatus DecodeGRH32BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 67 of file SystemZDisassembler.cpp.

References decodeRegisterClass(), and llvm::SystemZMC::GRH32Regs.

static DecodeStatus decodePC16DBLOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 177 of file SystemZDisassembler.cpp.

static DecodeStatus decodePC32DBLOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 183 of file SystemZDisassembler.cpp.

template<unsigned N>
static DecodeStatus decodePCDBLOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address 
) [static]
static DecodeStatus decodeRegisterClass ( MCInst Inst,
uint64_t  RegNo,
const unsigned Regs 
) [static]
static DecodeStatus decodeS16ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 159 of file SystemZDisassembler.cpp.

static DecodeStatus decodeS32ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 164 of file SystemZDisassembler.cpp.

static DecodeStatus decodeS8ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 154 of file SystemZDisassembler.cpp.

template<unsigned N>
static DecodeStatus decodeSImmOperand ( MCInst Inst,
uint64_t  Imm 
) [static]
static DecodeStatus decodeU16ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 144 of file SystemZDisassembler.cpp.

static DecodeStatus decodeU32ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 149 of file SystemZDisassembler.cpp.

static DecodeStatus decodeU4ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 129 of file SystemZDisassembler.cpp.

static DecodeStatus decodeU6ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 134 of file SystemZDisassembler.cpp.

static DecodeStatus decodeU8ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
) [static]

Definition at line 139 of file SystemZDisassembler.cpp.

template<unsigned N>
static DecodeStatus decodeUImmOperand ( MCInst Inst,
uint64_t  Imm 
) [static]