CACAO
Data Structures | Namespaces | Functions
X86_64Instructions.hpp File Reference

Go to the source code of this file.

Data Structures

struct  cacao::jit::compiler2::x86_64::SrcOp
 Simple wrapper for the operand of an single operand x86_64 instruction. More...
 
struct  cacao::jit::compiler2::x86_64::SrcMemOp
 
struct  cacao::jit::compiler2::x86_64::DstMemOp
 
struct  cacao::jit::compiler2::x86_64::Src1Op
 Simple wrapper for first operand of an x86_64 instruction. More...
 
struct  cacao::jit::compiler2::x86_64::Src2Op
 Simple wrapper for second operand of an x86_64 instruction. More...
 
struct  cacao::jit::compiler2::x86_64::DstSrc1Op
 Simple wrapper for first operand of an x86_64 instruction which is also used for the result. More...
 
struct  cacao::jit::compiler2::x86_64::DstSrc2Op
 
struct  cacao::jit::compiler2::x86_64::DstSrcOp
 Simple wrapper for first operand of an x86_64 instruction which is also used for the result. More...
 
struct  cacao::jit::compiler2::x86_64::DstOp
 Simple wrapper for destination of an x86_64 instruction. More...
 
class  cacao::jit::compiler2::x86_64::ModRMOperand
 
class  cacao::jit::compiler2::x86_64::ModRMOperandDesc
 
struct  cacao::jit::compiler2::x86_64::DstModRM
 Simple wrapper for a ModRM destination operand. More...
 
struct  cacao::jit::compiler2::x86_64::SrcModRM
 Simple wrapper for a ModRM source operand. More...
 
class  cacao::jit::compiler2::x86_64::X86_64Instruction
 Superclass for general purpose register instruction. More...
 
class  cacao::jit::compiler2::x86_64::GPInstruction
 Superclass for general purpose register instruction. More...
 
class  cacao::jit::compiler2::x86_64::MoveInst
 Move super instruction. More...
 
class  cacao::jit::compiler2::x86_64::ALUInstruction
 This abstract class represents a x86_64 ALU instruction. More...
 
class  cacao::jit::compiler2::x86_64::AddInst
 
class  cacao::jit::compiler2::x86_64::OrInst
 
class  cacao::jit::compiler2::x86_64::AdcInst
 
class  cacao::jit::compiler2::x86_64::SbbInst
 
class  cacao::jit::compiler2::x86_64::AndInst
 
class  cacao::jit::compiler2::x86_64::SubInst
 
class  cacao::jit::compiler2::x86_64::XorInst
 
class  cacao::jit::compiler2::x86_64::CmpInst
 
class  cacao::jit::compiler2::x86_64::PatchInst
 
class  cacao::jit::compiler2::x86_64::EnterInst
 
class  cacao::jit::compiler2::x86_64::LeaveInst
 
class  cacao::jit::compiler2::x86_64::BreakInst
 
class  cacao::jit::compiler2::x86_64::IMulInst
 
class  cacao::jit::compiler2::x86_64::IMulImmInst
 
class  cacao::jit::compiler2::x86_64::IDivInst
 
class  cacao::jit::compiler2::x86_64::CDQInst
 
class  cacao::jit::compiler2::x86_64::RetInst
 
class  cacao::jit::compiler2::x86_64::NegInst
 
class  cacao::jit::compiler2::x86_64::CallInst
 
class  cacao::jit::compiler2::x86_64::MovInst
 
class  cacao::jit::compiler2::x86_64::MovModRMInst
 Load from pointer. More...
 
class  cacao::jit::compiler2::x86_64::LEAInst
 
class  cacao::jit::compiler2::x86_64::MovSXInst
 Move with Sign-Extension. More...
 
class  cacao::jit::compiler2::x86_64::MovDSEGInst
 Move data seg to register. More...
 
class  cacao::jit::compiler2::x86_64::JumpInst
 
class  cacao::jit::compiler2::x86_64::CondJumpInst
 
class  cacao::jit::compiler2::x86_64::CondTrapInst
 
class  cacao::jit::compiler2::x86_64::CMovInst
 
