LLVM  3.7.0
Macros | 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/TargetRegistry.h"
#include "SystemZGenDisassemblerTables.inc"
Include dependency graph for SystemZDisassembler.cpp:

Go to the source code of this file.

Macros

#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, unsigned Size)
 
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)
 
static DecodeStatus DecodeVR32BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeVR64BitRegisterClass (MCInst &Inst, uint64_t RegNo, uint64_t Address, const void *Decoder)
 
static DecodeStatus DecodeVR128BitRegisterClass (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 decodeU1ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
 
static DecodeStatus decodeU2ImmOperand (MCInst &Inst, uint64_t Imm, uint64_t Address, const void *Decoder)
 
static DecodeStatus decodeU3ImmOperand (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 decodeU12ImmOperand (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 decodeBDVAddr12Operand (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)
 
static DecodeStatus decodeBDVAddr64Disp12Operand (MCInst &Inst, uint64_t Field, uint64_t Address, const void *Decoder)
 

Macro Definition Documentation

#define DEBUG_TYPE   "systemz-disassembler"

Definition at line 19 of file SystemZDisassembler.cpp.

Typedef Documentation

Definition at line 21 of file SystemZDisassembler.cpp.

Function Documentation

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

Definition at line 37 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 141 of file SystemZDisassembler.cpp.

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

Definition at line 83 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 295 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 301 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 307 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 313 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 decodeBDVAddr12Operand ( MCInst Inst,
uint64_t  Field,
const unsigned Regs 
)
static
static DecodeStatus decodeBDVAddr64Disp12Operand ( MCInst Inst,
uint64_t  Field,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 338 of file SystemZDisassembler.cpp.

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

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 319 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 325 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 101 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 89 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 95 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 77 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 59 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 71 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 65 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 215 of file SystemZDisassembler.cpp.

References llvm::dwarf::syntax::Address.

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

Definition at line 221 of file SystemZDisassembler.cpp.

References llvm::dwarf::syntax::Address.

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,
unsigned  Size 
)
static
static DecodeStatus decodeS16ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 197 of file SystemZDisassembler.cpp.

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

Definition at line 202 of file SystemZDisassembler.cpp.

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

Definition at line 192 of file SystemZDisassembler.cpp.

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

Definition at line 177 of file SystemZDisassembler.cpp.

static DecodeStatus decodeU16ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 182 of file SystemZDisassembler.cpp.

static DecodeStatus decodeU1ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 147 of file SystemZDisassembler.cpp.

static DecodeStatus decodeU2ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 152 of file SystemZDisassembler.cpp.

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

Definition at line 187 of file SystemZDisassembler.cpp.

static DecodeStatus decodeU3ImmOperand ( MCInst Inst,
uint64_t  Imm,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 157 of file SystemZDisassembler.cpp.

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

Definition at line 162 of file SystemZDisassembler.cpp.

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

Definition at line 167 of file SystemZDisassembler.cpp.

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

Definition at line 172 of file SystemZDisassembler.cpp.

template<unsigned N>
static DecodeStatus decodeUImmOperand ( MCInst Inst,
uint64_t  Imm 
)
static
static DecodeStatus DecodeVR128BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 119 of file SystemZDisassembler.cpp.

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

static DecodeStatus DecodeVR32BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 107 of file SystemZDisassembler.cpp.

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

static DecodeStatus DecodeVR64BitRegisterClass ( MCInst Inst,
uint64_t  RegNo,
uint64_t  Address,
const void *  Decoder 
)
static

Definition at line 113 of file SystemZDisassembler.cpp.

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

void LLVMInitializeSystemZDisassembler ( )