class  cacao::jit::compiler2::x86_64::IndirectJumpInst
 
class  cacao::jit::compiler2::x86_64::CVTSI2SDInst
 Convert Dword Integer to Scalar Double-Precision FP Value. More...
 
class  cacao::jit::compiler2::x86_64::CVTSI2SSInst
 Convert Dword Integer to Scalar Single-Precision FP Value. More...
 
class  cacao::jit::compiler2::x86_64::CVTTSS2SIInst
 Convert with truncation Scalar Single-FP Value to DW Integer. More...
 
class  cacao::jit::compiler2::x86_64::CVTTSD2SIInst
 
class  cacao::jit::compiler2::x86_64::CVTSS2SDInst
 
class  cacao::jit::compiler2::x86_64::CVTSD2SSInst
 
class  cacao::jit::compiler2::x86_64::FLDInst
 
class  cacao::jit::compiler2::x86_64::FSTPInst
 
class  cacao::jit::compiler2::x86_64::FFREEInst
 
class  cacao::jit::compiler2::x86_64::FINCSTPInst
 
class  cacao::jit::compiler2::x86_64::UCOMISInst
 
class  cacao::jit::compiler2::x86_64::UCOMISSInst
 
class  cacao::jit::compiler2::x86_64::UCOMISDInst
 
class  cacao::jit::compiler2::x86_64::XORPInst
 
class  cacao::jit::compiler2::x86_64::XORPSInst
 
class  cacao::jit::compiler2::x86_64::XORPDInst
 
class  cacao::jit::compiler2::x86_64::SSEAluInst
 SSE Alu Instruction. More...
 
class  cacao::jit::compiler2::x86_64::SSEAluSDInst
 SSE Alu Instruction (Double-Precision) More...
 
class  cacao::jit::compiler2::x86_64::SSEAluSSInst
 SSE Alu Instruction (Single-Precision) More...
 
class  cacao::jit::compiler2::x86_64::AddSDInst
 Add Scalar Double-Precision Floating-Point Values. More...
 
class  cacao::jit::compiler2::x86_64::MulSDInst
 Multiply Scalar Double-Precision Floating-Point Values. More...
 
class  cacao::jit::compiler2::x86_64::SubSDInst
 Subtract Scalar Double-Precision Floating-Point Values. More...
 
class  cacao::jit::compiler2::x86_64::DivSDInst
 Divide Scalar Double-Precision Floating-Point Values. More...
 
class  cacao::jit::compiler2::x86_64::FPRemInst
 
class  cacao::jit::compiler2::x86_64::AddSSInst
 Add Scalar Single-Precision Floating-Point Values. More...
 
class  cacao::jit::compiler2::x86_64::MulSSInst
 Multiply Scalar Single-Precision Floating-Point Values. More...
 
class  cacao::jit::compiler2::x86_64::SubSSInst
 Subtract Scalar Single-Precision Floating-Point Values. More...
 
class  cacao::jit::compiler2::x86_64::DivSSInst
 Divide Scalar Single-Precision Floating-Point Values. More...
 
class  cacao::jit::compiler2::x86_64::MovSDInst
 
class  cacao::jit::compiler2::x86_64::MovImmSInst
 
class  cacao::jit::compiler2::x86_64::MovImmSDInst
 
class  cacao::jit::compiler2::x86_64::MovImmSSInst
 
class  cacao::jit::compiler2::x86_64::MovSSInst
 

Namespaces

 cacao
 This file contains the Instruction class.
 
 cacao::jit
 
 cacao::jit::compiler2
 Second stage compiler namespace.
 
 cacao::jit::compiler2::x86_64
 

Functions

OStream & cacao::jit::compiler2::x86_64::operator<< (OStream &OS, const ModRMOperandDesc &modrm)
 
GPInstruction::OperandSize cacao::jit::compiler2::x86_64::get_operand_size_from_Type (Type::TypeID type)
 
void cacao::jit::compiler2::x86_64::emit_nop (CodeFragment code, int length)
 
GPInstruction::OperandSize cacao::jit::compiler2::x86_64::get_OperandSize_from_Type (const Type::TypeID type)