v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
v8::internal::MacroAssemblerBase Class Referenceabstract

#include <macro-assembler-base.h>

Inheritance diagram for v8::internal::MacroAssemblerBase:
Collaboration diagram for v8::internal::MacroAssemblerBase:

Public Types

enum class  RecordWriteCallMode { kDefault , kWasm }
 
- Public Types inherited from v8::internal::Assembler
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  ConstantPoolMode { NEEDS_POOL_ENTRY , NO_POOL_ENTRY }
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  OffsetSize : int {
  kOffset26 = 26 , kOffset21 = 21 , kOffset20 = 20 , kOffset16 = 16 ,
  kOffset26 = 26 , kOffset21 = 21 , kOffset16 = 16
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  OffsetSize : int {
  kOffset26 = 26 , kOffset21 = 21 , kOffset20 = 20 , kOffset16 = 16 ,
  kOffset26 = 26 , kOffset21 = 21 , kOffset16 = 16
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  NopMarkerTypes {
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , DEBUG_BREAK_NOP ,
  INTERRUPT_CODE_NOP , ADR_FAR_NOP , FIRST_NOP_MARKER = DEBUG_BREAK_NOP , LAST_NOP_MARKER = ADR_FAR_NOP ,
  NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT ,
  PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP ,
  DEBUG_BREAK_NOP , PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE ,
  LAST_CODE_MARKER , FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED , NON_MARKING_NOP = 0 , GROUP_ENDING_NOP , DEBUG_BREAK_NOP ,
  PROPERTY_ACCESS_INLINED , PROPERTY_ACCESS_INLINED_CONTEXT , PROPERTY_ACCESS_INLINED_CONTEXT_DONT_DELETE , LAST_CODE_MARKER ,
  FIRST_IC_MARKER = PROPERTY_ACCESS_INLINED
}
 
enum  SIMDPrefix {
  kNoPrefix = 0x0 , k66 = 0x1 , kF3 = 0x2 , kF2 = 0x3 ,
  kNoPrefix = 0x0 , k66 = 0x1 , kF3 = 0x2 , kF2 = 0x3
}
 
enum  VectorLength {
  kL128 = 0x0 , kL256 = 0x4 , kLIG = kL128 , kLZ = kL128 ,
  kL128 = 0x0 , kL256 = 0x4 , kLIG = kL128 , kLZ = kL128
}
 
enum  VexW {
  kW0 = 0x0 , kW1 = 0x80 , kWIG = kW0 , kW0 = 0x0 ,
  kW1 = 0x80 , kWIG = kW0
}
 
enum  LeadingOpcode {
  k0F = 0x1 , k0F38 = 0x2 , k0F3A = 0x3 , k0F = 0x1 ,
  k0F38 = 0x2 , k0F3A = 0x3
}
 
using BlockConstPoolScope = ConstantPool::BlockScope
 

Public Member Functions

 MacroAssemblerBase (Isolate *isolate, CodeObjectRequired create_code_object, std::unique_ptr< AssemblerBuffer > buffer={})
 
 MacroAssemblerBase (Isolate *isolate, MaybeAssemblerZone zone, CodeObjectRequired create_code_object, std::unique_ptr< AssemblerBuffer > buffer={})
 
 MacroAssemblerBase (Isolate *isolate, const AssemblerOptions &options, CodeObjectRequired create_code_object, std::unique_ptr< AssemblerBuffer > buffer={})
 
 MacroAssemblerBase (Isolate *isolate, MaybeAssemblerZone zone, AssemblerOptions options, CodeObjectRequired create_code_object, std::unique_ptr< AssemblerBuffer > buffer={})
 
 MacroAssemblerBase (MaybeAssemblerZone zone, AssemblerOptions options, CodeObjectRequired create_code_object, std::unique_ptr< AssemblerBuffer > buffer={})
 
Isolateisolate () const
 
IndirectHandle< HeapObjectCodeObject () const
 
bool root_array_available () const
 
void set_root_array_available (bool v)
 
bool should_abort_hard () const
 
void set_abort_hard (bool v)
 
void set_builtin (Builtin builtin)
 
Builtin builtin () const
 
void set_has_frame (bool v)
 
bool has_frame () const
 
void IndirectLoadConstant (Register destination, Handle< HeapObject > object)
 
void IndirectLoadExternalReference (Register destination, ExternalReference reference)
 
Address BuiltinEntry (Builtin builtin)
 
virtual void LoadFromConstantsTable (Register destination, int constant_index)=0
 
virtual void LoadRootRegisterOffset (Register destination, intptr_t offset)=0
 
virtual void LoadRootRelative (Register destination, int32_t offset)=0
 
virtual void StoreRootRelative (int32_t offset, Register value)=0
 
Tagged_t ReadOnlyRootPtr (RootIndex index)
 
virtual void LoadRoot (Register destination, RootIndex index)=0
 
V8_INLINE std::string CommentForOffHeapTrampoline (const char *prefix, Builtin builtin)
 
- Public Member Functions inherited from v8::internal::Assembler
 Assembler (const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer > buffer={})
 
 ~Assembler () override
 
void AbortedCodeGeneration () override
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilderBase *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void bind (Label *L)
 
int branch_offset (Label *L)
 
RegListGetScratchRegisterList ()
 
VfpRegListGetScratchVfpRegisterList ()
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void b (int branch_offset, Condition cond=al, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
void bl (int branch_offset, Condition cond=al, RelocInfo::Mode rmode=RelocInfo::NO_INFO)
 
void blx (int branch_offset)
 
void blx (Register target, Condition cond=al)
 
void bx (Register target, Condition cond=al)
 
void b (Label *L, Condition cond=al)
 
void b (Condition cond, Label *L)
 
void bl (Label *L, Condition cond=al)
 
void bl (Condition cond, Label *L)
 
void blx (Label *L)
 
void and_ (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void and_ (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void eor (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void eor (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void sub (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void sub (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void rsb (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void add (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void add (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void adc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void sbc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void rsc (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void tst (Register src1, const Operand &src2, Condition cond=al)
 
void tst (Register src1, Register src2, Condition cond=al)
 
void teq (Register src1, const Operand &src2, Condition cond=al)
 
void cmp (Register src1, const Operand &src2, Condition cond=al)
 
void cmp (Register src1, Register src2, Condition cond=al)
 
void cmp_raw_immediate (Register src1, int raw_immediate, Condition cond=al)
 
void cmn (Register src1, const Operand &src2, Condition cond=al)
 
void orr (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void orr (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void mov (Register dst, const Operand &src, SBit s=LeaveCC, Condition cond=al)
 
void mov (Register dst, Register src, SBit s=LeaveCC, Condition cond=al)
 
void mov_label_offset (Register dst, Label *label)
 
void movw (Register reg, uint32_t immediate, Condition cond=al)
 
void movt (Register reg, uint32_t immediate, Condition cond=al)
 
void bic (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void mvn (Register dst, const Operand &src, SBit s=LeaveCC, Condition cond=al)
 
void asr (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void lsl (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void lsr (Register dst, Register src1, const Operand &src2, SBit s=LeaveCC, Condition cond=al)
 
void mla (Register dst, Register src1, Register src2, Register srcA, SBit s=LeaveCC, Condition cond=al)
 
void mls (Register dst, Register src1, Register src2, Register srcA, Condition cond=al)
 
void sdiv (Register dst, Register src1, Register src2, Condition cond=al)
 
void udiv (Register dst, Register src1, Register src2, Condition cond=al)
 
void mul (Register dst, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void smmla (Register dst, Register src1, Register src2, Register srcA, Condition cond=al)
 
void smmul (Register dst, Register src1, Register src2, Condition cond=al)
 
void smlal (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void smull (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void umlal (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void umull (Register dstL, Register dstH, Register src1, Register src2, SBit s=LeaveCC, Condition cond=al)
 
void clz (Register dst, Register src, Condition cond=al)
 
void usat (Register dst, int satpos, const Operand &src, Condition cond=al)
 
void ubfx (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void sbfx (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void bfc (Register dst, int lsb, int width, Condition cond=al)
 
void bfi (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void pkhbt (Register dst, Register src1, const Operand &src2, Condition cond=al)
 
void pkhtb (Register dst, Register src1, const Operand &src2, Condition cond=al)
 
void sxtb (Register dst, Register src, int rotate=0, Condition cond=al)
 
void sxtab (Register dst, Register src1, Register src2, int rotate=0, Condition cond=al)
 
void sxth (Register dst, Register src, int rotate=0, Condition cond=al)
 
void sxtah (Register dst, Register src1, Register src2, int rotate=0, Condition cond=al)
 
void uxtb (Register dst, Register src, int rotate=0, Condition cond=al)
 
void uxtab (Register dst, Register src1, Register src2, int rotate=0, Condition cond=al)
 
void uxtb16 (Register dst, Register src, int rotate=0, Condition cond=al)
 
void uxth (Register dst, Register src, int rotate=0, Condition cond=al)
 
void uxtah (Register dst, Register src1, Register src2, int rotate=0, Condition cond=al)
 
void rbit (Register dst, Register src, Condition cond=al)
 
void rev (Register dst, Register src, Condition cond=al)
 
void mrs (Register dst, SRegister s, Condition cond=al)
 
void msr (SRegisterFieldMask fields, const Operand &src, Condition cond=al)
 
void ldr (Register dst, const MemOperand &src, Condition cond=al)
 
void str (Register src, const MemOperand &dst, Condition cond=al)
 
void ldrb (Register dst, const MemOperand &src, Condition cond=al)
 
void strb (Register src, const MemOperand &dst, Condition cond=al)
 
void ldrh (Register dst, const MemOperand &src, Condition cond=al)
 
void strh (Register src, const MemOperand &dst, Condition cond=al)
 
void ldrsb (Register dst, const MemOperand &src, Condition cond=al)
 
void ldrsh (Register dst, const MemOperand &src, Condition cond=al)
 
void ldrd (Register dst1, Register dst2, const MemOperand &src, Condition cond=al)
 
void strd (Register src1, Register src2, const MemOperand &dst, Condition cond=al)
 
void ldr_pcrel (Register dst, int imm12, Condition cond=al)
 
void ldrex (Register dst, Register src, Condition cond=al)
 
void strex (Register src1, Register src2, Register dst, Condition cond=al)
 
void ldrexb (Register dst, Register src, Condition cond=al)
 
void strexb (Register src1, Register src2, Register dst, Condition cond=al)
 
void ldrexh (Register dst, Register src, Condition cond=al)
 
void strexh (Register src1, Register src2, Register dst, Condition cond=al)
 
void ldrexd (Register dst1, Register dst2, Register src, Condition cond=al)
 
void strexd (Register res, Register src1, Register src2, Register dst, Condition cond=al)
 
void pld (const MemOperand &address)
 
void ldm (BlockAddrMode am, Register base, RegList dst, Condition cond=al)
 
void stm (BlockAddrMode am, Register base, RegList src, Condition cond=al)
 
void stop (Condition cond=al, int32_t code=kDefaultStopCode)
 
void bkpt (uint32_t imm16)
 
void svc (uint32_t imm24, Condition cond=al)
 
void dmb (BarrierOption option)
 
void dsb (BarrierOption option)
 
void isb (BarrierOption option)
 
void csdb ()
 
void cdp (Coprocessor coproc, int opcode_1, CRegister crd, CRegister crn, CRegister crm, int opcode_2, Condition cond=al)
 
void cdp2 (Coprocessor coproc, int opcode_1, CRegister crd, CRegister crn, CRegister crm, int opcode_2)
 
void mcr (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0, Condition cond=al)
 
void mcr2 (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0)
 
void mrc (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0, Condition cond=al)
 
void mrc2 (Coprocessor coproc, int opcode_1, Register rd, CRegister crn, CRegister crm, int opcode_2=0)
 
void ldc (Coprocessor coproc, CRegister crd, const MemOperand &src, LFlag l=Short, Condition cond=al)
 
void ldc (Coprocessor coproc, CRegister crd, Register base, int option, LFlag l=Short, Condition cond=al)
 
void ldc2 (Coprocessor coproc, CRegister crd, const MemOperand &src, LFlag l=Short)
 
void ldc2 (Coprocessor coproc, CRegister crd, Register base, int option, LFlag l=Short)
 
void vldr (const DwVfpRegister dst, const Register base, int offset, const Condition cond=al)
 
void vldr (const DwVfpRegister dst, const MemOperand &src, const Condition cond=al)
 
void vldr (const SwVfpRegister dst, const Register base, int offset, const Condition cond=al)
 
void vldr (const SwVfpRegister dst, const MemOperand &src, const Condition cond=al)
 
void vstr (const DwVfpRegister src, const Register base, int offset, const Condition cond=al)
 
void vstr (const DwVfpRegister src, const MemOperand &dst, const Condition cond=al)
 
void vstr (const SwVfpRegister src, const Register base, int offset, const Condition cond=al)
 
void vstr (const SwVfpRegister src, const MemOperand &dst, const Condition cond=al)
 
void vldm (BlockAddrMode am, Register base, DwVfpRegister first, DwVfpRegister last, Condition cond=al)
 
void vstm (BlockAddrMode am, Register base, DwVfpRegister first, DwVfpRegister last, Condition cond=al)
 
void vldm (BlockAddrMode am, Register base, SwVfpRegister first, SwVfpRegister last, Condition cond=al)
 
void vstm (BlockAddrMode am, Register base, SwVfpRegister first, SwVfpRegister last, Condition cond=al)
 
void vmov (const SwVfpRegister dst, Float32 imm)
 
void vmov (const DwVfpRegister dst, base::Double imm, const Register extra_scratch=no_reg)
 
void vmov (const SwVfpRegister dst, const SwVfpRegister src, const Condition cond=al)
 
void vmov (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void vmov (const DwVfpRegister dst, const Register src1, const Register src2, const Condition cond=al)
 
void vmov (const Register dst1, const Register dst2, const DwVfpRegister src, const Condition cond=al)
 
void vmov (const SwVfpRegister dst, const Register src, const Condition cond=al)
 
void vmov (const Register dst, const SwVfpRegister src, const Condition cond=al)
 
void vcvt_f64_s32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f32_s32 (const SwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f64_u32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f32_u32 (const SwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_s32_f32 (const SwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_u32_f32 (const SwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_s32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_u32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f64_f32 (const DwVfpRegister dst, const SwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f32_f64 (const SwVfpRegister dst, const DwVfpRegister src, VFPConversionMode mode=kDefaultRoundToZero, const Condition cond=al)
 
void vcvt_f64_s32 (const DwVfpRegister dst, int fraction_bits, const Condition cond=al)
 
void vmrs (const Register dst, const Condition cond=al)
 
void vmsr (const Register dst, const Condition cond=al)
 
void vneg (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void vneg (const SwVfpRegister dst, const SwVfpRegister src, const Condition cond=al)
 
void vabs (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void vabs (const SwVfpRegister dst, const SwVfpRegister src, const Condition cond=al)
 
void vadd (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vadd (const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2, const Condition cond=al)
 
void vsub (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vsub (const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2, const Condition cond=al)
 
void vmul (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vmul (const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2, const Condition cond=al)
 
void vmla (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vmla (const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2, const Condition cond=al)
 
void vmls (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vmls (const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2, const Condition cond=al)
 
void vdiv (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vdiv (const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2, const Condition cond=al)
 
void vcmp (const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void vcmp (const SwVfpRegister src1, const SwVfpRegister src2, const Condition cond=al)
 
void vcmp (const DwVfpRegister src1, const double src2, const Condition cond=al)
 
void vcmp (const SwVfpRegister src1, const float src2, const Condition cond=al)
 
void vmaxnm (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2)
 
void vmaxnm (const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2)
 
void vminnm (const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2)
 
void vminnm (const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2)
 
void vsel (const Condition cond, const DwVfpRegister dst, const DwVfpRegister src1, const DwVfpRegister src2)
 
void vsel (const Condition cond, const SwVfpRegister dst, const SwVfpRegister src1, const SwVfpRegister src2)
 
void vsqrt (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void vsqrt (const SwVfpRegister dst, const SwVfpRegister src, const Condition cond=al)
 
void vrinta (const SwVfpRegister dst, const SwVfpRegister src)
 
void vrinta (const DwVfpRegister dst, const DwVfpRegister src)
 
void vrintn (const SwVfpRegister dst, const SwVfpRegister src)
 
void vrintn (const DwVfpRegister dst, const DwVfpRegister src)
 
void vrintm (const SwVfpRegister dst, const SwVfpRegister src)
 
void vrintm (const DwVfpRegister dst, const DwVfpRegister src)
 
void vrintp (const SwVfpRegister dst, const SwVfpRegister src)
 
void vrintp (const DwVfpRegister dst, const DwVfpRegister src)
 
void vrintz (const SwVfpRegister dst, const SwVfpRegister src, const Condition cond=al)
 
void vrintz (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void vld1 (NeonSize size, const NeonListOperand &dst, const NeonMemOperand &src)
 
void vld1s (NeonSize size, const NeonListOperand &dst, uint8_t index, const NeonMemOperand &src)
 
void vld1r (NeonSize size, const NeonListOperand &dst, const NeonMemOperand &src)
 
void vst1 (NeonSize size, const NeonListOperand &src, const NeonMemOperand &dst)
 
void vst1s (NeonSize size, const NeonListOperand &src, uint8_t index, const NeonMemOperand &dst)
 
void vmovl (NeonDataType dt, QwNeonRegister dst, DwVfpRegister src)
 
void vqmovn (NeonDataType dst_dt, NeonDataType src_dt, DwVfpRegister dst, QwNeonRegister src)
 
void vmov (NeonDataType dt, DwVfpRegister dst, int index, Register src)
 
void vmov (NeonDataType dt, Register dst, DwVfpRegister src, int index)
 
void vmov (DwVfpRegister dst, uint64_t imm)
 
void vmov (QwNeonRegister dst, uint64_t imm)
 
void vmov (QwNeonRegister dst, QwNeonRegister src)
 
void vdup (NeonSize size, QwNeonRegister dst, Register src)
 
void vdup (NeonSize size, QwNeonRegister dst, DwVfpRegister src, int index)
 
void vdup (NeonSize size, DwVfpRegister dst, DwVfpRegister src, int index)
 
void vcvt_f32_s32 (QwNeonRegister dst, QwNeonRegister src)
 
void vcvt_f32_u32 (QwNeonRegister dst, QwNeonRegister src)
 
void vcvt_s32_f32 (QwNeonRegister dst, QwNeonRegister src)
 
void vcvt_u32_f32 (QwNeonRegister dst, QwNeonRegister src)
 
void vmvn (QwNeonRegister dst, QwNeonRegister src)
 
void vswp (DwVfpRegister dst, DwVfpRegister src)
 
void vswp (QwNeonRegister dst, QwNeonRegister src)
 
void vabs (QwNeonRegister dst, QwNeonRegister src)
 
void vabs (NeonSize size, QwNeonRegister dst, QwNeonRegister src)
 
void vneg (QwNeonRegister dst, QwNeonRegister src)
 
void vneg (NeonSize size, QwNeonRegister dst, QwNeonRegister src)
 
void vand (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vbic (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void veor (DwVfpRegister dst, DwVfpRegister src1, DwVfpRegister src2)
 
void veor (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vbsl (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vorr (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vorn (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vadd (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vadd (NeonSize size, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vqadd (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vsub (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vsub (NeonSize size, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vqsub (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vmlal (NeonDataType size, QwNeonRegister dst, DwVfpRegister src1, DwVfpRegister src2)
 
void vmul (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vmul (NeonSize size, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vmull (NeonDataType size, QwNeonRegister dst, DwVfpRegister src1, DwVfpRegister src2)
 
void vmin (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vmin (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vmax (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vmax (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vpadd (DwVfpRegister dst, DwVfpRegister src1, DwVfpRegister src2)
 
void vpadd (NeonSize size, DwVfpRegister dst, DwVfpRegister src1, DwVfpRegister src2)
 
void vpmin (NeonDataType dt, DwVfpRegister dst, DwVfpRegister src1, DwVfpRegister src2)
 
void vpmax (NeonDataType dt, DwVfpRegister dst, DwVfpRegister src1, DwVfpRegister src2)
 
void vpadal (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src)
 
void vpaddl (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src)
 
void vqrdmulh (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vrintm (NeonDataType dt, const QwNeonRegister dst, const QwNeonRegister src)
 
void vrintn (NeonDataType dt, const QwNeonRegister dst, const QwNeonRegister src)
 
void vrintp (NeonDataType dt, const QwNeonRegister dst, const QwNeonRegister src)
 
void vrintz (NeonDataType dt, const QwNeonRegister dst, const QwNeonRegister src)
 
void vshl (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src, int shift)
 
void vshl (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src, QwNeonRegister shift)
 
void vshr (NeonDataType dt, DwVfpRegister dst, DwVfpRegister src, int shift)
 
void vshr (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src, int shift)
 
void vsli (NeonSize size, DwVfpRegister dst, DwVfpRegister src, int shift)
 
void vsri (NeonSize size, DwVfpRegister dst, DwVfpRegister src, int shift)
 
void vsra (NeonDataType size, DwVfpRegister dst, DwVfpRegister src, int imm)
 
void vrecpe (QwNeonRegister dst, QwNeonRegister src)
 
void vrsqrte (QwNeonRegister dst, QwNeonRegister src)
 
void vrecps (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vrsqrts (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vtst (NeonSize size, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vceq (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vceq (NeonSize size, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vceq (NeonSize size, QwNeonRegister dst, QwNeonRegister src, int value)
 
void vcge (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vcge (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vcgt (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vcgt (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vclt (NeonSize size, QwNeonRegister dst, QwNeonRegister src, int value)
 
void vrhadd (NeonDataType dt, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vext (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2, int bytes)
 
void vzip (NeonSize size, DwVfpRegister src1, DwVfpRegister src2)
 
void vzip (NeonSize size, QwNeonRegister src1, QwNeonRegister src2)
 
void vuzp (NeonSize size, DwVfpRegister src1, DwVfpRegister src2)
 
void vuzp (NeonSize size, QwNeonRegister src1, QwNeonRegister src2)
 
void vrev16 (NeonSize size, QwNeonRegister dst, QwNeonRegister src)
 
void vrev32 (NeonSize size, QwNeonRegister dst, QwNeonRegister src)
 
void vrev64 (NeonSize size, QwNeonRegister dst, QwNeonRegister src)
 
void vtrn (NeonSize size, DwVfpRegister src1, DwVfpRegister src2)
 
void vtrn (NeonSize size, QwNeonRegister src1, QwNeonRegister src2)
 
void vtbl (DwVfpRegister dst, const NeonListOperand &list, DwVfpRegister index)
 
void vtbx (DwVfpRegister dst, const NeonListOperand &list, DwVfpRegister index)
 
void vcnt (QwNeonRegister dst, QwNeonRegister src)
 
void nop (int type=0)
 
void push (Register src, Condition cond=al)
 
void pop (Register dst, Condition cond=al)
 
void pop ()
 
void vpush (QwNeonRegister src, Condition cond=al)
 
void vpush (DwVfpRegister src, Condition cond=al)
 
void vpush (SwVfpRegister src, Condition cond=al)
 
void vpop (DwVfpRegister dst, Condition cond=al)
 
void jmp (Label *L)
 
int SizeOfCodeGeneratedSince (Label *label)
 
int InstructionsGeneratedSince (Label *label)
 
bool ImmediateFitsAddrMode2Instruction (int32_t imm32)
 
void MaybeEmitOutOfLineConstantPool ()
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
void RecordConstPool (int size)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
Instr instr_at (int pos)
 
void instr_at_put (int pos, Instr instr)
 
void BlockConstPoolFor (int instructions)
 
void CheckConstPool (bool force_emit, bool require_jump)
 
V8_INLINE void MaybeCheckConstPool ()
 
void Move32BitImmediate (Register rd, const Operand &x, Condition cond=al)
 
V8_INLINE Handle< Coderelative_code_target_object_handle_at (Address pc_) const
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 ~Assembler () override
 
Zonezone () const
 
void AbortedCodeGeneration () override
 
void Reset ()
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilderBase *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void Unreachable ()
 
void bind (Label *label)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0, ConstantPoolMode constant_pool_mode=NEEDS_POOL_ENTRY)
 
void near_jump (int offset, RelocInfo::Mode rmode)
 
void near_call (int offset, RelocInfo::Mode rmode)
 
void near_call (HeapNumberRequest request)
 
Handle< Codecode_target_object_handle_at (Address pc)
 
EmbeddedObjectIndex embedded_object_index_referenced_from (Address pc)
 
void set_embedded_object_index_referenced_from (Address p, EmbeddedObjectIndex index)
 
Handle< HeapObjecttarget_object_handle_at (Address pc)
 
uint64_t SizeOfGeneratedCode () const
 
uint64_t SizeOfCodeGeneratedSince (const Label *label)
 
uint64_t InstructionsGeneratedSince (const Label *label)
 
void EmitPoolGuard ()
 
void StartBlockVeneerPool ()
 
void EndBlockVeneerPool ()
 
bool is_veneer_pool_blocked () const
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
int buffer_space () const
 
void RecordConstPool (int size)
 
void br (const Register &xn)
 
void blr (const Register &xn)
 
void ret (const Register &xn=lr)
 
void b (Label *label)
 
void b (Label *label, Condition cond)
 
void b (int imm26)
 
void b (int imm19, Condition cond)
 
void bl (Label *label)
 
void bl (int imm26)
 
void cbz (const Register &rt, Label *label)
 
void cbz (const Register &rt, int imm19)
 
void cbnz (const Register &rt, Label *label)
 
void cbnz (const Register &rt, int imm19)
 
void tbz (const Register &rt, unsigned bit_pos, Label *label)
 
void tbz (const Register &rt, unsigned bit_pos, int imm14)
 
void tbnz (const Register &rt, unsigned bit_pos, Label *label)
 
void tbnz (const Register &rt, unsigned bit_pos, int imm14)
 
void adr (const Register &rd, Label *label)
 
void adr (const Register &rd, int imm21)
 
void add (const Register &rd, const Register &rn, const Operand &operand)
 
void adds (const Register &rd, const Register &rn, const Operand &operand)
 
void cmn (const Register &rn, const Operand &operand)
 
void sub (const Register &rd, const Register &rn, const Operand &operand)
 
void subs (const Register &rd, const Register &rn, const Operand &operand)
 
void cmp (const Register &rn, const Operand &operand)
 
void neg (const Register &rd, const Operand &operand)
 
void negs (const Register &rd, const Operand &operand)
 
void adc (const Register &rd, const Register &rn, const Operand &operand)
 
void adcs (const Register &rd, const Register &rn, const Operand &operand)
 
void sbc (const Register &rd, const Register &rn, const Operand &operand)
 
void sbcs (const Register &rd, const Register &rn, const Operand &operand)
 
void ngc (const Register &rd, const Operand &operand)
 
void ngcs (const Register &rd, const Operand &operand)
 
void and_ (const Register &rd, const Register &rn, const Operand &operand)
 
void ands (const Register &rd, const Register &rn, const Operand &operand)
 
void tst (const Register &rn, const Operand &operand)
 
void bic (const Register &rd, const Register &rn, const Operand &operand)
 
void bics (const Register &rd, const Register &rn, const Operand &operand)
 
void and_ (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void bic (const VRegister &vd, const int imm8, const int left_shift=0)
 
void bic (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void bif (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void bit (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void bsl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void pmul (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void movi (const VRegister &vd, const uint64_t imm, Shift shift=LSL, const int shift_amount=0)
 
void mvn (const VRegister &vd, const VRegister &vn)
 
void mvni (const VRegister &vd, const int imm8, Shift shift=LSL, const int shift_amount=0)
 
void suqadd (const VRegister &vd, const VRegister &vn)
 
void usqadd (const VRegister &vd, const VRegister &vn)
 
void abs (const VRegister &vd, const VRegister &vn)
 
void sqabs (const VRegister &vd, const VRegister &vn)
 
void neg (const VRegister &vd, const VRegister &vn)
 
void sqneg (const VRegister &vd, const VRegister &vn)
 
void not_ (const VRegister &vd, const VRegister &vn)
 
void xtn (const VRegister &vd, const VRegister &vn)
 
void xtn2 (const VRegister &vd, const VRegister &vn)
 
void sqxtn (const VRegister &vd, const VRegister &vn)
 
void sqxtn2 (const VRegister &vd, const VRegister &vn)
 
void uqxtn (const VRegister &vd, const VRegister &vn)
 
void uqxtn2 (const VRegister &vd, const VRegister &vn)
 
void sqxtun (const VRegister &vd, const VRegister &vn)
 
void sqxtun2 (const VRegister &vd, const VRegister &vn)
 
void mov (const VRegister &vd, const VRegister &vn)
 
void orn (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void eor (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void orr (const Register &rd, const Register &rn, const Operand &operand)
 
void orr (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void orr (const VRegister &vd, const int imm8, const int left_shift=0)
 
void orn (const Register &rd, const Register &rn, const Operand &operand)
 
void eor (const Register &rd, const Register &rn, const Operand &operand)
 
void eon (const Register &rd, const Register &rn, const Operand &operand)
 
void lslv (const Register &rd, const Register &rn, const Register &rm)
 
void lsrv (const Register &rd, const Register &rn, const Register &rm)
 
void asrv (const Register &rd, const Register &rn, const Register &rm)
 
void rorv (const Register &rd, const Register &rn, const Register &rm)
 
void bfm (const Register &rd, const Register &rn, int immr, int imms)
 
void sbfm (const Register &rd, const Register &rn, int immr, int imms)
 
void ubfm (const Register &rd, const Register &rn, int immr, int imms)
 
void bfi (const Register &rd, const Register &rn, int lsb, int width)
 
void bfxil (const Register &rd, const Register &rn, int lsb, int width)
 
void asr (const Register &rd, const Register &rn, int shift)
 
void sbfiz (const Register &rd, const Register &rn, int lsb, int width)
 
void sbfx (const Register &rd, const Register &rn, int lsb, int width)
 
void sxtb (const Register &rd, const Register &rn)
 
void sxth (const Register &rd, const Register &rn)
 
void sxtw (const Register &rd, const Register &rn)
 
void lsl (const Register &rd, const Register &rn, int shift)
 
void lsr (const Register &rd, const Register &rn, int shift)
 
void ubfiz (const Register &rd, const Register &rn, int lsb, int width)
 
void ubfx (const Register &rd, const Register &rn, int lsb, int width)
 
void uxtb (const Register &rd, const Register &rn)
 
void uxth (const Register &rd, const Register &rn)
 
void uxtw (const Register &rd, const Register &rn)
 
void extr (const Register &rd, const Register &rn, const Register &rm, int lsb)
 
void csel (const Register &rd, const Register &rn, const Register &rm, Condition cond)
 
void csinc (const Register &rd, const Register &rn, const Register &rm, Condition cond)
 
void csinv (const Register &rd, const Register &rn, const Register &rm, Condition cond)
 
void csneg (const Register &rd, const Register &rn, const Register &rm, Condition cond)
 
void cset (const Register &rd, Condition cond)
 
void csetm (const Register &rd, Condition cond)
 
void cinc (const Register &rd, const Register &rn, Condition cond)
 
void cinv (const Register &rd, const Register &rn, Condition cond)
 
void cneg (const Register &rd, const Register &rn, Condition cond)
 
void ror (const Register &rd, const Register &rs, unsigned shift)
 
void ccmn (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond)
 
void ccmp (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond)
 
void mul (const Register &rd, const Register &rn, const Register &rm)
 
void madd (const Register &rd, const Register &rn, const Register &rm, const Register &ra)
 
void mneg (const Register &rd, const Register &rn, const Register &rm)
 
void msub (const Register &rd, const Register &rn, const Register &rm, const Register &ra)
 
void smull (const Register &rd, const Register &rn, const Register &rm)
 
void smulh (const Register &rd, const Register &rn, const Register &rm)
 
void umulh (const Register &rd, const Register &rn, const Register &rm)
 
void smaddl (const Register &rd, const Register &rn, const Register &rm, const Register &ra)
 
void umaddl (const Register &rd, const Register &rn, const Register &rm, const Register &ra)
 
void smsubl (const Register &rd, const Register &rn, const Register &rm, const Register &ra)
 
void umsubl (const Register &rd, const Register &rn, const Register &rm, const Register &ra)
 
void sdiv (const Register &rd, const Register &rn, const Register &rm)
 
void udiv (const Register &rd, const Register &rn, const Register &rm)
 
void rbit (const Register &rd, const Register &rn)
 
void rev16 (const Register &rd, const Register &rn)
 
void rev32 (const Register &rd, const Register &rn)
 
void rev (const Register &rd, const Register &rn)
 
void clz (const Register &rd, const Register &rn)
 
void cls (const Register &rd, const Register &rn)
 
void pacib1716 ()
 
void pacibsp ()
 
void autib1716 ()
 
void autibsp ()
 
void ldr (const CPURegister &rt, const MemOperand &src)
 
void str (const CPURegister &rt, const MemOperand &dst)
 
void ldrsw (const Register &rt, const MemOperand &src)
 
void ldrb (const Register &rt, const MemOperand &src)
 
void strb (const Register &rt, const MemOperand &dst)
 
void ldrsb (const Register &rt, const MemOperand &src)
 
void ldrh (const Register &rt, const MemOperand &src)
 
void strh (const Register &rt, const MemOperand &dst)
 
void ldrsh (const Register &rt, const MemOperand &src)
 
void ldp (const CPURegister &rt, const CPURegister &rt2, const MemOperand &src)
 
void stp (const CPURegister &rt, const CPURegister &rt2, const MemOperand &dst)
 
void ldpsw (const Register &rt, const Register &rt2, const MemOperand &src)
 
void ldr_pcrel (const CPURegister &rt, int imm19)
 
void ldr (const CPURegister &rt, const Immediate &imm)
 
void ldr (const CPURegister &rt, const Operand &operand)
 
void ldar (const Register &rt, const Register &rn)
 
void ldaxr (const Register &rt, const Register &rn)
 
void stlr (const Register &rt, const Register &rn)
 
void stlxr (const Register &rs, const Register &rt, const Register &rn)
 
void ldarb (const Register &rt, const Register &rn)
 
void ldaxrb (const Register &rt, const Register &rn)
 
void stlrb (const Register &rt, const Register &rn)
 
void stlxrb (const Register &rs, const Register &rt, const Register &rn)
 
void ldarh (const Register &rt, const Register &rn)
 
void ldaxrh (const Register &rt, const Register &rn)
 
void stlrh (const Register &rt, const Register &rn)
 
void stlxrh (const Register &rs, const Register &rt, const Register &rn)
 
void cas (const Register &rs, const Register &rt, const MemOperand &src)
 
void casa (const Register &rs, const Register &rt, const MemOperand &src)
 
void casl (const Register &rs, const Register &rt, const MemOperand &src)
 
void casal (const Register &rs, const Register &rt, const MemOperand &src)
 
void casb (const Register &rs, const Register &rt, const MemOperand &src)
 
void casab (const Register &rs, const Register &rt, const MemOperand &src)
 
void caslb (const Register &rs, const Register &rt, const MemOperand &src)
 
void casalb (const Register &rs, const Register &rt, const MemOperand &src)
 
void cash (const Register &rs, const Register &rt, const MemOperand &src)
 
void casah (const Register &rs, const Register &rt, const MemOperand &src)
 
void caslh (const Register &rs, const Register &rt, const MemOperand &src)
 
void casalh (const Register &rs, const Register &rt, const MemOperand &src)
 
void casp (const Register &rs, const Register &rs2, const Register &rt, const Register &rt2, const MemOperand &src)
 
void caspa (const Register &rs, const Register &rs2, const Register &rt, const Register &rt2, const MemOperand &src)
 
void caspl (const Register &rs, const Register &rs2, const Register &rt, const Register &rt2, const MemOperand &src)
 
void caspal (const Register &rs, const Register &rs2, const Register &rt, const Register &rt2, const MemOperand &src)
 
void ldaddb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddab (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddlb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddalb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddah (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddlh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddalh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldadd (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldadda (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddl (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldaddal (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclrb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclrab (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclrlb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclralb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclrh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclrah (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclrlh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclralh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclr (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclra (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclrl (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldclral (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeorb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeorab (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeorlb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeoralb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeorh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeorah (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeorlh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeoralh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeor (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeora (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeorl (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldeoral (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetab (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetlb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetalb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldseth (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetah (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetlh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetalh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldset (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldseta (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetl (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsetal (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxab (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxlb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxalb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxah (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxlh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxalh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmax (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxa (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxl (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmaxal (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminab (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminlb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminalb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminah (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminlh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminalh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmin (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsmina (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminl (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldsminal (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxab (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxlb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxalb (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxah (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxlh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxalh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumax (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxa (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxl (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumaxal (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminb (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminab (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminlb (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminalb (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminh (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminah (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminlh (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminalh (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumin (const Register &rs, const Register &rt, const MemOperand &src)
 
void ldumina (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminl (const Register &rs, const Register &rt, const MemOperand &src)
 
void lduminal (const Register &rs, const Register &rt, const MemOperand &src)
 
void staddb (const Register &rs, const MemOperand &src)
 
void staddlb (const Register &rs, const MemOperand &src)
 
void staddh (const Register &rs, const MemOperand &src)
 
void staddlh (const Register &rs, const MemOperand &src)
 
void stadd (const Register &rs, const MemOperand &src)
 
void staddl (const Register &rs, const MemOperand &src)
 
void stclrb (const Register &rs, const MemOperand &src)
 
void stclrlb (const Register &rs, const MemOperand &src)
 
void stclrh (const Register &rs, const MemOperand &src)
 
void stclrlh (const Register &rs, const MemOperand &src)
 
void stclr (const Register &rs, const MemOperand &src)
 
void stclrl (const Register &rs, const MemOperand &src)
 
void steorb (const Register &rs, const MemOperand &src)
 
void steorlb (const Register &rs, const MemOperand &src)
 
void steorh (const Register &rs, const MemOperand &src)
 
void steorlh (const Register &rs, const MemOperand &src)
 
void steor (const Register &rs, const MemOperand &src)
 
void steorl (const Register &rs, const MemOperand &src)
 
void stsetb (const Register &rs, const MemOperand &src)
 
void stsetlb (const Register &rs, const MemOperand &src)
 
void stseth (const Register &rs, const MemOperand &src)
 
void stsetlh (const Register &rs, const MemOperand &src)
 
void stset (const Register &rs, const MemOperand &src)
 
void stsetl (const Register &rs, const MemOperand &src)
 
void stsmaxb (const Register &rs, const MemOperand &src)
 
void stsmaxlb (const Register &rs, const MemOperand &src)
 
void stsmaxh (const Register &rs, const MemOperand &src)
 
void stsmaxlh (const Register &rs, const MemOperand &src)
 
void stsmax (const Register &rs, const MemOperand &src)
 
void stsmaxl (const Register &rs, const MemOperand &src)
 
void stsminb (const Register &rs, const MemOperand &src)
 
void stsminlb (const Register &rs, const MemOperand &src)
 
void stsminh (const Register &rs, const MemOperand &src)
 
void stsminlh (const Register &rs, const MemOperand &src)
 
void stsmin (const Register &rs, const MemOperand &src)
 
void stsminl (const Register &rs, const MemOperand &src)
 
void stumaxb (const Register &rs, const MemOperand &src)
 
void stumaxlb (const Register &rs, const MemOperand &src)
 
void stumaxh (const Register &rs, const MemOperand &src)
 
void stumaxlh (const Register &rs, const MemOperand &src)
 
void stumax (const Register &rs, const MemOperand &src)
 
void stumaxl (const Register &rs, const MemOperand &src)
 
void stuminb (const Register &rs, const MemOperand &src)
 
void stuminlb (const Register &rs, const MemOperand &src)
 
void stuminh (const Register &rs, const MemOperand &src)
 
void stuminlh (const Register &rs, const MemOperand &src)
 
void stumin (const Register &rs, const MemOperand &src)
 
void stuminl (const Register &rs, const MemOperand &src)
 
void swpb (const Register &rs, const Register &rt, const MemOperand &src)
 
void swpab (const Register &rs, const Register &rt, const MemOperand &src)
 
void swplb (const Register &rs, const Register &rt, const MemOperand &src)
 
void swpalb (const Register &rs, const Register &rt, const MemOperand &src)
 
void swph (const Register &rs, const Register &rt, const MemOperand &src)
 
void swpah (const Register &rs, const Register &rt, const MemOperand &src)
 
void swplh (const Register &rs, const Register &rt, const MemOperand &src)
 
void swpalh (const Register &rs, const Register &rt, const MemOperand &src)
 
void swp (const Register &rs, const Register &rt, const MemOperand &src)
 
void swpa (const Register &rs, const Register &rt, const MemOperand &src)
 
void swpl (const Register &rs, const Register &rt, const MemOperand &src)
 
void swpal (const Register &rs, const Register &rt, const MemOperand &src)
 
void movk (const Register &rd, uint64_t imm, int shift=-1)
 
void movn (const Register &rd, uint64_t imm, int shift=-1)
 
void movz (const Register &rd, uint64_t imm, int shift=-1)
 
void brk (int code)
 
void hlt (int code)
 
void mov (const Register &rd, const Register &rn)
 
void mvn (const Register &rd, const Operand &operand)
 
void mrs (const Register &rt, SystemRegister sysreg)
 
void msr (SystemRegister sysreg, const Register &rt)
 
void hint (SystemHint code)
 
void dmb (BarrierDomain domain, BarrierType type)
 
void dsb (BarrierDomain domain, BarrierType type)
 
void isb ()
 
void csdb ()
 
void bti (BranchTargetIdentifier id)
 
void nop ()
 
void nop (NopMarkerTypes n)
 
void add (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uhadd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sub (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void shadd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void mul (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void mla (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void mls (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void smlal (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void smlal2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void umlal (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void umlal2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void smlsl (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void smlsl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void umlsl (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void umlsl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void smull (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void smull2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void umull (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void umull2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void addhn (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void addhn2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmull (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void sqdmull2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void sqdmlal (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void sqdmlal2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void sqdmlsl (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void sqdmlsl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void cmeq (const VRegister &vd, const VRegister &vn, int value)
 
void cmge (const VRegister &vd, const VRegister &vn, int value)
 
void cmgt (const VRegister &vd, const VRegister &vn, int value)
 
void cmle (const VRegister &vd, const VRegister &vn, int value)
 
void cmlt (const VRegister &vd, const VRegister &vn, int value)
 
void urhadd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void cmeq (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void cmge (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void cmgt (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void cmhi (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void cmhs (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void cmtst (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sshl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void ushl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmlsl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmlsl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmull (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmull2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmulh (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqrdmulh (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmulh (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void sqrdmulh (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void umull (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void umull2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void raddhn (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void subhn (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void subhn2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void raddhn2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void rsubhn (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void rsubhn2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqshl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uqshl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void srshl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void urshl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqrshl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uqrshl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sabd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uaba (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sli (const VRegister &vd, const VRegister &vn, int shift)
 
void sri (const VRegister &vd, const VRegister &vn, int shift)
 
void smax (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void smaxp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void addv (const VRegister &vd, const VRegister &vn)
 
void saddlv (const VRegister &vd, const VRegister &vn)
 
void uaddlv (const VRegister &vd, const VRegister &vn)
 
void fmaxnmv (const VRegister &vd, const VRegister &vn)
 
void fmaxv (const VRegister &vd, const VRegister &vn)
 
void fminnmv (const VRegister &vd, const VRegister &vn)
 
void fminv (const VRegister &vd, const VRegister &vn)
 
void smaxv (const VRegister &vd, const VRegister &vn)
 
void smin (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sminp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sminv (const VRegister &vd, const VRegister &vn)
 
void sdot (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void st1 (const VRegister &vt, const MemOperand &src)
 
void st1 (const VRegister &vt, const VRegister &vt2, const MemOperand &src)
 
void st1 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const MemOperand &src)
 
void st1 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, const MemOperand &src)
 
void st1 (const VRegister &vt, int lane, const MemOperand &src)
 
void st2 (const VRegister &vt, const VRegister &vt2, const MemOperand &src)
 
void st2 (const VRegister &vt, const VRegister &vt2, int lane, const MemOperand &src)
 
void st3 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const MemOperand &src)
 
void st3 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, int lane, const MemOperand &src)
 
void st4 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, const MemOperand &src)
 
void st4 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, int lane, const MemOperand &src)
 
void uaddl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uaddl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uaddw (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uaddw2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void saddl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void saddl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void saddw (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void saddw2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void usubl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void usubl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void usubw (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void ssubl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void ssubl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void ssubw (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void ssubw2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void usubw2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void umax (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void umaxp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void umaxv (const VRegister &vd, const VRegister &vn)
 
void umin (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uminp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uminv (const VRegister &vd, const VRegister &vn)
 
void trn1 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void trn2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uzp1 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uzp2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void zip1 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void zip2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sshr (const VRegister &vd, const VRegister &vn, int shift)
 
void ushr (const VRegister &vd, const VRegister &vn, int shift)
 
void srshr (const VRegister &vd, const VRegister &vn, int shift)
 
void urshr (const VRegister &vd, const VRegister &vn, int shift)
 
void ssra (const VRegister &vd, const VRegister &vn, int shift)
 
void usra (const VRegister &vd, const VRegister &vn, int shift)
 
void srsra (const VRegister &vd, const VRegister &vn, int shift)
 
void ursra (const VRegister &vd, const VRegister &vn, int shift)
 
void shrn (const VRegister &vd, const VRegister &vn, int shift)
 
void shrn2 (const VRegister &vd, const VRegister &vn, int shift)
 
void rshrn (const VRegister &vd, const VRegister &vn, int shift)
 
void rshrn2 (const VRegister &vd, const VRegister &vn, int shift)
 
void uqshrn (const VRegister &vd, const VRegister &vn, int shift)
 
void uqshrn2 (const VRegister &vd, const VRegister &vn, int shift)
 
void uqrshrn (const VRegister &vd, const VRegister &vn, int shift)
 
void uqrshrn2 (const VRegister &vd, const VRegister &vn, int shift)
 
void sqshrn (const VRegister &vd, const VRegister &vn, int shift)
 
void sqshrn2 (const VRegister &vd, const VRegister &vn, int shift)
 
void sqrshrn (const VRegister &vd, const VRegister &vn, int shift)
 
void sqrshrn2 (const VRegister &vd, const VRegister &vn, int shift)
 
void sqshrun (const VRegister &vd, const VRegister &vn, int shift)
 
void sqshrun2 (const VRegister &vd, const VRegister &vn, int shift)
 
void sqrshrun (const VRegister &vd, const VRegister &vn, int shift)
 
void sqrshrun2 (const VRegister &vd, const VRegister &vn, int shift)
 
void frecps (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void frecpe (const VRegister &vd, const VRegister &vn)
 
void frsqrte (const VRegister &vd, const VRegister &vn)
 
void frsqrts (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sabal (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sabal2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uabal (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uabal2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sabdl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sabdl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uabdl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uabdl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void pmull (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void pmull2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void smlal (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void smlal2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void umlal (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void umlal2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void smlsl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void smlsl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void umlsl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void umlsl2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void smull (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void smull2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmlal (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqdmlal2 (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uabd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void saba (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmov (const VRegister &fd, double imm)
 
void fmov (const VRegister &fd, float imm)
 
void fmov (const Register &rd, const VRegister &fn)
 
void fmov (const VRegister &fd, const Register &rn)
 
void fmov (const VRegister &fd, const VRegister &fn)
 
void fmov (const VRegister &vd, int index, const Register &rn)
 
void fmov (const Register &rd, const VRegister &vn, int index)
 
void fadd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fsub (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmul (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fcmeq (const VRegister &vd, const VRegister &vn, double imm)
 
void fcmgt (const VRegister &vd, const VRegister &vn, double imm)
 
void fcmge (const VRegister &vd, const VRegister &vn, double imm)
 
void fcmle (const VRegister &vd, const VRegister &vn, double imm)
 
void fcmlt (const VRegister &vd, const VRegister &vn, double imm)
 
void fabd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void faddp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void faddp (const VRegister &vd, const VRegister &vn)
 
void fmaxp (const VRegister &vd, const VRegister &vn)
 
void fmaxnmp (const VRegister &vd, const VRegister &vn)
 
void fminnmp (const VRegister &vd, const VRegister &vn)
 
void fmla (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmls (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmulx (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void facge (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void facgt (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmul (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void fmla (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void fmls (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void fmulx (const VRegister &vd, const VRegister &vn, const VRegister &vm, int vm_index)
 
void fcmeq (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fcmgt (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fcmge (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmaxp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fminp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fminp (const VRegister &vd, const VRegister &vn)
 
void fmaxnmp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fminnmp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmadd (const VRegister &vd, const VRegister &vn, const VRegister &vm, const VRegister &va)
 
void fmsub (const VRegister &vd, const VRegister &vn, const VRegister &vm, const VRegister &va)
 
void fnmadd (const VRegister &vd, const VRegister &vn, const VRegister &vm, const VRegister &va)
 
void fnmsub (const VRegister &vd, const VRegister &vn, const VRegister &vm, const VRegister &va)
 
void fnmul (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void frecpx (const VRegister &vd, const VRegister &vn)
 
void fdiv (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmax (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmin (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fmaxnm (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fminnm (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void fabs (const VRegister &vd, const VRegister &vn)
 
void fneg (const VRegister &vd, const VRegister &vn)
 
void fsqrt (const VRegister &vd, const VRegister &vn)
 
void frinta (const VRegister &vd, const VRegister &vn)
 
void frinti (const VRegister &vd, const VRegister &vn)
 
void frintm (const VRegister &vd, const VRegister &vn)
 
void frintn (const VRegister &vd, const VRegister &vn)
 
void frintp (const VRegister &vd, const VRegister &vn)
 
void frintx (const VRegister &vd, const VRegister &vn)
 
void frintz (const VRegister &vd, const VRegister &vn)
 
void fcmp (const VRegister &vn, const VRegister &vm)
 
void fcmp (const VRegister &vn, double value)
 
void fccmp (const VRegister &vn, const VRegister &vm, StatusFlags nzcv, Condition cond)
 
void fcsel (const VRegister &vd, const VRegister &vn, const VRegister &vm, Condition cond)
 
void NEONFPConvertToInt (const Register &rd, const VRegister &vn, Instr op)
 
void NEONFPConvertToInt (const VRegister &vd, const VRegister &vn, Instr op)
 
void fcvt (const VRegister &vd, const VRegister &vn)
 
void fcvtl (const VRegister &vd, const VRegister &vn)
 
void fcvtl2 (const VRegister &vd, const VRegister &vn)
 
void fcvtn (const VRegister &vd, const VRegister &vn)
 
void fcvtn2 (const VRegister &vd, const VRegister &vn)
 
void fcvtxn (const VRegister &vd, const VRegister &vn)
 
void fcvtxn2 (const VRegister &vd, const VRegister &vn)
 
void fcvtas (const Register &rd, const VRegister &vn)
 
void fcvtau (const Register &rd, const VRegister &vn)
 
void fcvtas (const VRegister &vd, const VRegister &vn)
 
void fcvtau (const VRegister &vd, const VRegister &vn)
 
void fcvtms (const Register &rd, const VRegister &vn)
 
void fcvtmu (const Register &rd, const VRegister &vn)
 
void fcvtms (const VRegister &vd, const VRegister &vn)
 
void fcvtmu (const VRegister &vd, const VRegister &vn)
 
void fcvtns (const Register &rd, const VRegister &vn)
 
void fjcvtzs (const Register &rd, const VRegister &vn)
 
void fcvtnu (const Register &rd, const VRegister &vn)
 
void fcvtns (const VRegister &rd, const VRegister &vn)
 
void fcvtnu (const VRegister &rd, const VRegister &vn)
 
void fcvtzs (const Register &rd, const VRegister &vn, int fbits=0)
 
void fcvtzu (const Register &rd, const VRegister &vn, int fbits=0)
 
void fcvtzs (const VRegister &vd, const VRegister &vn, int fbits=0)
 
void fcvtzu (const VRegister &vd, const VRegister &vn, int fbits=0)
 
void fcvtps (const Register &rd, const VRegister &vn)
 
void fcvtpu (const Register &rd, const VRegister &vn)
 
void fcvtps (const VRegister &vd, const VRegister &vn)
 
void fcvtpu (const VRegister &vd, const VRegister &vn)
 
void scvtf (const VRegister &fd, const Register &rn, int fbits=0)
 
void ucvtf (const VRegister &fd, const Register &rn, int fbits=0)
 
void scvtf (const VRegister &fd, const VRegister &vn, int fbits=0)
 
void ucvtf (const VRegister &fd, const VRegister &vn, int fbits=0)
 
void ext (const VRegister &vd, const VRegister &vn, const VRegister &vm, int index)
 
void dup (const VRegister &vd, const VRegister &vn, int vn_index)
 
void dup (const VRegister &vd, const Register &rn)
 
void ins (const VRegister &vd, int vd_index, const Register &rn)
 
void mov (const VRegister &vd, int vd_index, const Register &rn)
 
void umov (const Register &rd, const VRegister &vn, int vn_index)
 
void mov (const Register &rd, const VRegister &vn, int vn_index)
 
void mov (const VRegister &vd, const VRegister &vn, int vn_index)
 
void ins (const VRegister &vd, int vd_index, const VRegister &vn, int vn_index)
 
void mov (const VRegister &vd, int vd_index, const VRegister &vn, int vn_index)
 
void smov (const Register &rd, const VRegister &vn, int vn_index)
 
void ld1 (const VRegister &vt, const MemOperand &src)
 
void ld1 (const VRegister &vt, const VRegister &vt2, const MemOperand &src)
 
void ld1 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const MemOperand &src)
 
void ld1 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, const MemOperand &src)
 
void ld1 (const VRegister &vt, int lane, const MemOperand &src)
 
void ld1r (const VRegister &vt, const MemOperand &src)
 
void ld2 (const VRegister &vt, const VRegister &vt2, const MemOperand &src)
 
void ld2 (const VRegister &vt, const VRegister &vt2, int lane, const MemOperand &src)
 
void ld2r (const VRegister &vt, const VRegister &vt2, const MemOperand &src)
 
void ld3 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const MemOperand &src)
 
void ld3 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, int lane, const MemOperand &src)
 
void ld3r (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const MemOperand &src)
 
void ld4 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, const MemOperand &src)
 
void ld4 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, int lane, const MemOperand &src)
 
void ld4r (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, const MemOperand &src)
 
void cls (const VRegister &vd, const VRegister &vn)
 
void clz (const VRegister &vd, const VRegister &vn)
 
void cnt (const VRegister &vd, const VRegister &vn)
 
void rbit (const VRegister &vd, const VRegister &vn)
 
void rev16 (const VRegister &vd, const VRegister &vn)
 
void rev32 (const VRegister &vd, const VRegister &vn)
 
void rev64 (const VRegister &vd, const VRegister &vn)
 
void ursqrte (const VRegister &vd, const VRegister &vn)
 
void urecpe (const VRegister &vd, const VRegister &vn)
 
void sadalp (const VRegister &vd, const VRegister &vn)
 
void saddlp (const VRegister &vd, const VRegister &vn)
 
void uaddlp (const VRegister &vd, const VRegister &vn)
 
void uadalp (const VRegister &vd, const VRegister &vn)
 
void shl (const VRegister &vd, const VRegister &vn, int shift)
 
void sqshl (const VRegister &vd, const VRegister &vn, int shift)
 
void sqshlu (const VRegister &vd, const VRegister &vn, int shift)
 
void uqshl (const VRegister &vd, const VRegister &vn, int shift)
 
void sshll (const VRegister &vd, const VRegister &vn, int shift)
 
void sshll2 (const VRegister &vd, const VRegister &vn, int shift)
 
void sxtl (const VRegister &vd, const VRegister &vn)
 
void sxtl2 (const VRegister &vd, const VRegister &vn)
 
void ushll (const VRegister &vd, const VRegister &vn, int shift)
 
void ushll2 (const VRegister &vd, const VRegister &vn, int shift)
 
void shll (const VRegister &vd, const VRegister &vn, int shift)
 
void shll2 (const VRegister &vd, const VRegister &vn, int shift)
 
void uxtl (const VRegister &vd, const VRegister &vn)
 
void uxtl2 (const VRegister &vd, const VRegister &vn)
 
void srhadd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uhsub (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void shsub (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uqadd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqadd (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void uqsub (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void sqsub (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void addp (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void addp (const VRegister &vd, const VRegister &vn)
 
void mla (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void mls (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void mul (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void tbl (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void tbl (const VRegister &vd, const VRegister &vn, const VRegister &vn2, const VRegister &vm)
 
void tbl (const VRegister &vd, const VRegister &vn, const VRegister &vn2, const VRegister &vn3, const VRegister &vm)
 
void tbl (const VRegister &vd, const VRegister &vn, const VRegister &vn2, const VRegister &vn3, const VRegister &vn4, const VRegister &vm)
 
void tbx (const VRegister &vd, const VRegister &vn, const VRegister &vm)
 
void tbx (const VRegister &vd, const VRegister &vn, const VRegister &vn2, const VRegister &vm)
 
void tbx (const VRegister &vd, const VRegister &vn, const VRegister &vn2, const VRegister &vn3, const VRegister &vm)
 
void tbx (const VRegister &vd, const VRegister &vn, const VRegister &vn2, const VRegister &vn3, const VRegister &vn4, const VRegister &vm)
 
void dci (Instr raw_inst)
 
void dc8 (uint8_t data)
 
void dc32 (uint32_t data)
 
void dc64 (uint64_t data)
 
void dcptr (Label *label)
 
void bcax (const VRegister &vd, const VRegister &vn, const VRegister &vm, const VRegister &va)
 
void eor3 (const VRegister &vd, const VRegister &vn, const VRegister &vm, const VRegister &va)
 
void EmitStringData (const char *string)
 
void debug (const char *message, uint32_t code, Instr params=BREAK)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
Instructionpc () const
 
InstructionInstructionAt (ptrdiff_t offset) const
 
ptrdiff_t InstructionOffset (Instruction *instr) const
 
void MaybeEmitOutOfLineConstantPool ()
 
void ForceConstantPoolEmissionWithoutJump ()
 
void ForceConstantPoolEmissionWithJump ()
 
void EmitConstPoolWithJumpIfNeeded (size_t margin=0)
 
intptr_t MaxPCOffsetAfterVeneerPoolIfEmittedNow (size_t margin)
 
bool ShouldEmitVeneer (int max_reachable_pc, size_t margin)
 
bool ShouldEmitVeneers (size_t margin=kVeneerDistanceMargin)
 
void RecordVeneerPool (int location_offset, int size)
 
void EmitVeneers (bool force_emit, bool need_protection, size_t margin=kVeneerDistanceMargin)
 
void EmitVeneersGuard ()
 
void CheckVeneerPool (bool force_emit, bool require_jump, size_t margin=kVeneerDistanceMargin)
 
 Assembler (const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer > buffer={})
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilder *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void FinalizeJumpOptimizationInfo ()
 
void MaybeEmitOutOfLineConstantPool ()
 
void Align (int m)
 
void DataAlign (int m)
 
void Nop (int bytes=1)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void pushad ()
 
void popad ()
 
void pushfd ()
 
void popfd ()
 
void push (const Immediate &x)
 
void push_imm32 (int32_t imm32)
 
void push (Register src)
 
void push (Operand src)
 
void pop (Register dst)
 
void pop (Operand dst)
 
void leave ()
 
void mov_b (Register dst, Register src)
 
void mov_b (Register dst, Operand src)
 
void mov_b (Register dst, int8_t imm8)
 
void mov_b (Operand dst, int8_t src)
 
void mov_b (Operand dst, const Immediate &src)
 
void mov_b (Operand dst, Register src)
 
void mov_w (Register dst, Operand src)
 
void mov_w (Operand dst, int16_t src)
 
void mov_w (Operand dst, const Immediate &src)
 
void mov_w (Operand dst, Register src)
 
void mov (Register dst, int32_t imm32)
 
void mov (Register dst, const Immediate &x)
 
void mov (Register dst, Handle< HeapObject > handle)
 
void mov (Register dst, Operand src)
 
void mov (Register dst, Register src)
 
void mov (Operand dst, const Immediate &x)
 
void mov (Operand dst, Handle< HeapObject > handle)
 
void mov (Operand dst, Register src)
 
void mov (Operand dst, Address src, RelocInfo::Mode)
 
void movsx_b (Register dst, Register src)
 
void movsx_b (Register dst, Operand src)
 
void movsx_w (Register dst, Register src)
 
void movsx_w (Register dst, Operand src)
 
void movzx_b (Register dst, Register src)
 
void movzx_b (Register dst, Operand src)
 
void movzx_w (Register dst, Register src)
 
void movzx_w (Register dst, Operand src)
 
void movq (XMMRegister dst, Operand src)
 
void movq (Operand dst, XMMRegister src)
 
void cmov (Condition cc, Register dst, Register src)
 
void cmov (Condition cc, Register dst, Operand src)
 
void cld ()
 
void rep_movs ()
 
void rep_stos ()
 
void stos ()
 
void xadd (Operand dst, Register src)
 
void xadd_b (Operand dst, Register src)
 
void xadd_w (Operand dst, Register src)
 
void xchg (Register dst, Register src)
 
void xchg (Register dst, Operand src)
 
void xchg_b (Register reg, Operand op)
 
void xchg_w (Register reg, Operand op)
 
void lock ()
 
void cmpxchg (Operand dst, Register src)
 
void cmpxchg_b (Operand dst, Register src)
 
void cmpxchg_w (Operand dst, Register src)
 
void cmpxchg8b (Operand dst)
 
void mfence ()
 
void lfence ()
 
void pause ()
 
void adc (Register dst, int32_t imm32)
 
void adc (Register dst, Register src)
 
void adc (Register dst, Operand src)
 
void add (Register dst, Register src)
 
void add (Register dst, Operand src)
 
void add (Operand dst, Register src)
 
void add (Register dst, const Immediate &imm)
 
void add (Operand dst, const Immediate &x)
 
void and_ (Register dst, int32_t imm32)
 
void and_ (Register dst, const Immediate &x)
 
void and_ (Register dst, Register src)
 
void and_ (Register dst, Operand src)
 
void and_ (Operand dst, Register src)
 
void and_ (Operand dst, const Immediate &x)
 
void cmpb (Register reg, Immediate imm8)
 
void cmpb (Operand op, Immediate imm8)
 
void cmpb (Register reg, Operand op)
 
void cmpb (Operand op, Register reg)
 
void cmpb (Register dst, Register src)
 
void cmpb_al (Operand op)
 
void cmpw_ax (Operand op)
 
void cmpw (Operand dst, Immediate src)
 
void cmpw (Register dst, Immediate src)
 
void cmpw (Register dst, Operand src)
 
void cmpw (Register dst, Register src)
 
void cmpw (Operand dst, Register src)
 
void cmp (Register reg, int32_t imm32)
 
void cmp (Register reg, Handle< HeapObject > handle)
 
void cmp (Register reg0, Register reg1)
 
void cmp (Register reg, Operand op)
 
void cmp (Register reg, const Immediate &imm)
 
void cmp (Operand op, Register reg)
 
void cmp (Operand op, const Immediate &imm)
 
void cmp (Operand op, Handle< HeapObject > handle)
 
void dec_b (Register dst)
 
void dec_b (Operand dst)
 
void dec (Register dst)
 
void dec (Operand dst)
 
void cdq ()
 
void idiv (Register src)
 
void idiv (Operand src)
 
void div (Register src)
 
void div (Operand src)
 
void imul (Register src)
 
void imul (Register dst, Register src)
 
void imul (Register dst, Operand src)
 
void imul (Register dst, Register src, int32_t imm32)
 
void imul (Register dst, Operand src, int32_t imm32)
 
void inc (Register dst)
 
void inc (Operand dst)
 
void lea (Register dst, Operand src)
 
void lea (Register dst, Register src, Label *lbl)
 
void mul (Register src)
 
void neg (Register dst)
 
void neg (Operand dst)
 
void not_ (Register dst)
 
void not_ (Operand dst)
 
void or_ (Register dst, int32_t imm32)
 
void or_ (Register dst, Register src)
 
void or_ (Register dst, Operand src)
 
void or_ (Operand dst, Register src)
 
void or_ (Register dst, const Immediate &imm)
 
void or_ (Operand dst, const Immediate &x)
 
void rcl (Register dst, uint8_t imm8)
 
void rcr (Register dst, uint8_t imm8)
 
void rol (Register dst, uint8_t imm8)
 
void rol (Operand dst, uint8_t imm8)
 
void rol_cl (Register dst)
 
void rol_cl (Operand dst)
 
void ror (Register dst, uint8_t imm8)
 
void ror (Operand dst, uint8_t imm8)
 
void ror_cl (Register dst)
 
void ror_cl (Operand dst)
 
void sar (Register dst, uint8_t imm8)
 
void sar (Operand dst, uint8_t imm8)
 
void sar_cl (Register dst)
 
void sar_cl (Operand dst)
 
void sbb (Register dst, Register src)
 
void sbb (Register dst, Operand src)
 
void shl (Register dst, uint8_t imm8)
 
void shl (Operand dst, uint8_t imm8)
 
void shl_cl (Register dst)
 
void shl_cl (Operand dst)
 
void shld (Register dst, Register src, uint8_t shift)
 
void shld_cl (Register dst, Register src)
 
void shr (Register dst, uint8_t imm8)
 
void shr (Operand dst, uint8_t imm8)
 
void shr_cl (Register dst)
 
void shr_cl (Operand dst)
 
void shrd (Register dst, Register src, uint8_t shift)
 
void shrd_cl (Register dst, Register src)
 
void shrd_cl (Operand dst, Register src)
 
void sub (Register dst, const Immediate &imm)
 
void sub (Operand dst, const Immediate &x)
 
void sub (Register dst, Register src)
 
void sub (Register dst, Operand src)
 
void sub (Operand dst, Register src)
 
void sub_sp_32 (uint32_t imm)
 
void test (Register reg, const Immediate &imm)
 
void test (Register reg0, Register reg1)
 
void test (Register reg, Operand op)
 
void test (Operand op, const Immediate &imm)
 
void test (Operand op, Register reg)
 
void test_b (Register reg, Operand op)
 
void test_b (Register reg, Immediate imm8)
 
void test_b (Operand op, Immediate imm8)
 
void test_b (Operand op, Register reg)
 
void test_b (Register dst, Register src)
 
void test_w (Register reg, Operand op)
 
void test_w (Register reg, Immediate imm16)
 
void test_w (Operand op, Immediate imm16)
 
void test_w (Operand op, Register reg)
 
void test_w (Register dst, Register src)
 
void xor_ (Register dst, int32_t imm32)
 
void xor_ (Register dst, Register src)
 
void xor_ (Register dst, Operand src)
 
void xor_ (Operand dst, Register src)
 
void xor_ (Register dst, const Immediate &imm)
 
void xor_ (Operand dst, const Immediate &x)
 
void bswap (Register dst)
 
void bt (Operand dst, Register src)
 
void bts (Register dst, Register src)
 
void bts (Operand dst, Register src)
 
void bsr (Register dst, Register src)
 
void bsr (Register dst, Operand src)
 
void bsf (Register dst, Register src)
 
void bsf (Register dst, Operand src)
 
void hlt ()
 
void int3 ()
 
void nop ()
 
void ret (int imm16)
 
void ud2 ()
 
void bind (Label *L)
 
void call (Label *L)
 
void call (Address entry, RelocInfo::Mode rmode)
 
void call (Register reg)
 
void call (Operand adr)
 
void call (Handle< Code > code, RelocInfo::Mode rmode)
 
void wasm_call (Address address, RelocInfo::Mode rmode)
 
void jmp (Label *L, Label::Distance distance=Label::kFar)
 
void jmp (Address entry, RelocInfo::Mode rmode)
 
void jmp (Register reg)
 
void jmp (Operand adr)
 
void jmp (Handle< Code > code, RelocInfo::Mode rmode)
 
void jmp_rel (int offset)
 
void j (Condition cc, Label *L, Label::Distance distance=Label::kFar)
 
void j (Condition cc, uint8_t *entry, RelocInfo::Mode rmode)
 
void j (Condition cc, Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET)
 
void fld (int i)
 
void fstp (int i)
 
void fld1 ()
 
void fldz ()
 
void fldpi ()
 
void fldln2 ()
 
void fld_s (Operand adr)
 
void fld_d (Operand adr)
 
void fstp_s (Operand adr)
 
void fst_s (Operand adr)
 
void fstp_d (Operand adr)
 
void fst_d (Operand adr)
 
void fild_s (Operand adr)
 
void fild_d (Operand adr)
 
void fist_s (Operand adr)
 
void fistp_s (Operand adr)
 
void fistp_d (Operand adr)
 
void fisttp_s (Operand adr)
 
void fisttp_d (Operand adr)
 
void fabs ()
 
void fchs ()
 
void fcos ()
 
void fsin ()
 
void fptan ()
 
void fyl2x ()
 
void f2xm1 ()
 
void fscale ()
 
void fninit ()
 
void fadd (int i)
 
void fadd_i (int i)
 
void fsub (int i)
 
void fsub_i (int i)
 
void fmul (int i)
 
void fmul_i (int i)
 
void fdiv (int i)
 
void fdiv_i (int i)
 
void fisub_s (Operand adr)
 
void faddp (int i=1)
 
void fsubp (int i=1)
 
void fsubrp (int i=1)
 
void fmulp (int i=1)
 
void fdivp (int i=1)
 
void fprem ()
 
void fprem1 ()
 
void fxch (int i=1)
 
void fincstp ()
 
void ffree (int i=0)
 
void ftst ()
 
void fucomp (int i)
 
void fucompp ()
 
void fucomi (int i)
 
void fucomip ()
 
void fcompp ()
 
void fnstsw_ax ()
 
void fwait ()
 
void fnclex ()
 
void frndint ()
 
void sahf ()
 
void setcc (Condition cc, Register reg)
 
void cpuid ()
 
void addss (XMMRegister dst, XMMRegister src)
 
void addss (XMMRegister dst, Operand src)
 
void subss (XMMRegister dst, XMMRegister src)
 
void subss (XMMRegister dst, Operand src)
 
void mulss (XMMRegister dst, XMMRegister src)
 
void mulss (XMMRegister dst, Operand src)
 
void divss (XMMRegister dst, XMMRegister src)
 
void divss (XMMRegister dst, Operand src)
 
void sqrtss (XMMRegister dst, XMMRegister src)
 
void sqrtss (XMMRegister dst, Operand src)
 
void ucomiss (XMMRegister dst, XMMRegister src)
 
void ucomiss (XMMRegister dst, Operand src)
 
void movaps (XMMRegister dst, XMMRegister src)
 
void movaps (XMMRegister dst, Operand src)
 
void movups (XMMRegister dst, XMMRegister src)
 
void movups (XMMRegister dst, Operand src)
 
void movups (Operand dst, XMMRegister src)
 
void shufps (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void shufpd (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void movhlps (XMMRegister dst, XMMRegister src)
 
void movlhps (XMMRegister dst, XMMRegister src)
 
void movlps (XMMRegister dst, Operand src)
 
void movlps (Operand dst, XMMRegister src)
 
void movhps (XMMRegister dst, Operand src)
 
void movhps (Operand dst, XMMRegister src)
 
void maxss (XMMRegister dst, XMMRegister src)
 
void maxss (XMMRegister dst, Operand src)
 
void minss (XMMRegister dst, XMMRegister src)
 
void minss (XMMRegister dst, Operand src)
 
void haddps (XMMRegister dst, Operand src)
 
void haddps (XMMRegister dst, XMMRegister src)
 
void sqrtpd (XMMRegister dst, Operand src)
 
void sqrtpd (XMMRegister dst, XMMRegister src)
 
void cmpps (XMMRegister dst, Operand src, uint8_t cmp)
 
void cmpps (XMMRegister dst, XMMRegister src, uint8_t cmp)
 
void cmppd (XMMRegister dst, Operand src, uint8_t cmp)
 
void cmppd (XMMRegister dst, XMMRegister src, uint8_t cmp)
 
void cvttss2si (Register dst, Operand src)
 
void cvttss2si (Register dst, XMMRegister src)
 
void cvttsd2si (Register dst, Operand src)
 
void cvttsd2si (Register dst, XMMRegister src)
 
void cvtsd2si (Register dst, XMMRegister src)
 
void cvtsi2ss (XMMRegister dst, Register src)
 
void cvtsi2ss (XMMRegister dst, Operand src)
 
void cvtsi2sd (XMMRegister dst, Register src)
 
void cvtsi2sd (XMMRegister dst, Operand src)
 
void cvtss2sd (XMMRegister dst, Operand src)
 
void cvtss2sd (XMMRegister dst, XMMRegister src)
 
void cvtdq2pd (XMMRegister dst, XMMRegister src)
 
void cvtpd2ps (XMMRegister dst, XMMRegister src)
 
void cvttps2dq (XMMRegister dst, XMMRegister src)
 
void cvttps2dq (XMMRegister dst, Operand src)
 
void cvttpd2dq (XMMRegister dst, XMMRegister src)
 
void ucomisd (XMMRegister dst, XMMRegister src)
 
void ucomisd (XMMRegister dst, Operand src)
 
void roundss (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void roundsd (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void movapd (XMMRegister dst, XMMRegister src)
 
void movapd (XMMRegister dst, Operand src)
 
void movupd (XMMRegister dst, Operand src)
 
void movmskpd (Register dst, XMMRegister src)
 
void movmskps (Register dst, XMMRegister src)
 
void pmovmskb (Register dst, XMMRegister src)
 
void cmpltsd (XMMRegister dst, XMMRegister src)
 
void movdqa (XMMRegister dst, Operand src)
 
void movdqa (Operand dst, XMMRegister src)
 
void movdqa (XMMRegister dst, XMMRegister src)
 
void movdqu (XMMRegister dst, Operand src)
 
void movdqu (Operand dst, XMMRegister src)
 
void movdqu (XMMRegister dst, XMMRegister src)
 
void movdq (bool aligned, XMMRegister dst, Operand src)
 
void movd (XMMRegister dst, Register src)
 
void movd (XMMRegister dst, Operand src)
 
void movd (Register dst, XMMRegister src)
 
void movd (Operand dst, XMMRegister src)
 
void movsd (XMMRegister dst, XMMRegister src)
 
void movsd (XMMRegister dst, Operand src)
 
void movsd (Operand dst, XMMRegister src)
 
void movss (XMMRegister dst, Operand src)
 
void movss (Operand dst, XMMRegister src)
 
void movss (XMMRegister dst, XMMRegister src)
 
void extractps (Operand dst, XMMRegister src, uint8_t imm8)
 
void extractps (Register dst, XMMRegister src, uint8_t imm8)
 
void pcmpgtq (XMMRegister dst, XMMRegister src)
 
void psllw (XMMRegister reg, uint8_t shift)
 
void pslld (XMMRegister reg, uint8_t shift)
 
void psrlw (XMMRegister reg, uint8_t shift)
 
void psrld (XMMRegister reg, uint8_t shift)
 
void psraw (XMMRegister reg, uint8_t shift)
 
void psrad (XMMRegister reg, uint8_t shift)
 
void psllq (XMMRegister reg, uint8_t shift)
 
void psrlq (XMMRegister reg, uint8_t shift)
 
void pshufhw (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void pshufhw (XMMRegister dst, Operand src, uint8_t shuffle)
 
void pshuflw (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void pshuflw (XMMRegister dst, Operand src, uint8_t shuffle)
 
void pshufd (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void pshufd (XMMRegister dst, Operand src, uint8_t shuffle)
 
void pblendw (XMMRegister dst, XMMRegister src, uint8_t mask)
 
void pblendw (XMMRegister dst, Operand src, uint8_t mask)
 
void palignr (XMMRegister dst, XMMRegister src, uint8_t mask)
 
void palignr (XMMRegister dst, Operand src, uint8_t mask)
 
void pextrb (Register dst, XMMRegister src, uint8_t offset)
 
void pextrb (Operand dst, XMMRegister src, uint8_t offset)
 
void movddup (XMMRegister dst, Operand src)
 
void movddup (XMMRegister dst, XMMRegister src)
 
void movshdup (XMMRegister dst, XMMRegister src)
 
void pextrw (Register dst, XMMRegister src, uint8_t offset)
 
void pextrw (Operand dst, XMMRegister src, uint8_t offset)
 
void pextrd (Register dst, XMMRegister src, uint8_t offset)
 
void pextrd (Operand dst, XMMRegister src, uint8_t offset)
 
void insertps (XMMRegister dst, XMMRegister src, uint8_t offset)
 
void insertps (XMMRegister dst, Operand src, uint8_t offset)
 
void pinsrb (XMMRegister dst, Register src, uint8_t offset)
 
void pinsrb (XMMRegister dst, Operand src, uint8_t offset)
 
void pinsrw (XMMRegister dst, Register src, uint8_t offset)
 
void pinsrw (XMMRegister dst, Operand src, uint8_t offset)
 
void pinsrd (XMMRegister dst, Register src, uint8_t offset)
 
void pinsrd (XMMRegister dst, Operand src, uint8_t offset)
 
void roundps (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void roundpd (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void vaddss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vaddss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vsubss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vsubss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmulss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmulss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vdivss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vdivss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmaxss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmaxss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vminss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vminss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vsqrtss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vsqrtss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vss (uint8_t op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vhaddps (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vhaddps (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vsqrtpd (XMMRegister dst, XMMRegister src)
 
void vsqrtpd (XMMRegister dst, Operand src)
 
void vmovss (Operand dst, XMMRegister src)
 
void vmovss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmovss (XMMRegister dst, Operand src)
 
void vmovsd (Operand dst, XMMRegister src)
 
void vmovsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmovsd (XMMRegister dst, Operand src)
 
void vextractps (Operand dst, XMMRegister src, uint8_t imm8)
 
void vpcmpgtq (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmovaps (XMMRegister dst, XMMRegister src)
 
void vmovaps (XMMRegister dst, Operand src)
 
void vmovapd (XMMRegister dst, XMMRegister src)
 
void vmovapd (XMMRegister dst, Operand src)
 
void vmovups (Operand dst, XMMRegister src)
 
void vmovups (XMMRegister dst, XMMRegister src)
 
void vmovups (XMMRegister dst, Operand src)
 
void vmovupd (XMMRegister dst, Operand src)
 
void vshufps (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t imm8)
 
void vshufps (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t imm8)
 
void vshufpd (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t imm8)
 
void vshufpd (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t imm8)
 
void vmovhlps (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmovlhps (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmovlps (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmovlps (Operand dst, XMMRegister src)
 
void vmovhps (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmovhps (Operand dst, XMMRegister src)
 
void vpsllw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpslld (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsllq (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsrlw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsrld (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsraw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsrad (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsrlq (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpshufhw (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void vpshufhw (XMMRegister dst, Operand src, uint8_t shuffle)
 
void vpshuflw (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void vpshuflw (XMMRegister dst, Operand src, uint8_t shuffle)
 
void vpshufd (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void vpshufd (XMMRegister dst, Operand src, uint8_t shuffle)
 
void vblendvps (XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask)
 
void vblendvpd (XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask)
 
void vpblendvb (XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask)
 
void vpblendw (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t mask)
 
void vpblendw (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t mask)
 
void vpalignr (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t mask)
 
void vpalignr (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t mask)
 
void vpextrb (Register dst, XMMRegister src, uint8_t offset)
 
void vpextrb (Operand dst, XMMRegister src, uint8_t offset)
 
void vpextrw (Register dst, XMMRegister src, uint8_t offset)
 
void vpextrw (Operand dst, XMMRegister src, uint8_t offset)
 
void vpextrd (Register dst, XMMRegister src, uint8_t offset)
 
void vpextrd (Operand dst, XMMRegister src, uint8_t offset)
 
void vinsertps (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t offset)
 
void vinsertps (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t offset)
 
void vpinsrb (XMMRegister dst, XMMRegister src1, Register src2, uint8_t offset)
 
void vpinsrb (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t offset)
 
void vpinsrw (XMMRegister dst, XMMRegister src1, Register src2, uint8_t offset)
 
void vpinsrw (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t offset)
 
void vpinsrd (XMMRegister dst, XMMRegister src1, Register src2, uint8_t offset)
 
void vpinsrd (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t offset)
 
void vroundsd (XMMRegister dst, XMMRegister src1, XMMRegister src2, RoundingMode mode)
 
void vroundss (XMMRegister dst, XMMRegister src1, XMMRegister src2, RoundingMode mode)
 
void vroundps (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void vroundpd (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void vcvtdq2pd (XMMRegister dst, XMMRegister src)
 
void vcvtpd2ps (XMMRegister dst, XMMRegister src)
 
void vcvttps2dq (XMMRegister dst, XMMRegister src)
 
void vcvttps2dq (XMMRegister dst, Operand src)
 
void vcvttpd2dq (XMMRegister dst, XMMRegister src)
 
void vcvttsd2si (Register dst, XMMRegister src)
 
void vcvttsd2si (Register dst, Operand src)
 
void vcvtss2sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vcvtss2sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vcvttss2si (Register dst, XMMRegister src)
 
void vcvttss2si (Register dst, Operand src)
 
void vmovddup (XMMRegister dst, Operand src)
 
void vmovddup (XMMRegister dst, XMMRegister src)
 
void vmovshdup (XMMRegister dst, XMMRegister src)
 
void vbroadcastss (XMMRegister dst, XMMRegister src)
 
void vbroadcastss (XMMRegister dst, Operand src)
 
void vmovdqa (XMMRegister dst, Operand src)
 
void vmovdqa (XMMRegister dst, XMMRegister src)
 
void vmovdqu (XMMRegister dst, Operand src)
 
void vmovdqu (Operand dst, XMMRegister src)
 
void vmovd (XMMRegister dst, Register src)
 
void vmovd (XMMRegister dst, Operand src)
 
void vmovd (Register dst, XMMRegister src)
 
void vmovd (Operand dst, XMMRegister src)
 
void vmovmskpd (Register dst, XMMRegister src)
 
void vmovmskps (Register dst, XMMRegister src)
 
void vpmovmskb (Register dst, XMMRegister src)
 
void vucomisd (XMMRegister dst, XMMRegister src)
 
void vucomisd (XMMRegister dst, Operand src)
 
void vucomiss (XMMRegister dst, XMMRegister src)
 
void vucomiss (XMMRegister dst, Operand src)
 
void andn (Register dst, Register src1, Register src2)
 
void andn (Register dst, Register src1, Operand src2)
 
void bextr (Register dst, Register src1, Register src2)
 
void bextr (Register dst, Operand src1, Register src2)
 
void blsi (Register dst, Register src)
 
void blsi (Register dst, Operand src)
 
void blsmsk (Register dst, Register src)
 
void blsmsk (Register dst, Operand src)
 
void blsr (Register dst, Register src)
 
void blsr (Register dst, Operand src)
 
void tzcnt (Register dst, Register src)
 
void tzcnt (Register dst, Operand src)
 
void lzcnt (Register dst, Register src)
 
void lzcnt (Register dst, Operand src)
 
void popcnt (Register dst, Register src)
 
void popcnt (Register dst, Operand src)
 
void bzhi (Register dst, Register src1, Register src2)
 
void bzhi (Register dst, Operand src1, Register src2)
 
void mulx (Register dst1, Register dst2, Register src)
 
void mulx (Register dst1, Register dst2, Operand src)
 
void pdep (Register dst, Register src1, Register src2)
 
void pdep (Register dst, Register src1, Operand src2)
 
void pext (Register dst, Register src1, Register src2)
 
void pext (Register dst, Register src1, Operand src2)
 
void sarx (Register dst, Register src1, Register src2)
 
void sarx (Register dst, Operand src1, Register src2)
 
void shlx (Register dst, Register src1, Register src2)
 
void shlx (Register dst, Operand src1, Register src2)
 
void shrx (Register dst, Register src1, Register src2)
 
void shrx (Register dst, Operand src1, Register src2)
 
void rorx (Register dst, Register src, uint8_t imm8)
 
void rorx (Register dst, Operand src, uint8_t imm8)
 
void ps (uint8_t op, XMMRegister dst, Operand src)
 
void pd (uint8_t op, XMMRegister dst, Operand src)
 
void vps (uint8_t op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vpd (uint8_t op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vcmpps (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t cmp)
 
void vcmppd (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t cmp)
 
void prefetch (Operand src, int level)
 
int SizeOfCodeGeneratedSince (Label *label)
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
void dd (Label *label)
 
bool buffer_overflow () const
 
int available_space () const
 
int relocation_writer_size ()
 
uint8_t byte_at (int pos)
 
void set_byte_at (int pos, uint8_t value)
 
 Assembler (const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer > buffer={})
 
virtual ~Assembler ()
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilderBase *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void MaybeEmitOutOfLineConstantPool ()
 
int pc_offset_for_safepoint ()
 
void bind (Label *L)
 
bool is_near_c (Label *L)
 
bool is_near (Label *L, OffsetSize bits)
 
bool is_near_a (Label *L)
 
int BranchOffset (Instr instr)
 
int32_t branch_offset_helper (Label *L, OffsetSize bits)
 
int32_t branch_offset (Label *L)
 
int32_t branch_offset21 (Label *L)
 
int32_t branch_offset26 (Label *L)
 
int32_t shifted_branch_offset (Label *L)
 
int32_t shifted_branch_offset21 (Label *L)
 
int32_t shifted_branch_offset26 (Label *L)
 
uint64_t jump_address (Label *L)
 
uint64_t jump_offset (Label *L)
 
uint64_t branch_long_offset (Label *L)
 
void label_at_put (Label *L, int at_offset)
 
Handle< Codecode_target_object_handle_at (Address pc, Address constant_pool)
 
Handle< HeapObjectcompressed_embedded_object_handle_at (Address pc, Address constant_pool)
 
Handle< HeapObjectembedded_object_handle_at (Address pc, Address constant_pool)
 
RegListGetScratchRegisterList ()
 
DoubleRegListGetScratchFPRegisterList ()
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void nop (unsigned int type=0)
 
void b (int32_t offset)
 
void b (Label *L)
 
void bl (int32_t offset)
 
void bl (Label *L)
 
void beq (Register rj, Register rd, int32_t offset)
 
void beq (Register rj, Register rd, Label *L)
 
void bne (Register rj, Register rd, int32_t offset)
 
void bne (Register rj, Register rd, Label *L)
 
void blt (Register rj, Register rd, int32_t offset)
 
void blt (Register rj, Register rd, Label *L)
 
void bge (Register rj, Register rd, int32_t offset)
 
void bge (Register rj, Register rd, Label *L)
 
void bltu (Register rj, Register rd, int32_t offset)
 
void bltu (Register rj, Register rd, Label *L)
 
void bgeu (Register rj, Register rd, int32_t offset)
 
void bgeu (Register rj, Register rd, Label *L)
 
void beqz (Register rj, int32_t offset)
 
void beqz (Register rj, Label *L)
 
void bnez (Register rj, int32_t offset)
 
void bnez (Register rj, Label *L)
 
void jirl (Register rd, Register rj, int32_t offset)
 
void bceqz (CFRegister cj, int32_t si21)
 
void bceqz (CFRegister cj, Label *L)
 
void bcnez (CFRegister cj, int32_t si21)
 
void bcnez (CFRegister cj, Label *L)
 
void add_w (Register rd, Register rj, Register rk)
 
void add_d (Register rd, Register rj, Register rk)
 
void sub_w (Register rd, Register rj, Register rk)
 
void sub_d (Register rd, Register rj, Register rk)
 
void addi_w (Register rd, Register rj, int32_t si12)
 
void addi_d (Register rd, Register rj, int32_t si12)
 
void addu16i_d (Register rd, Register rj, int32_t si16)
 
void alsl_w (Register rd, Register rj, Register rk, int32_t sa2)
 
void alsl_wu (Register rd, Register rj, Register rk, int32_t sa2)
 
void alsl_d (Register rd, Register rj, Register rk, int32_t sa2)
 
void lu12i_w (Register rd, int32_t si20)
 
void lu32i_d (Register rd, int32_t si20)
 
void lu52i_d (Register rd, Register rj, int32_t si12)
 
void slt (Register rd, Register rj, Register rk)
 
void sltu (Register rd, Register rj, Register rk)
 
void slti (Register rd, Register rj, int32_t si12)
 
void sltui (Register rd, Register rj, int32_t si12)
 
void pcaddi (Register rd, int32_t si20)
 
void pcaddu12i (Register rd, int32_t si20)
 
void pcaddu18i (Register rd, int32_t si20)
 
void pcalau12i (Register rd, int32_t si20)
 
void and_ (Register rd, Register rj, Register rk)
 
void or_ (Register rd, Register rj, Register rk)
 
void xor_ (Register rd, Register rj, Register rk)
 
void nor (Register rd, Register rj, Register rk)
 
void andn (Register rd, Register rj, Register rk)
 
void orn (Register rd, Register rj, Register rk)
 
void andi (Register rd, Register rj, int32_t ui12)
 
void ori (Register rd, Register rj, int32_t ui12)
 
void xori (Register rd, Register rj, int32_t ui12)
 
void mul_w (Register rd, Register rj, Register rk)
 
void mulh_w (Register rd, Register rj, Register rk)
 
void mulh_wu (Register rd, Register rj, Register rk)
 
void mul_d (Register rd, Register rj, Register rk)
 
void mulh_d (Register rd, Register rj, Register rk)
 
void mulh_du (Register rd, Register rj, Register rk)
 
void mulw_d_w (Register rd, Register rj, Register rk)
 
void mulw_d_wu (Register rd, Register rj, Register rk)
 
void div_w (Register rd, Register rj, Register rk)
 
void mod_w (Register rd, Register rj, Register rk)
 
void div_wu (Register rd, Register rj, Register rk)
 
void mod_wu (Register rd, Register rj, Register rk)
 
void div_d (Register rd, Register rj, Register rk)
 
void mod_d (Register rd, Register rj, Register rk)
 
void div_du (Register rd, Register rj, Register rk)
 
void mod_du (Register rd, Register rj, Register rk)
 
void sll_w (Register rd, Register rj, Register rk)
 
void srl_w (Register rd, Register rj, Register rk)
 
void sra_w (Register rd, Register rj, Register rk)
 
void rotr_w (Register rd, Register rj, Register rk)
 
void slli_w (Register rd, Register rj, int32_t ui5)
 
void srli_w (Register rd, Register rj, int32_t ui5)
 
void srai_w (Register rd, Register rj, int32_t ui5)
 
void rotri_w (Register rd, Register rj, int32_t ui5)
 
void sll_d (Register rd, Register rj, Register rk)
 
void srl_d (Register rd, Register rj, Register rk)
 
void sra_d (Register rd, Register rj, Register rk)
 
void rotr_d (Register rd, Register rj, Register rk)
 
void slli_d (Register rd, Register rj, int32_t ui6)
 
void srli_d (Register rd, Register rj, int32_t ui6)
 
void srai_d (Register rd, Register rj, int32_t ui6)
 
void rotri_d (Register rd, Register rj, int32_t ui6)
 
void ext_w_b (Register rd, Register rj)
 
void ext_w_h (Register rd, Register rj)
 
void clo_w (Register rd, Register rj)
 
void clz_w (Register rd, Register rj)
 
void cto_w (Register rd, Register rj)
 
void ctz_w (Register rd, Register rj)
 
void clo_d (Register rd, Register rj)
 
void clz_d (Register rd, Register rj)
 
void cto_d (Register rd, Register rj)
 
void ctz_d (Register rd, Register rj)
 
void bytepick_w (Register rd, Register rj, Register rk, int32_t sa2)
 
void bytepick_d (Register rd, Register rj, Register rk, int32_t sa3)
 
void revb_2h (Register rd, Register rj)
 
void revb_4h (Register rd, Register rj)
 
void revb_2w (Register rd, Register rj)
 
void revb_d (Register rd, Register rj)
 
void revh_2w (Register rd, Register rj)
 
void revh_d (Register rd, Register rj)
 
void bitrev_4b (Register rd, Register rj)
 
void bitrev_8b (Register rd, Register rj)
 
void bitrev_w (Register rd, Register rj)
 
void bitrev_d (Register rd, Register rj)
 
void bstrins_w (Register rd, Register rj, int32_t msbw, int32_t lsbw)
 
void bstrins_d (Register rd, Register rj, int32_t msbd, int32_t lsbd)
 
void bstrpick_w (Register rd, Register rj, int32_t msbw, int32_t lsbw)
 
void bstrpick_d (Register rd, Register rj, int32_t msbd, int32_t lsbd)
 
void maskeqz (Register rd, Register rj, Register rk)
 
void masknez (Register rd, Register rj, Register rk)
 
void ld_b (Register rd, Register rj, int32_t si12)
 
void ld_h (Register rd, Register rj, int32_t si12)
 
void ld_w (Register rd, Register rj, int32_t si12)
 
void ld_d (Register rd, Register rj, int32_t si12)
 
void ld_bu (Register rd, Register rj, int32_t si12)
 
void ld_hu (Register rd, Register rj, int32_t si12)
 
void ld_wu (Register rd, Register rj, int32_t si12)
 
void st_b (Register rd, Register rj, int32_t si12)
 
void st_h (Register rd, Register rj, int32_t si12)
 
void st_w (Register rd, Register rj, int32_t si12)
 
void st_d (Register rd, Register rj, int32_t si12)
 
void ldx_b (Register rd, Register rj, Register rk)
 
void ldx_h (Register rd, Register rj, Register rk)
 
void ldx_w (Register rd, Register rj, Register rk)
 
void ldx_d (Register rd, Register rj, Register rk)
 
void ldx_bu (Register rd, Register rj, Register rk)
 
void ldx_hu (Register rd, Register rj, Register rk)
 
void ldx_wu (Register rd, Register rj, Register rk)
 
void stx_b (Register rd, Register rj, Register rk)
 
void stx_h (Register rd, Register rj, Register rk)
 
void stx_w (Register rd, Register rj, Register rk)
 
void stx_d (Register rd, Register rj, Register rk)
 
void ldptr_w (Register rd, Register rj, int32_t si14)
 
void ldptr_d (Register rd, Register rj, int32_t si14)
 
void stptr_w (Register rd, Register rj, int32_t si14)
 
void stptr_d (Register rd, Register rj, int32_t si14)
 
void amswap_w (Register rd, Register rk, Register rj)
 
void amswap_d (Register rd, Register rk, Register rj)
 
void amadd_w (Register rd, Register rk, Register rj)
 
void amadd_d (Register rd, Register rk, Register rj)
 
void amand_w (Register rd, Register rk, Register rj)
 
void amand_d (Register rd, Register rk, Register rj)
 
void amor_w (Register rd, Register rk, Register rj)
 
void amor_d (Register rd, Register rk, Register rj)
 
void amxor_w (Register rd, Register rk, Register rj)
 
void amxor_d (Register rd, Register rk, Register rj)
 
void ammax_w (Register rd, Register rk, Register rj)
 
void ammax_d (Register rd, Register rk, Register rj)
 
void ammin_w (Register rd, Register rk, Register rj)
 
void ammin_d (Register rd, Register rk, Register rj)
 
void ammax_wu (Register rd, Register rk, Register rj)
 
void ammax_du (Register rd, Register rk, Register rj)
 
void ammin_wu (Register rd, Register rk, Register rj)
 
void ammin_du (Register rd, Register rk, Register rj)
 
void amswap_db_w (Register rd, Register rk, Register rj)
 
void amswap_db_d (Register rd, Register rk, Register rj)
 
void amadd_db_w (Register rd, Register rk, Register rj)
 
void amadd_db_d (Register rd, Register rk, Register rj)
 
void amand_db_w (Register rd, Register rk, Register rj)
 
void amand_db_d (Register rd, Register rk, Register rj)
 
void amor_db_w (Register rd, Register rk, Register rj)
 
void amor_db_d (Register rd, Register rk, Register rj)
 
void amxor_db_w (Register rd, Register rk, Register rj)
 
void amxor_db_d (Register rd, Register rk, Register rj)
 
void ammax_db_w (Register rd, Register rk, Register rj)
 
void ammax_db_d (Register rd, Register rk, Register rj)
 
void ammin_db_w (Register rd, Register rk, Register rj)
 
void ammin_db_d (Register rd, Register rk, Register rj)
 
void ammax_db_wu (Register rd, Register rk, Register rj)
 
void ammax_db_du (Register rd, Register rk, Register rj)
 
void ammin_db_wu (Register rd, Register rk, Register rj)
 
void ammin_db_du (Register rd, Register rk, Register rj)
 
void ll_w (Register rd, Register rj, int32_t si14)
 
void ll_d (Register rd, Register rj, int32_t si14)
 
void sc_w (Register rd, Register rj, int32_t si14)
 
void sc_d (Register rd, Register rj, int32_t si14)
 
void dbar (int32_t hint)
 
void ibar (int32_t hint)
 
void break_ (uint32_t code, bool break_as_stop=false)
 
void stop (uint32_t code=kMaxStopCode)
 
void fadd_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fadd_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fsub_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fsub_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmul_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmul_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fdiv_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fdiv_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmadd_s (FPURegister fd, FPURegister fj, FPURegister fk, FPURegister fa)
 
void fmadd_d (FPURegister fd, FPURegister fj, FPURegister fk, FPURegister fa)
 
void fmsub_s (FPURegister fd, FPURegister fj, FPURegister fk, FPURegister fa)
 
void fmsub_d (FPURegister fd, FPURegister fj, FPURegister fk, FPURegister fa)
 
void fnmadd_s (FPURegister fd, FPURegister fj, FPURegister fk, FPURegister fa)
 
void fnmadd_d (FPURegister fd, FPURegister fj, FPURegister fk, FPURegister fa)
 
void fnmsub_s (FPURegister fd, FPURegister fj, FPURegister fk, FPURegister fa)
 
void fnmsub_d (FPURegister fd, FPURegister fj, FPURegister fk, FPURegister fa)
 
void fmax_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmax_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmin_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmin_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmaxa_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmaxa_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmina_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fmina_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fabs_s (FPURegister fd, FPURegister fj)
 
void fabs_d (FPURegister fd, FPURegister fj)
 
void fneg_s (FPURegister fd, FPURegister fj)
 
void fneg_d (FPURegister fd, FPURegister fj)
 
void fsqrt_s (FPURegister fd, FPURegister fj)
 
void fsqrt_d (FPURegister fd, FPURegister fj)
 
void frecip_s (FPURegister fd, FPURegister fj)
 
void frecip_d (FPURegister fd, FPURegister fj)
 
void frsqrt_s (FPURegister fd, FPURegister fj)
 
void frsqrt_d (FPURegister fd, FPURegister fj)
 
void fscaleb_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fscaleb_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void flogb_s (FPURegister fd, FPURegister fj)
 
void flogb_d (FPURegister fd, FPURegister fj)
 
void fcopysign_s (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fcopysign_d (FPURegister fd, FPURegister fj, FPURegister fk)
 
void fclass_s (FPURegister fd, FPURegister fj)
 
void fclass_d (FPURegister fd, FPURegister fj)
 
void fcmp_cond_s (FPUCondition cc, FPURegister fj, FPURegister fk, CFRegister cd)
 
void fcmp_cond_d (FPUCondition cc, FPURegister fj, FPURegister fk, CFRegister cd)
 
void fcvt_s_d (FPURegister fd, FPURegister fj)
 
void fcvt_d_s (FPURegister fd, FPURegister fj)
 
void ffint_s_w (FPURegister fd, FPURegister fj)
 
void ffint_s_l (FPURegister fd, FPURegister fj)
 
void ffint_d_w (FPURegister fd, FPURegister fj)
 
void ffint_d_l (FPURegister fd, FPURegister fj)
 
void ftint_w_s (FPURegister fd, FPURegister fj)
 
void ftint_w_d (FPURegister fd, FPURegister fj)
 
void ftint_l_s (FPURegister fd, FPURegister fj)
 
void ftint_l_d (FPURegister fd, FPURegister fj)
 
void ftintrm_w_s (FPURegister fd, FPURegister fj)
 
void ftintrm_w_d (FPURegister fd, FPURegister fj)
 
void ftintrm_l_s (FPURegister fd, FPURegister fj)
 
void ftintrm_l_d (FPURegister fd, FPURegister fj)
 
void ftintrp_w_s (FPURegister fd, FPURegister fj)
 
void ftintrp_w_d (FPURegister fd, FPURegister fj)
 
void ftintrp_l_s (FPURegister fd, FPURegister fj)
 
void ftintrp_l_d (FPURegister fd, FPURegister fj)
 
void ftintrz_w_s (FPURegister fd, FPURegister fj)
 
void ftintrz_w_d (FPURegister fd, FPURegister fj)
 
void ftintrz_l_s (FPURegister fd, FPURegister fj)
 
void ftintrz_l_d (FPURegister fd, FPURegister fj)
 
void ftintrne_w_s (FPURegister fd, FPURegister fj)
 
void ftintrne_w_d (FPURegister fd, FPURegister fj)
 
void ftintrne_l_s (FPURegister fd, FPURegister fj)
 
void ftintrne_l_d (FPURegister fd, FPURegister fj)
 
void frint_s (FPURegister fd, FPURegister fj)
 
void frint_d (FPURegister fd, FPURegister fj)
 
void fmov_s (FPURegister fd, FPURegister fj)
 
void fmov_d (FPURegister fd, FPURegister fj)
 
void fsel (CFRegister ca, FPURegister fd, FPURegister fj, FPURegister fk)
 
void movgr2fr_w (FPURegister fd, Register rj)
 
void movgr2fr_d (FPURegister fd, Register rj)
 
void movgr2frh_w (FPURegister fd, Register rj)
 
void movfr2gr_s (Register rd, FPURegister fj)
 
void movfr2gr_d (Register rd, FPURegister fj)
 
void movfrh2gr_s (Register rd, FPURegister fj)
 
void movgr2fcsr (Register rj, FPUControlRegister fcsr=FCSR0)
 
void movfcsr2gr (Register rd, FPUControlRegister fcsr=FCSR0)
 
void movfr2cf (CFRegister cd, FPURegister fj)
 
void movcf2fr (FPURegister fd, CFRegister cj)
 
void movgr2cf (CFRegister cd, Register rj)
 
void movcf2gr (Register rd, CFRegister cj)
 
void fld_s (FPURegister fd, Register rj, int32_t si12)
 
void fld_d (FPURegister fd, Register rj, int32_t si12)
 
void fst_s (FPURegister fd, Register rj, int32_t si12)
 
void fst_d (FPURegister fd, Register rj, int32_t si12)
 
void fldx_s (FPURegister fd, Register rj, Register rk)
 
void fldx_d (FPURegister fd, Register rj, Register rk)
 
void fstx_s (FPURegister fd, Register rj, Register rk)
 
void fstx_d (FPURegister fd, Register rj, Register rk)
 
int SizeOfCodeGeneratedSince (Label *label)
 
int InstructionsGeneratedSince (Label *label)
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
void dd (Label *label)
 
void BlockTrampolinePoolFor (int instructions)
 
bool overflow () const
 
intptr_t available_space () const
 
Instr instr_at (int pos)
 
void instr_at_put (int pos, Instr instr, WritableJitAllocation *jit_allocation=nullptr)
 
void CheckTrampolinePool ()
 
V8_INLINE Handle< Coderelative_code_target_object_handle_at (Address pc_) const
 
int UnboundLabelsCount ()
 
 Assembler (const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer > buffer={})
 
virtual ~Assembler ()
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilderBase *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void MaybeEmitOutOfLineConstantPool ()
 
int pc_offset_for_safepoint ()
 
void bind (Label *L)
 
bool is_near (Label *L)
 
bool is_near (Label *L, OffsetSize bits)
 
bool is_near_branch (Label *L)
 
bool is_near_pre_r6 (Label *L)
 
bool is_near_r6 (Label *L)
 
int BranchOffset (Instr instr)
 
int32_t branch_offset_helper (Label *L, OffsetSize bits)
 
int32_t branch_offset (Label *L)
 
int32_t branch_offset21 (Label *L)
 
int32_t branch_offset26 (Label *L)
 
int32_t shifted_branch_offset (Label *L)
 
int32_t shifted_branch_offset21 (Label *L)
 
int32_t shifted_branch_offset26 (Label *L)
 
uint64_t jump_address (Label *L)
 
uint64_t jump_offset (Label *L)
 
uint64_t branch_long_offset (Label *L)
 
void label_at_put (Label *L, int at_offset)
 
RegListGetScratchRegisterList ()
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void nop (unsigned int type=0)
 
void b (int16_t offset)
 
void b (Label *L)
 
void bal (int16_t offset)
 
void bal (Label *L)
 
void bc (int32_t offset)
 
void bc (Label *L)
 
void balc (int32_t offset)
 
void balc (Label *L)
 
void beq (Register rs, Register rt, int16_t offset)
 
void beq (Register rs, Register rt, Label *L)
 
void bgez (Register rs, int16_t offset)
 
void bgezc (Register rt, int16_t offset)
 
void bgezc (Register rt, Label *L)
 
void bgeuc (Register rs, Register rt, int16_t offset)
 
void bgeuc (Register rs, Register rt, Label *L)
 
void bgec (Register rs, Register rt, int16_t offset)
 
void bgec (Register rs, Register rt, Label *L)
 
void bgezal (Register rs, int16_t offset)
 
void bgezalc (Register rt, int16_t offset)
 
void bgezalc (Register rt, Label *L)
 
void bgezall (Register rs, int16_t offset)
 
void bgezall (Register rs, Label *L)
 
void bgtz (Register rs, int16_t offset)
 
void bgtzc (Register rt, int16_t offset)
 
void bgtzc (Register rt, Label *L)
 
void blez (Register rs, int16_t offset)
 
void blezc (Register rt, int16_t offset)
 
void blezc (Register rt, Label *L)
 
void bltz (Register rs, int16_t offset)
 
void bltzc (Register rt, int16_t offset)
 
void bltzc (Register rt, Label *L)
 
void bltuc (Register rs, Register rt, int16_t offset)
 
void bltuc (Register rs, Register rt, Label *L)
 
void bltc (Register rs, Register rt, int16_t offset)
 
void bltc (Register rs, Register rt, Label *L)
 
void bltzal (Register rs, int16_t offset)
 
void nal ()
 
void blezalc (Register rt, int16_t offset)
 
void blezalc (Register rt, Label *L)
 
void bltzalc (Register rt, int16_t offset)
 
void bltzalc (Register rt, Label *L)
 
void bgtzalc (Register rt, int16_t offset)
 
void bgtzalc (Register rt, Label *L)
 
void beqzalc (Register rt, int16_t offset)
 
void beqzalc (Register rt, Label *L)
 
void beqc (Register rs, Register rt, int16_t offset)
 
void beqc (Register rs, Register rt, Label *L)
 
void beqzc (Register rs, int32_t offset)
 
void beqzc (Register rs, Label *L)
 
void bnezalc (Register rt, int16_t offset)
 
void bnezalc (Register rt, Label *L)
 
void bnec (Register rs, Register rt, int16_t offset)
 
void bnec (Register rs, Register rt, Label *L)
 
void bnezc (Register rt, int32_t offset)
 
void bnezc (Register rt, Label *L)
 
void bne (Register rs, Register rt, int16_t offset)
 
void bne (Register rs, Register rt, Label *L)
 
void bovc (Register rs, Register rt, int16_t offset)
 
void bovc (Register rs, Register rt, Label *L)
 
void bnvc (Register rs, Register rt, int16_t offset)
 
void bnvc (Register rs, Register rt, Label *L)
 
void jalr (Register rs, Register rd=ra)
 
void jr (Register target)
 
void jic (Register rt, int16_t offset)
 
void jialc (Register rt, int16_t offset)
 
void j (int64_t target)
 
void jal (int64_t target)
 
void j (Label *target)
 
void jal (Label *target)
 
void addu (Register rd, Register rs, Register rt)
 
void subu (Register rd, Register rs, Register rt)
 
void div (Register rs, Register rt)
 
void divu (Register rs, Register rt)
 
void ddiv (Register rs, Register rt)
 
void ddivu (Register rs, Register rt)
 
void div (Register rd, Register rs, Register rt)
 
void divu (Register rd, Register rs, Register rt)
 
void ddiv (Register rd, Register rs, Register rt)
 
void ddivu (Register rd, Register rs, Register rt)
 
void mod (Register rd, Register rs, Register rt)
 
void modu (Register rd, Register rs, Register rt)
 
void dmod (Register rd, Register rs, Register rt)
 
void dmodu (Register rd, Register rs, Register rt)
 
void mul (Register rd, Register rs, Register rt)
 
void muh (Register rd, Register rs, Register rt)
 
void mulu (Register rd, Register rs, Register rt)
 
void muhu (Register rd, Register rs, Register rt)
 
void mult (Register rs, Register rt)
 
void multu (Register rs, Register rt)
 
void dmul (Register rd, Register rs, Register rt)
 
void dmuh (Register rd, Register rs, Register rt)
 
void dmulu (Register rd, Register rs, Register rt)
 
void dmuhu (Register rd, Register rs, Register rt)
 
void daddu (Register rd, Register rs, Register rt)
 
void dsubu (Register rd, Register rs, Register rt)
 
void dmult (Register rs, Register rt)
 
void dmultu (Register rs, Register rt)
 
void addiu (Register rd, Register rs, int32_t j)
 
void daddiu (Register rd, Register rs, int32_t j)
 
void and_ (Register rd, Register rs, Register rt)
 
void or_ (Register rd, Register rs, Register rt)
 
void xor_ (Register rd, Register rs, Register rt)
 
void nor (Register rd, Register rs, Register rt)
 
void andi (Register rd, Register rs, int32_t j)
 
void ori (Register rd, Register rs, int32_t j)
 
void xori (Register rd, Register rs, int32_t j)
 
void lui (Register rd, int32_t j)
 
void aui (Register rt, Register rs, int32_t j)
 
void daui (Register rt, Register rs, int32_t j)
 
void dahi (Register rs, int32_t j)
 
void dati (Register rs, int32_t j)
 
void sll (Register rd, Register rt, uint16_t sa, bool coming_from_nop=false)
 
void sllv (Register rd, Register rt, Register rs)
 
void srl (Register rd, Register rt, uint16_t sa)
 
void srlv (Register rd, Register rt, Register rs)
 
void sra (Register rt, Register rd, uint16_t sa)
 
void srav (Register rt, Register rd, Register rs)
 
void rotr (Register rd, Register rt, uint16_t sa)
 
void rotrv (Register rd, Register rt, Register rs)
 
void dsll (Register rd, Register rt, uint16_t sa)
 
void dsllv (Register rd, Register rt, Register rs)
 
void dsrl (Register rd, Register rt, uint16_t sa)
 
void dsrlv (Register rd, Register rt, Register rs)
 
void drotr (Register rd, Register rt, uint16_t sa)
 
void drotr32 (Register rd, Register rt, uint16_t sa)
 
void drotrv (Register rd, Register rt, Register rs)
 
void dsra (Register rt, Register rd, uint16_t sa)
 
void dsrav (Register rd, Register rt, Register rs)
 
void dsll32 (Register rt, Register rd, uint16_t sa)
 
void dsrl32 (Register rt, Register rd, uint16_t sa)
 
void dsra32 (Register rt, Register rd, uint16_t sa)
 
void lb (Register rd, const MemOperand &rs)
 
void lbu (Register rd, const MemOperand &rs)
 
void lh (Register rd, const MemOperand &rs)
 
void lhu (Register rd, const MemOperand &rs)
 
void lw (Register rd, const MemOperand &rs)
 
void lwu (Register rd, const MemOperand &rs)
 
void lwl (Register rd, const MemOperand &rs)
 
void lwr (Register rd, const MemOperand &rs)
 
void sb (Register rd, const MemOperand &rs)
 
void sh (Register rd, const MemOperand &rs)
 
void sw (Register rd, const MemOperand &rs)
 
void swl (Register rd, const MemOperand &rs)
 
void swr (Register rd, const MemOperand &rs)
 
void ldl (Register rd, const MemOperand &rs)
 
void ldr (Register rd, const MemOperand &rs)
 
void sdl (Register rd, const MemOperand &rs)
 
void sdr (Register rd, const MemOperand &rs)
 
void ld (Register rd, const MemOperand &rs)
 
void sd (Register rd, const MemOperand &rs)
 
void ll (Register rd, const MemOperand &rs)
 
void sc (Register rd, const MemOperand &rs)
 
void lld (Register rd, const MemOperand &rs)
 
void scd (Register rd, const MemOperand &rs)
 
void addiupc (Register rs, int32_t imm19)
 
void lwpc (Register rs, int32_t offset19)
 
void lwupc (Register rs, int32_t offset19)
 
void ldpc (Register rs, int32_t offset18)
 
void auipc (Register rs, int16_t imm16)
 
void aluipc (Register rs, int16_t imm16)
 
void pref (int32_t hint, const MemOperand &rs)
 
void break_ (uint32_t code, bool break_as_stop=false)
 
void stop (uint32_t code=kMaxStopCode)
 
void tge (Register rs, Register rt, uint16_t code)
 
void tgeu (Register rs, Register rt, uint16_t code)
 
void tlt (Register rs, Register rt, uint16_t code)
 
void tltu (Register rs, Register rt, uint16_t code)
 
void teq (Register rs, Register rt, uint16_t code)
 
void tne (Register rs, Register rt, uint16_t code)
 
void sync ()
 
void mfhi (Register rd)
 
void mflo (Register rd)
 
void slt (Register rd, Register rs, Register rt)
 
void sltu (Register rd, Register rs, Register rt)
 
void slti (Register rd, Register rs, int32_t j)
 
void sltiu (Register rd, Register rs, int32_t j)
 
void movz (Register rd, Register rs, Register rt)
 
void movn (Register rd, Register rs, Register rt)
 
void movt (Register rd, Register rs, uint16_t cc=0)
 
void movf (Register rd, Register rs, uint16_t cc=0)
 
void sel (SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft)
 
void sel_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void sel_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void seleqz (Register rd, Register rs, Register rt)
 
void seleqz (SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft)
 
void selnez (Register rs, Register rt, Register rd)
 
void selnez (SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft)
 
void seleqz_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void seleqz_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void selnez_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void selnez_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void movz_s (FPURegister fd, FPURegister fs, Register rt)
 
void movz_d (FPURegister fd, FPURegister fs, Register rt)
 
void movt_s (FPURegister fd, FPURegister fs, uint16_t cc=0)
 
void movt_d (FPURegister fd, FPURegister fs, uint16_t cc=0)
 
void movf_s (FPURegister fd, FPURegister fs, uint16_t cc=0)
 
void movf_d (FPURegister fd, FPURegister fs, uint16_t cc=0)
 
void movn_s (FPURegister fd, FPURegister fs, Register rt)
 
void movn_d (FPURegister fd, FPURegister fs, Register rt)
 
void clz (Register rd, Register rs)
 
void dclz (Register rd, Register rs)
 
void ins_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void ext_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void dext_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void dextm_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void dextu_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void dins_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void dinsm_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void dinsu_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void bitswap (Register rd, Register rt)
 
void dbitswap (Register rd, Register rt)
 
void align (Register rd, Register rs, Register rt, uint8_t bp)
 
void dalign (Register rd, Register rs, Register rt, uint8_t bp)
 
void wsbh (Register rd, Register rt)
 
void dsbh (Register rd, Register rt)
 
void dshd (Register rd, Register rt)
 
void seh (Register rd, Register rt)
 
void seb (Register rd, Register rt)
 
void lwc1 (FPURegister fd, const MemOperand &src)
 
void ldc1 (FPURegister fd, const MemOperand &src)
 
void swc1 (FPURegister fs, const MemOperand &dst)
 
void sdc1 (FPURegister fs, const MemOperand &dst)
 
void mtc1 (Register rt, FPURegister fs)
 
void mthc1 (Register rt, FPURegister fs)
 
void dmtc1 (Register rt, FPURegister fs)
 
void mfc1 (Register rt, FPURegister fs)
 
void mfhc1 (Register rt, FPURegister fs)
 
void dmfc1 (Register rt, FPURegister fs)
 
void ctc1 (Register rt, FPUControlRegister fs)
 
void cfc1 (Register rt, FPUControlRegister fs)
 
void add_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void add_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void sub_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void sub_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void mul_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void mul_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void madd_s (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft)
 
void madd_d (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft)
 
void msub_s (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft)
 
void msub_d (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft)
 
void maddf_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void maddf_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void msubf_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void msubf_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void div_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void div_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void abs_s (FPURegister fd, FPURegister fs)
 
void abs_d (FPURegister fd, FPURegister fs)
 
void mov_d (FPURegister fd, FPURegister fs)
 
void mov_s (FPURegister fd, FPURegister fs)
 
void neg_s (FPURegister fd, FPURegister fs)
 
void neg_d (FPURegister fd, FPURegister fs)
 
void sqrt_s (FPURegister fd, FPURegister fs)
 
void sqrt_d (FPURegister fd, FPURegister fs)
 
void rsqrt_s (FPURegister fd, FPURegister fs)
 
void rsqrt_d (FPURegister fd, FPURegister fs)
 
void recip_d (FPURegister fd, FPURegister fs)
 
void recip_s (FPURegister fd, FPURegister fs)
 
void cvt_w_s (FPURegister fd, FPURegister fs)
 
void cvt_w_d (FPURegister fd, FPURegister fs)
 
void trunc_w_s (FPURegister fd, FPURegister fs)
 
void trunc_w_d (FPURegister fd, FPURegister fs)
 
void round_w_s (FPURegister fd, FPURegister fs)
 
void round_w_d (FPURegister fd, FPURegister fs)
 
void floor_w_s (FPURegister fd, FPURegister fs)
 
void floor_w_d (FPURegister fd, FPURegister fs)
 
void ceil_w_s (FPURegister fd, FPURegister fs)
 
void ceil_w_d (FPURegister fd, FPURegister fs)
 
void rint_s (FPURegister fd, FPURegister fs)
 
void rint_d (FPURegister fd, FPURegister fs)
 
void rint (SecondaryField fmt, FPURegister fd, FPURegister fs)
 
void cvt_l_s (FPURegister fd, FPURegister fs)
 
void cvt_l_d (FPURegister fd, FPURegister fs)
 
void trunc_l_s (FPURegister fd, FPURegister fs)
 
void trunc_l_d (FPURegister fd, FPURegister fs)
 
void round_l_s (FPURegister fd, FPURegister fs)
 
void round_l_d (FPURegister fd, FPURegister fs)
 
void floor_l_s (FPURegister fd, FPURegister fs)
 
void floor_l_d (FPURegister fd, FPURegister fs)
 
void ceil_l_s (FPURegister fd, FPURegister fs)
 
void ceil_l_d (FPURegister fd, FPURegister fs)
 
void class_s (FPURegister fd, FPURegister fs)
 
void class_d (FPURegister fd, FPURegister fs)
 
void min (SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft)
 
void mina (SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft)
 
void max (SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft)
 
void maxa (SecondaryField fmt, FPURegister fd, FPURegister fs, FPURegister ft)
 
void min_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void min_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void max_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void max_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void mina_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void mina_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void maxa_s (FPURegister fd, FPURegister fs, FPURegister ft)
 
void maxa_d (FPURegister fd, FPURegister fs, FPURegister ft)
 
void cvt_s_w (FPURegister fd, FPURegister fs)
 
void cvt_s_l (FPURegister fd, FPURegister fs)
 
void cvt_s_d (FPURegister fd, FPURegister fs)
 
void cvt_d_w (FPURegister fd, FPURegister fs)
 
void cvt_d_l (FPURegister fd, FPURegister fs)
 
void cvt_d_s (FPURegister fd, FPURegister fs)
 
void cmp (FPUCondition cond, SecondaryField fmt, FPURegister fd, FPURegister ft, FPURegister fs)
 
void cmp_s (FPUCondition cond, FPURegister fd, FPURegister fs, FPURegister ft)
 
void cmp_d (FPUCondition cond, FPURegister fd, FPURegister fs, FPURegister ft)
 
void bc1eqz (int16_t offset, FPURegister ft)
 
void bc1eqz (Label *L, FPURegister ft)
 
void bc1nez (int16_t offset, FPURegister ft)
 
void bc1nez (Label *L, FPURegister ft)
 
void c (FPUCondition cond, SecondaryField fmt, FPURegister ft, FPURegister fs, uint16_t cc=0)
 
void c_s (FPUCondition cond, FPURegister ft, FPURegister fs, uint16_t cc=0)
 
void c_d (FPUCondition cond, FPURegister ft, FPURegister fs, uint16_t cc=0)
 
void bc1f (int16_t offset, uint16_t cc=0)
 
void bc1f (Label *L, uint16_t cc=0)
 
void bc1t (int16_t offset, uint16_t cc=0)
 
void bc1t (Label *L, uint16_t cc=0)
 
void fcmp (FPURegister src1, const double src2, FPUCondition cond)
 
void bz_v (MSARegister wt, int16_t offset)
 
void bz_v (MSARegister wt, Label *L)
 
void bz_b (MSARegister wt, int16_t offset)
 
void bz_b (MSARegister wt, Label *L)
 
void bz_h (MSARegister wt, int16_t offset)
 
void bz_h (MSARegister wt, Label *L)
 
void bz_w (MSARegister wt, int16_t offset)
 
void bz_w (MSARegister wt, Label *L)
 
void bz_d (MSARegister wt, int16_t offset)
 
void bz_d (MSARegister wt, Label *L)
 
void bnz_v (MSARegister wt, int16_t offset)
 
void bnz_v (MSARegister wt, Label *L)
 
void bnz_b (MSARegister wt, int16_t offset)
 
void bnz_b (MSARegister wt, Label *L)
 
void bnz_h (MSARegister wt, int16_t offset)
 
void bnz_h (MSARegister wt, Label *L)
 
void bnz_w (MSARegister wt, int16_t offset)
 
void bnz_w (MSARegister wt, Label *L)
 
void bnz_d (MSARegister wt, int16_t offset)
 
void bnz_d (MSARegister wt, Label *L)
 
void ld_b (MSARegister wd, const MemOperand &rs)
 
void ld_h (MSARegister wd, const MemOperand &rs)
 
void ld_w (MSARegister wd, const MemOperand &rs)
 
void ld_d (MSARegister wd, const MemOperand &rs)
 
void st_b (MSARegister wd, const MemOperand &rs)
 
void st_h (MSARegister wd, const MemOperand &rs)
 
void st_w (MSARegister wd, const MemOperand &rs)
 
void st_d (MSARegister wd, const MemOperand &rs)
 
void ldi_b (MSARegister wd, int32_t imm10)
 
void ldi_h (MSARegister wd, int32_t imm10)
 
void ldi_w (MSARegister wd, int32_t imm10)
 
void ldi_d (MSARegister wd, int32_t imm10)
 
void addvi_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void addvi_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void addvi_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void addvi_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void subvi_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void subvi_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void subvi_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void subvi_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void maxi_s_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void maxi_s_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void maxi_s_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void maxi_s_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void maxi_u_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void maxi_u_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void maxi_u_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void maxi_u_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void mini_s_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void mini_s_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void mini_s_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void mini_s_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void mini_u_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void mini_u_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void mini_u_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void mini_u_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void ceqi_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void ceqi_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void ceqi_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void ceqi_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clti_s_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clti_s_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clti_s_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clti_s_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clti_u_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clti_u_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clti_u_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clti_u_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clei_s_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clei_s_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clei_s_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clei_s_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clei_u_b (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clei_u_h (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clei_u_w (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void clei_u_d (MSARegister wd, MSARegister ws, uint32_t imm5)
 
void andi_b (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void ori_b (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void nori_b (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void xori_b (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void bmnzi_b (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void bmzi_b (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void bseli_b (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void shf_b (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void shf_h (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void shf_w (MSARegister wd, MSARegister ws, uint32_t imm8)
 
void and_v (MSARegister wd, MSARegister ws, MSARegister wt)
 
void or_v (MSARegister wd, MSARegister ws, MSARegister wt)
 
void nor_v (MSARegister wd, MSARegister ws, MSARegister wt)
 
void xor_v (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bmnz_v (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bmz_v (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bsel_v (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fill_b (MSARegister wd, Register rs)
 
void fill_h (MSARegister wd, Register rs)
 
void fill_w (MSARegister wd, Register rs)
 
void fill_d (MSARegister wd, Register rs)
 
void pcnt_b (MSARegister wd, MSARegister ws)
 
void pcnt_h (MSARegister wd, MSARegister ws)
 
void pcnt_w (MSARegister wd, MSARegister ws)
 
void pcnt_d (MSARegister wd, MSARegister ws)
 
void nloc_b (MSARegister wd, MSARegister ws)
 
void nloc_h (MSARegister wd, MSARegister ws)
 
void nloc_w (MSARegister wd, MSARegister ws)
 
void nloc_d (MSARegister wd, MSARegister ws)
 
void nlzc_b (MSARegister wd, MSARegister ws)
 
void nlzc_h (MSARegister wd, MSARegister ws)
 
void nlzc_w (MSARegister wd, MSARegister ws)
 
void nlzc_d (MSARegister wd, MSARegister ws)
 
void fclass_w (MSARegister wd, MSARegister ws)
 
void fclass_d (MSARegister wd, MSARegister ws)
 
void ftrunc_s_w (MSARegister wd, MSARegister ws)
 
void ftrunc_s_d (MSARegister wd, MSARegister ws)
 
void ftrunc_u_w (MSARegister wd, MSARegister ws)
 
void ftrunc_u_d (MSARegister wd, MSARegister ws)
 
void fsqrt_w (MSARegister wd, MSARegister ws)
 
void fsqrt_d (MSARegister wd, MSARegister ws)
 
void frsqrt_w (MSARegister wd, MSARegister ws)
 
void frsqrt_d (MSARegister wd, MSARegister ws)
 
void frcp_w (MSARegister wd, MSARegister ws)
 
void frcp_d (MSARegister wd, MSARegister ws)
 
void frint_w (MSARegister wd, MSARegister ws)
 
void frint_d (MSARegister wd, MSARegister ws)
 
void flog2_w (MSARegister wd, MSARegister ws)
 
void flog2_d (MSARegister wd, MSARegister ws)
 
void fexupl_w (MSARegister wd, MSARegister ws)
 
void fexupl_d (MSARegister wd, MSARegister ws)
 
void fexupr_w (MSARegister wd, MSARegister ws)
 
void fexupr_d (MSARegister wd, MSARegister ws)
 
void ffql_w (MSARegister wd, MSARegister ws)
 
void ffql_d (MSARegister wd, MSARegister ws)
 
void ffqr_w (MSARegister wd, MSARegister ws)
 
void ffqr_d (MSARegister wd, MSARegister ws)
 
void ftint_s_w (MSARegister wd, MSARegister ws)
 
void ftint_s_d (MSARegister wd, MSARegister ws)
 
void ftint_u_w (MSARegister wd, MSARegister ws)
 
void ftint_u_d (MSARegister wd, MSARegister ws)
 
void ffint_s_w (MSARegister wd, MSARegister ws)
 
void ffint_s_d (MSARegister wd, MSARegister ws)
 
void ffint_u_w (MSARegister wd, MSARegister ws)
 
void ffint_u_d (MSARegister wd, MSARegister ws)
 
void sll_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sll_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sll_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sll_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sra_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sra_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sra_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sra_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srl_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srl_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srl_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srl_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bclr_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bclr_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bclr_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bclr_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bset_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bset_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bset_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bset_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bneg_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bneg_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bneg_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void bneg_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void binsl_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void binsl_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void binsl_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void binsl_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void binsr_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void binsr_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void binsr_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void binsr_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void addv_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void addv_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void addv_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void addv_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subv_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subv_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subv_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subv_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_a_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_a_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_a_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void max_a_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_a_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_a_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_a_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void min_a_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ceq_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ceq_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ceq_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ceq_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void clt_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void clt_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void clt_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void clt_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void clt_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void clt_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void clt_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void clt_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void cle_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void cle_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void cle_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void cle_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void cle_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void cle_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void cle_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void cle_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void add_a_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void add_a_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void add_a_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void add_a_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_a_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_a_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_a_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_a_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void adds_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ave_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ave_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ave_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ave_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ave_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ave_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ave_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ave_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void aver_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void aver_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void aver_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void aver_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void aver_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void aver_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void aver_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void aver_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subs_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subs_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subs_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subs_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subs_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subs_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subs_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subs_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsus_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsus_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsus_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsus_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsus_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsus_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsus_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsus_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsuu_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsuu_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsuu_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsuu_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsuu_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsuu_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsuu_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void subsuu_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void asub_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void asub_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void asub_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void asub_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void asub_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void asub_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void asub_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void asub_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mulv_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mulv_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mulv_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mulv_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void maddv_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void maddv_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void maddv_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void maddv_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void msubv_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void msubv_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void msubv_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void msubv_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void div_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void div_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void div_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void div_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void div_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void div_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void div_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void div_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mod_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mod_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mod_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mod_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mod_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mod_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mod_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mod_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dotp_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dotp_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dotp_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dotp_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dotp_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dotp_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dotp_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dotp_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpadd_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpadd_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpadd_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpadd_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpadd_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpadd_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpadd_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpadd_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpsub_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpsub_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpsub_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpsub_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpsub_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpsub_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpsub_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void dpsub_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sld_b (MSARegister wd, MSARegister ws, Register rt)
 
void sld_h (MSARegister wd, MSARegister ws, Register rt)
 
void sld_w (MSARegister wd, MSARegister ws, Register rt)
 
void sld_d (MSARegister wd, MSARegister ws, Register rt)
 
void splat_b (MSARegister wd, MSARegister ws, Register rt)
 
void splat_h (MSARegister wd, MSARegister ws, Register rt)
 
void splat_w (MSARegister wd, MSARegister ws, Register rt)
 
void splat_d (MSARegister wd, MSARegister ws, Register rt)
 
void pckev_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void pckev_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void pckev_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void pckev_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void pckod_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void pckod_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void pckod_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void pckod_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvl_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvl_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvl_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvl_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvr_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvr_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvr_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvr_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvev_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvev_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvev_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvev_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvod_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvod_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvod_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ilvod_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void vshf_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void vshf_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void vshf_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void vshf_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srar_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srar_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srar_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srar_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srlr_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srlr_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srlr_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void srlr_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hadd_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hadd_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hadd_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hadd_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hadd_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hadd_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hadd_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hadd_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hsub_s_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hsub_s_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hsub_s_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hsub_s_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hsub_u_b (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hsub_u_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hsub_u_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void hsub_u_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcaf_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcaf_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcun_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcun_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fceq_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fceq_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcueq_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcueq_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fclt_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fclt_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcult_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcult_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcle_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcle_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcule_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcule_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsaf_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsaf_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsun_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsun_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fseq_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fseq_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsueq_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsueq_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fslt_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fslt_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsult_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsult_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsle_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsle_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsule_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsule_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fadd_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fadd_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsub_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsub_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmul_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmul_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fdiv_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fdiv_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmadd_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmadd_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmsub_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmsub_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fexp2_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fexp2_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fexdo_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fexdo_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ftq_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void ftq_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmin_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmin_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmin_a_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmin_a_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmax_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmax_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmax_a_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fmax_a_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcor_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcor_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcune_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcune_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcne_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fcne_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mul_q_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mul_q_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void madd_q_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void madd_q_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void msub_q_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void msub_q_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsor_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsor_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsune_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsune_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsne_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void fsne_d (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mulr_q_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void mulr_q_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void maddr_q_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void maddr_q_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void msubr_q_h (MSARegister wd, MSARegister ws, MSARegister wt)
 
void msubr_q_w (MSARegister wd, MSARegister ws, MSARegister wt)
 
void sldi_b (MSARegister wd, MSARegister ws, uint32_t n)
 
void sldi_h (MSARegister wd, MSARegister ws, uint32_t n)
 
void sldi_w (MSARegister wd, MSARegister ws, uint32_t n)
 
void sldi_d (MSARegister wd, MSARegister ws, uint32_t n)
 
void splati_b (MSARegister wd, MSARegister ws, uint32_t n)
 
void splati_h (MSARegister wd, MSARegister ws, uint32_t n)
 
void splati_w (MSARegister wd, MSARegister ws, uint32_t n)
 
void splati_d (MSARegister wd, MSARegister ws, uint32_t n)
 
void copy_s_b (Register rd, MSARegister ws, uint32_t n)
 
void copy_s_h (Register rd, MSARegister ws, uint32_t n)
 
void copy_s_w (Register rd, MSARegister ws, uint32_t n)
 
void copy_s_d (Register rd, MSARegister ws, uint32_t n)
 
void copy_u_b (Register rd, MSARegister ws, uint32_t n)
 
void copy_u_h (Register rd, MSARegister ws, uint32_t n)
 
void copy_u_w (Register rd, MSARegister ws, uint32_t n)
 
void insert_b (MSARegister wd, uint32_t n, Register rs)
 
void insert_h (MSARegister wd, uint32_t n, Register rs)
 
void insert_w (MSARegister wd, uint32_t n, Register rs)
 
void insert_d (MSARegister wd, uint32_t n, Register rs)
 
void insve_b (MSARegister wd, uint32_t n, MSARegister ws)
 
void insve_h (MSARegister wd, uint32_t n, MSARegister ws)
 
void insve_w (MSARegister wd, uint32_t n, MSARegister ws)
 
void insve_d (MSARegister wd, uint32_t n, MSARegister ws)
 
void move_v (MSARegister wd, MSARegister ws)
 
void ctcmsa (MSAControlRegister cd, Register rs)
 
void cfcmsa (Register rd, MSAControlRegister cs)
 
void slli_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void slli_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void slli_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void slli_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void srai_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void srai_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void srai_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void srai_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void srli_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void srli_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void srli_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void srli_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void bclri_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void bclri_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void bclri_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void bclri_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void bseti_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void bseti_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void bseti_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void bseti_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void bnegi_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void bnegi_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void bnegi_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void bnegi_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void binsli_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void binsli_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void binsli_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void binsli_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void binsri_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void binsri_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void binsri_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void binsri_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void sat_s_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void sat_s_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void sat_s_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void sat_s_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void sat_u_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void sat_u_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void sat_u_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void sat_u_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void srari_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void srari_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void srari_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void srari_d (MSARegister wd, MSARegister ws, uint32_t m)
 
void srlri_b (MSARegister wd, MSARegister ws, uint32_t m)
 
void srlri_h (MSARegister wd, MSARegister ws, uint32_t m)
 
void srlri_w (MSARegister wd, MSARegister ws, uint32_t m)
 
void srlri_d (MSARegister wd, MSARegister ws, uint32_t m)
 
int SizeOfCodeGeneratedSince (Label *label)
 
int InstructionsGeneratedSince (Label *label)
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
void dd (Label *label)
 
void BlockTrampolinePoolFor (int instructions)
 
bool overflow () const
 
intptr_t available_space () const
 
Instr instr_at (int pos)
 
void instr_at_put (int pos, Instr instr, WritableJitAllocation *jit_allocation=nullptr)
 
void CheckTrampolinePool ()
 
bool IsPrevInstrCompactBranch ()
 
int UnboundLabelsCount ()
 
bool is_trampoline_emitted () const
 
 Assembler (const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer > buffer={})
 
virtual ~Assembler ()
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilderBase *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void MaybeEmitOutOfLineConstantPool ()
 
void CheckTrampolinePoolQuick (int extra_space=0)
 
void bind (Label *L)
 
int link (Label *L)
 
bool is_near (Label *L, Condition cond)
 
int branch_offset (Label *L)
 
V8_INLINE void PatchConstantPoolAccessInstruction (int pc_offset, int offset, ConstantPoolEntry::Access access, ConstantPoolEntry::Type type)
 
Handle< Objectcode_target_object_handle_at (Address pc, Address constant_pool)
 
Handle< HeapObjectcompressed_embedded_object_handle_at (Address pc, Address constant_pool)
 
void x_form (Instr instr, int f1, int f2, int f3, int rc)
 
void x_form (Instr instr, Register rs, Register ra, Register rb, RCBit rc)
 
void x_form (Instr instr, Register ra, Register rs, Register rb, EHBit eh=SetEH)
 
void x_form (Instr instr, CRegister cr, Register s1, Register s2, RCBit rc)
 
void notx (Register dst, Register src, RCBit rc=LeaveRC)
 
void lwax (Register rt, const MemOperand &src)
 
void extsw (Register rs, Register ra, RCBit rc=LeaveRC)
 
template<typename T >
void xx2_form (Instr instr, T t, T b)
 
void xx3_form (Instr instr, Simd128Register t, Simd128Register a, Simd128Register b, int rc)
 
template<typename T >
void xx3_form (Instr instr, T t, T a, T b)
 
void vx_form (Instr instr, Simd128Register rt, Simd128Register rb, const Operand &imm)
 
void vx_form (Instr instr, Simd128Register rt, Simd128Register ra, Simd128Register rb)
 
void vx_form (Instr instr, Simd128Register rt, Simd128Register rb)
 
void vx_form (Instr instr, Simd128Register rt, const Operand &imm)
 
void vx_form (Instr instr, Register rt, Simd128Register rb)
 
void vx_form (Instr instr, Simd128Register rt, Register rb, const Operand &imm)
 
 PPC_VX_OPCODE_D_FORM_LIST (DECLARE_PPC_VX_INSTRUCTIONS_C_FORM) inline void va_form(Instr instr
 
void vc_form (Instr instr, Simd128Register rt, Simd128Register ra, Simd128Register rb, int rc)
 
void prefix_form (Instr instr, const Operand &imm, int pr)
 
RegListGetScratchRegisterList ()
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void bclr (BOfield bo, int condition_bit, LKBit lk)
 
void blr ()
 
void bc (int branch_offset, BOfield bo, int condition_bit, LKBit lk=LeaveLK)
 
void b (int branch_offset, LKBit lk)
 
void bcctr (BOfield bo, int condition_bit, LKBit lk)
 
void bctr ()
 
void bctrl ()
 
void b (Label *L, LKBit lk=LeaveLK)
 
CRegister cmpi_optimization (CRegister cr)
 
void bc_short (Condition cond, Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void bclr (Condition cond, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void isel (Register rt, Register ra, Register rb, int cb)
 
void isel (Condition cond, Register rt, Register ra, Register rb, CRegister cr=cr0)
 
void b (Condition cond, Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void bne (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void beq (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void blt (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void bge (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void ble (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void bgt (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void bunordered (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void bordered (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void boverflow (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void bnooverflow (Label *L, CRegister cr=cr0, LKBit lk=LeaveLK)
 
void bdnz (Label *L, LKBit lk=LeaveLK)
 
void sub (Register dst, Register src1, Register src2, OEBit s=LeaveOE, RCBit r=LeaveRC)
 
void subc (Register dst, Register src1, Register src2, OEBit s=LeaveOE, RCBit r=LeaveRC)
 
void sube (Register dst, Register src1, Register src2, OEBit s=LeaveOE, RCBit r=LeaveRC)
 
void subfic (Register dst, Register src, const Operand &imm)
 
void add (Register dst, Register src1, Register src2, OEBit s=LeaveOE, RCBit r=LeaveRC)
 
void addc (Register dst, Register src1, Register src2, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void adde (Register dst, Register src1, Register src2, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void addze (Register dst, Register src1, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void mullw (Register dst, Register src1, Register src2, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void mulhw (Register dst, Register src1, Register src2, RCBit r=LeaveRC)
 
void mulhwu (Register dst, Register src1, Register src2, RCBit r=LeaveRC)
 
void mulhd (Register dst, Register src1, Register src2, RCBit r=LeaveRC)
 
void mulhdu (Register dst, Register src1, Register src2, RCBit r=LeaveRC)
 
void mulli (Register dst, Register src, const Operand &imm)
 
void divw (Register dst, Register src1, Register src2, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void divwu (Register dst, Register src1, Register src2, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void addi (Register dst, Register src, const Operand &imm)
 
void addis (Register dst, Register src, const Operand &imm)
 
void addic (Register dst, Register src, const Operand &imm)
 
void andi (Register ra, Register rs, const Operand &imm)
 
void andis (Register ra, Register rs, const Operand &imm)
 
void ori (Register dst, Register src, const Operand &imm)
 
void oris (Register dst, Register src, const Operand &imm)
 
void xori (Register dst, Register src, const Operand &imm)
 
void xoris (Register ra, Register rs, const Operand &imm)
 
void cmpi (Register src1, const Operand &src2, CRegister cr=cr0)
 
void cmpli (Register src1, const Operand &src2, CRegister cr=cr0)
 
void cmpwi (Register src1, const Operand &src2, CRegister cr=cr0)
 
void cmplwi (Register src1, const Operand &src2, CRegister cr=cr0)
 
void li (Register dst, const Operand &src)
 
void lis (Register dst, const Operand &imm)
 
void mr (Register dst, Register src)
 
void lbz (Register dst, const MemOperand &src)
 
void lhz (Register dst, const MemOperand &src)
 
void lha (Register dst, const MemOperand &src)
 
void lwz (Register dst, const MemOperand &src)
 
void lwzu (Register dst, const MemOperand &src)
 
void lwa (Register dst, const MemOperand &src)
 
void stb (Register dst, const MemOperand &src)
 
void sth (Register dst, const MemOperand &src)
 
void stw (Register dst, const MemOperand &src)
 
void stwu (Register dst, const MemOperand &src)
 
void neg (Register rt, Register ra, OEBit o=LeaveOE, RCBit c=LeaveRC)
 
void ld (Register rd, const MemOperand &src)
 
void ldu (Register rd, const MemOperand &src)
 
void std (Register rs, const MemOperand &src)
 
void stdu (Register rs, const MemOperand &src)
 
void rldic (Register dst, Register src, int sh, int mb, RCBit r=LeaveRC)
 
void rldicl (Register dst, Register src, int sh, int mb, RCBit r=LeaveRC)
 
void rldcl (Register ra, Register rs, Register rb, int mb, RCBit r=LeaveRC)
 
void rldicr (Register dst, Register src, int sh, int me, RCBit r=LeaveRC)
 
void rldimi (Register dst, Register src, int sh, int mb, RCBit r=LeaveRC)
 
void sldi (Register dst, Register src, const Operand &val, RCBit rc=LeaveRC)
 
void srdi (Register dst, Register src, const Operand &val, RCBit rc=LeaveRC)
 
void clrrdi (Register dst, Register src, const Operand &val, RCBit rc=LeaveRC)
 
void clrldi (Register dst, Register src, const Operand &val, RCBit rc=LeaveRC)
 
void sradi (Register ra, Register rs, int sh, RCBit r=LeaveRC)
 
void rotld (Register ra, Register rs, Register rb, RCBit r=LeaveRC)
 
void rotldi (Register ra, Register rs, int sh, RCBit r=LeaveRC)
 
void rotrdi (Register ra, Register rs, int sh, RCBit r=LeaveRC)
 
void mulld (Register dst, Register src1, Register src2, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void divd (Register dst, Register src1, Register src2, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void divdu (Register dst, Register src1, Register src2, OEBit o=LeaveOE, RCBit r=LeaveRC)
 
void rlwinm (Register ra, Register rs, int sh, int mb, int me, RCBit rc=LeaveRC)
 
void rlwimi (Register ra, Register rs, int sh, int mb, int me, RCBit rc=LeaveRC)
 
void rlwnm (Register ra, Register rs, Register rb, int mb, int me, RCBit rc=LeaveRC)
 
void slwi (Register dst, Register src, const Operand &val, RCBit rc=LeaveRC)
 
void srwi (Register dst, Register src, const Operand &val, RCBit rc=LeaveRC)
 
void clrrwi (Register dst, Register src, const Operand &val, RCBit rc=LeaveRC)
 
void clrlwi (Register dst, Register src, const Operand &val, RCBit rc=LeaveRC)
 
void rotlw (Register ra, Register rs, Register rb, RCBit r=LeaveRC)
 
void rotlwi (Register ra, Register rs, int sh, RCBit r=LeaveRC)
 
void rotrwi (Register ra, Register rs, int sh, RCBit r=LeaveRC)
 
void subi (Register dst, Register src1, const Operand &src2)
 
void mov (Register dst, const Operand &src)
 
void bitwise_mov (Register dst, intptr_t value)
 
void bitwise_mov32 (Register dst, int32_t value)
 
void bitwise_add32 (Register dst, Register src, int32_t value)
 
void patch_pc_address (Register dst, int pc_offset, int return_address_offset)
 
void mov_label_offset (Register dst, Label *label)
 
void add_label_offset (Register dst, Register base, Label *label, int delta=0)
 
void mov_label_addr (Register dst, Label *label)
 
void emit_label_addr (Label *label)
 
void mul (Register dst, Register src1, Register src2, OEBit s=LeaveOE, RCBit r=LeaveRC)
 
void crxor (int bt, int ba, int bb)
 
void crclr (int bt)
 
void creqv (int bt, int ba, int bb)
 
void crset (int bt)
 
void mflr (Register dst)
 
void mtlr (Register src)
 
void mtctr (Register src)
 
void mtxer (Register src)
 
void mcrfs (CRegister cr, FPSCRBit bit)
 
void mfcr (Register dst)
 
void mtcrf (Register src, uint8_t FXM)
 
void mffprd (Register dst, DoubleRegister src)
 
void mffprwz (Register dst, DoubleRegister src)
 
void mtfprd (DoubleRegister dst, Register src)
 
void mtfprwz (DoubleRegister dst, Register src)
 
void mtfprwa (DoubleRegister dst, Register src)
 
void stop (Condition cond=al, int32_t code=kDefaultStopCode, CRegister cr=cr0)
 
void bkpt (uint32_t imm16)
 
void dcbf (Register ra, Register rb)
 
void sync ()
 
void lwsync ()
 
void icbi (Register ra, Register rb)
 
void isync ()
 
void lfd (const DoubleRegister frt, const MemOperand &src)
 
void lfdu (const DoubleRegister frt, const MemOperand &src)
 
void lfs (const DoubleRegister frt, const MemOperand &src)
 
void lfsu (const DoubleRegister frt, const MemOperand &src)
 
void stfd (const DoubleRegister frs, const MemOperand &src)
 
void stfdu (const DoubleRegister frs, const MemOperand &src)
 
void stfs (const DoubleRegister frs, const MemOperand &src)
 
void stfsu (const DoubleRegister frs, const MemOperand &src)
 
void fadd (const DoubleRegister frt, const DoubleRegister fra, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fsub (const DoubleRegister frt, const DoubleRegister fra, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fdiv (const DoubleRegister frt, const DoubleRegister fra, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fmul (const DoubleRegister frt, const DoubleRegister fra, const DoubleRegister frc, RCBit rc=LeaveRC)
 
void fcmpu (const DoubleRegister fra, const DoubleRegister frb, CRegister cr=cr0)
 
void fmr (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fctiwz (const DoubleRegister frt, const DoubleRegister frb)
 
void fctiw (const DoubleRegister frt, const DoubleRegister frb)
 
void fctiwuz (const DoubleRegister frt, const DoubleRegister frb)
 
void frin (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void friz (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void frip (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void frim (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void frsp (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fcfid (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fcfidu (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fcfidus (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fcfids (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fctid (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fctidz (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fctidu (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fctiduz (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fsel (const DoubleRegister frt, const DoubleRegister fra, const DoubleRegister frc, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fneg (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void mtfsb0 (FPSCRBit bit, RCBit rc=LeaveRC)
 
void mtfsb1 (FPSCRBit bit, RCBit rc=LeaveRC)
 
void mtfsfi (int bf, int immediate, RCBit rc=LeaveRC)
 
void mffs (const DoubleRegister frt, RCBit rc=LeaveRC)
 
void mtfsf (const DoubleRegister frb, bool L=1, int FLM=0, bool W=0, RCBit rc=LeaveRC)
 
void fsqrt (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fabs (const DoubleRegister frt, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fmadd (const DoubleRegister frt, const DoubleRegister fra, const DoubleRegister frc, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fmsub (const DoubleRegister frt, const DoubleRegister fra, const DoubleRegister frc, const DoubleRegister frb, RCBit rc=LeaveRC)
 
void fcpsgn (const DoubleRegister frt, const DoubleRegister fra, const DoubleRegister frc, RCBit rc=LeaveRC)
 
void mfvsrd (const Register ra, const Simd128Register r)
 
void mfvsrwz (const Register ra, const Simd128Register r)
 
void mtvsrd (const Simd128Register rt, const Register ra)
 
void mtvsrdd (const Simd128Register rt, const Register ra, const Register rb)
 
void lxvd (const Simd128Register rt, const MemOperand &src)
 
void lxvx (const Simd128Register rt, const MemOperand &src)
 
void lxsdx (const Simd128Register rt, const MemOperand &src)
 
void lxsibzx (const Simd128Register rt, const MemOperand &src)
 
void lxsihzx (const Simd128Register rt, const MemOperand &src)
 
void lxsiwzx (const Simd128Register rt, const MemOperand &src)
 
void stxsdx (const Simd128Register rs, const MemOperand &dst)
 
void stxsibx (const Simd128Register rs, const MemOperand &dst)
 
void stxsihx (const Simd128Register rs, const MemOperand &dst)
 
void stxsiwx (const Simd128Register rs, const MemOperand &dst)
 
void stxvd (const Simd128Register rt, const MemOperand &dst)
 
void stxvx (const Simd128Register rt, const MemOperand &dst)
 
void xxspltib (const Simd128Register rt, const Operand &imm)
 
void paddi (Register dst, Register src, const Operand &imm)
 
void pli (Register dst, const Operand &imm)
 
void psubi (Register dst, Register src, const Operand &imm)
 
void plbz (Register dst, const MemOperand &src)
 
void plhz (Register dst, const MemOperand &src)
 
void plha (Register dst, const MemOperand &src)
 
void plwz (Register dst, const MemOperand &src)
 
void plwa (Register dst, const MemOperand &src)
 
void pld (Register dst, const MemOperand &src)
 
void plfs (DoubleRegister dst, const MemOperand &src)
 
void plfd (DoubleRegister dst, const MemOperand &src)
 
void pstb (Register src, const MemOperand &dst)
 
void psth (Register src, const MemOperand &dst)
 
void pstw (Register src, const MemOperand &dst)
 
void pstd (Register src, const MemOperand &dst)
 
void pstfs (const DoubleRegister src, const MemOperand &dst)
 
void pstfd (const DoubleRegister src, const MemOperand &dst)
 
void nop (int type=0)
 
void push (Register src)
 
void pop (Register dst)
 
void pop ()
 
void jmp (Label *L)
 
int SizeOfCodeGeneratedSince (Label *label)
 
int InstructionsGeneratedSince (Label *label)
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
Instr instr_at (int pos)
 
void instr_at_put (int pos, Instr instr)
 
void BlockTrampolinePoolFor (int instructions)
 
void CheckTrampolinePool ()
 
int instructions_required_for_mov (Register dst, const Operand &src) const
 
bool use_constant_pool_for_mov (Register dst, const Operand &src, bool canOptimize) const
 
void EnsureSpaceFor (int space_needed)
 
int EmitConstantPool ()
 
bool ConstantPoolAccessIsInOverflow () const
 
LabelConstantPoolPosition ()
 
void EmitRelocations ()
 
 Assembler (const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer > buffer={})
 
virtual ~Assembler ()
 
void AbortedCodeGeneration ()
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilderBase *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void MaybeEmitOutOfLineConstantPool ()
 
void bind (Label *L)
 
bool is_near (Label *L)
 
bool is_near (Label *L, OffsetSize bits)
 
bool is_near_branch (Label *L)
 
int BranchOffset (Instr instr)
 
virtual int32_t branch_offset_helper (Label *L, OffsetSize bits)
 
uintptr_t jump_address (Label *L)
 
int32_t branch_long_offset (Label *L)
 
void label_at_put (Label *L, int at_offset)
 
Handle< Objectcode_target_object_handle_at (Address pc, Address constant_pool)
 
Handle< HeapObjectcompressed_embedded_object_handle_at (Address pc, Address constant_pool)
 
Handle< HeapObjectembedded_object_handle_at (Address pc)
 
void EmitPoolGuard ()
 
RegListGetScratchRegisterList ()
 
DoubleRegListGetScratchDoubleRegisterList ()
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void NOP ()
 
void EBREAK ()
 
void nop ()
 
void break_ (uint32_t code, bool break_as_stop=false)
 
void stop (uint32_t code=kMaxStopCode)
 
int SizeOfCodeGeneratedSince (Label *label)
 
int InstructionsGeneratedSince (Label *label)
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
void dd (Label *label)
 
Instructionpc () const
 
InstructionInstructionAt (ptrdiff_t offset) const
 
void BlockTrampolinePoolFor (int instructions)
 
bool overflow () const
 
intptr_t available_space () const
 
Instr instr_at (int pos)
 
void instr_at_put (int pos, Instr instr, WritableJitAllocation *jit_allocation=nullptr)
 
void instr_at_put (int pos, ShortInstr instr, WritableJitAllocation *jit_allocation=nullptr)
 
Address toAddress (int pos)
 
void CheckTrampolinePool ()
 
V8_INLINE Handle< Coderelative_code_target_object_handle_at (Address pc_) const
 
int UnboundLabelsCount ()
 
void RecordConstPool (int size)
 
void ForceConstantPoolEmissionWithoutJump ()
 
void ForceConstantPoolEmissionWithJump ()
 
void EmitConstPoolWithJumpIfNeeded (size_t margin=0)
 
void EmitConstPoolWithoutJumpIfNeeded (size_t margin=0)
 
RelocInfoStatus RecordEntry (uint32_t data, RelocInfo::Mode rmode)
 
RelocInfoStatus RecordEntry (uint64_t data, RelocInfo::Mode rmode)
 
void CheckTrampolinePoolQuick (int extra_instructions=0)
 
void ClearVectorunit ()
 
 Assembler (const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer > buffer={})
 
virtual ~Assembler ()
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilderBase *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void MaybeEmitOutOfLineConstantPool ()
 
void bind (Label *L)
 
int link (Label *L)
 
int branch_offset (Label *L)
 
void load_label_offset (Register r1, Label *L)
 
Handle< Objectcode_target_object_handle_at (Address pc)
 
Handle< HeapObjectcompressed_embedded_object_handle_at (Address pc, Address constant_pool)
 
RegListGetScratchRegisterList ()
 
DoubleRegListGetScratchDoubleRegisterList ()
 
template<class T , int size, int lo, int hi>
T getfield (T value)
 
void ril_format (Opcode opcode, int f1, int f2)
 
void rr_format (Opcode opcode, int f1, int f2)
 
void rrd_format (Opcode opcode, int f1, int f2, int f3)
 
void rre_format (Opcode opcode, int f1, int f2)
 
void lzdr (DoubleRegister r1)
 
void lzer (DoubleRegister r1)
 
void rx_format (Opcode opcode, int f1, int f2, int f3, int f4)
 
void bc (Condition cond, const MemOperand &opnd)
 
void bc (Condition cond, Register x2, Register b2, const Operand &d2)
 
void rxy_format (Opcode opcode, int f1, int f2, int f3, int f4)
 
void pfd (Condition cond, const MemOperand &opnd)
 
void pfd (Condition cond, Register x2, Register b2, const Operand &d2)
 
void rsy_format (Opcode op, int f1, int f2, int f3, int f4)
 
void rs_format (Opcode op, int f1, int f2, int f3, const int f4)
 
void rxe_format (Opcode op, int f1, int f2, int f3, int f4, int f5=0)
 
void ri_format (Opcode opcode, int f1, int f2)
 
void rrf_format (Opcode op, int f1, int f2, int f3, int f4)
 
void rsi_format (Opcode op, int f1, int f2, int f3)
 
void rsl_format (Opcode op, uint16_t f1, int f2, int f3, int f4, int f5)
 
void s_format (Opcode op, int f1, int f2)
 
void si_format (Opcode op, int f1, int f2, int f3)
 
void siy_format (Opcode op, int f1, int f2, int f3)
 
void rrs_format (Opcode op, int f1, int f2, int f3, int f4, int f5)
 
void ris_format (Opcode op, int f1, int f2, int f3, int f4, int f5)
 
void sil_format (Opcode op, int f1, int f2, int f3)
 
void rie_d_format (Opcode opcode, int f1, int f2, int f3, int f4)
 
void rie_e_format (Opcode opcode, int f1, int f2, int f3)
 
void rie_f_format (Opcode opcode, int f1, int f2, int f3, int f4, int f5)
 
void ss_a_format (Opcode op, int f1, int f2, int f3, int f4, int f5)
 
void b (Register r, Label *l)
 
void branchOnCond (Condition c, int branch_offset, bool is_bound=false, bool force_long_branch=false)
 
void b (Condition cond, Label *l, Label::Distance dist=Label::kFar, bool force_long_branch=false)
 
void bc_short (Condition cond, Label *l, Label::Distance dist=Label::kFar)
 
void bc_long (Condition cond, Label *l)
 
void beq (Label *l, Label::Distance dist=Label::kFar)
 
void bne (Label *l, Label::Distance dist=Label::kFar)
 
void blt (Label *l, Label::Distance dist=Label::kFar)
 
void ble (Label *l, Label::Distance dist=Label::kFar)
 
void bgt (Label *l, Label::Distance dist=Label::kFar)
 
void bge (Label *l, Label::Distance dist=Label::kFar)
 
void b (Label *l, Label::Distance dist=Label::kFar)
 
void jmp (Label *l, Label::Distance dist=Label::kFar)
 
void bunordered (Label *l, Label::Distance dist=Label::kFar)
 
void bordered (Label *l, Label::Distance dist=Label::kFar)
 
void b (Condition cond, Register r)
 
void beq (Register r)
 
void bne (Register r)
 
void blt (Register r)
 
void ble (Register r)
 
void bgt (Register r)
 
void bge (Register r)
 
void b (Register r)
 
void jmp (Register r)
 
void bunordered (Register r)
 
void bordered (Register r)
 
void brxh (Register dst, Register inc, Label *L)
 
void brxhg (Register dst, Register inc, Label *L)
 
template<class R1 , class R2 >
void ledbr (R1 r1, R2 r2)
 
template<class R1 , class R2 >
void cdfbr (R1 r1, R2 r2)
 
template<class R1 , class R2 >
void cdgbr (R1 r1, R2 r2)
 
template<class R1 , class R2 >
void cegbr (R1 r1, R2 r2)
 
template<class R1 , class R2 >
void cgebr (Condition m3, R1 r1, R2 r2)
 
template<class R1 , class R2 >
void cgdbr (Condition m3, R1 r1, R2 r2)
 
template<class R1 , class R2 >
void cfdbr (Condition m3, R1 r1, R2 r2)
 
template<class R1 , class R2 >
void cfebr (Condition m3, R1 r1, R2 r2)
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void breakpoint (bool do_print)
 
void call (Handle< Code > target, RelocInfo::Mode rmode)
 
void jump (Handle< Code > target, RelocInfo::Mode rmode, Condition cond)
 
void vfa (DoubleRegister v1, DoubleRegister v2, DoubleRegister v3)
 
void vfs (DoubleRegister v1, DoubleRegister v2, DoubleRegister v3)
 
void vfm (DoubleRegister v1, DoubleRegister v2, DoubleRegister v3)
 
void vfd (DoubleRegister v1, DoubleRegister v2, DoubleRegister v3)
 
void larl (Register r, Label *l)
 
void lgrl (Register r, Label *l)
 
void stop (Condition cond=al, int32_t code=kDefaultStopCode, CRegister cr=cr7)
 
void bkpt (uint32_t imm16)
 
void nop (int type=0)
 
void dumy (int r1, int x2, int b2, int d2)
 
int SizeOfCodeGeneratedSince (Label *label)
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
void db (uint8_t data)
 
void dh (uint16_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
SixByteInstr instr_at (int pos)
 
template<typename T >
void instr_at_put (int pos, T instr)
 
int32_t instr_length_at (int pos)
 
void EnsureSpaceFor (int space_needed)
 
void EmitRelocations ()
 
void emit_label_addr (Label *label)
 
uint8_t * buffer_pos () const
 
 Assembler (const AssemblerOptions &, std::unique_ptr< AssemblerBuffer >={})
 
 Assembler (const MaybeAssemblerZone &, const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer > buffer={})
 
 ~Assembler () override=default
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc, SafepointTableBuilderBase *safepoint_table_builder, int handler_table_offset)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void GetCode (LocalIsolate *isolate, CodeDesc *desc)
 
void FinalizeJumpOptimizationInfo ()
 
void MaybeEmitOutOfLineConstantPool ()
 
DirectHandle< Codecode_target_object_handle_at (Address pc)
 
DirectHandle< HeapObjectcompressed_embedded_object_handle_at (Address pc)
 
void Align (int m)
 
void DataAlign (int m)
 
void Nop (int bytes=1)
 
void AlignForJCCErratum (int inst_size)
 
void emit_trace_instruction (Immediate markid)
 
void CodeTargetAlign ()
 
void LoopHeaderAlign ()
 
void pushfq ()
 
void popfq ()
 
void pushq (Immediate value)
 
void pushq_imm32 (int32_t imm32)
 
void pushq (Register src)
 
void pushq (Operand src)
 
void popq (Register dst)
 
void popq (Operand dst)
 
void incsspq (Register number_of_words)
 
void leave ()
 
void movb (Register dst, Operand src)
 
void movb (Register dst, Immediate imm)
 
void movb (Operand dst, Register src)
 
void movb (Operand dst, Immediate imm)
 
void movw (Register dst, Operand src)
 
void movw (Operand dst, Register src)
 
void movw (Operand dst, Immediate imm)
 
void movl (Operand dst, Label *src)
 
void movq_heap_number (Register dst, double value)
 
void movq (Register dst, int64_t value)
 
void movq (Register dst, uint64_t value)
 
void movq_imm64 (Register dst, int64_t value)
 
void movsxbl (Register dst, Register src)
 
void movsxbl (Register dst, Operand src)
 
void movsxbq (Register dst, Register src)
 
void movsxbq (Register dst, Operand src)
 
void movsxwl (Register dst, Register src)
 
void movsxwl (Register dst, Operand src)
 
void movsxwq (Register dst, Register src)
 
void movsxwq (Register dst, Operand src)
 
void movsxlq (Register dst, Register src)
 
void movsxlq (Register dst, Operand src)
 
void repmovsb ()
 
void repmovsw ()
 
void repmovsl ()
 
void repmovsq ()
 
void repstosl ()
 
void repstosq ()
 
void load_rax (Address value, RelocInfo::Mode rmode)
 
void load_rax (ExternalReference ext)
 
void cmovq (Condition cc, Register dst, Register src)
 
void cmovq (Condition cc, Register dst, Operand src)
 
void cmovl (Condition cc, Register dst, Register src)
 
void cmovl (Condition cc, Register dst, Operand src)
 
void cmpb (Register dst, Immediate src)
 
void aligned_cmpb (Register dst, Immediate src)
 
void cmpb_al (Immediate src)
 
void cmpb (Register dst, Register src)
 
void aligned_cmpb (Register dst, Register src)
 
void cmpb (Register dst, Operand src)
 
void aligned_cmpb (Register dst, Operand src)
 
void cmpb (Operand dst, Register src)
 
void aligned_cmpb (Operand dst, Register src)
 
void cmpb (Operand dst, Immediate src)
 
void aligned_cmpb (Operand dst, Immediate src)
 
void cmpw (Operand dst, Immediate src)
 
void aligned_cmpw (Operand dst, Immediate src)
 
void cmpw (Register dst, Immediate src)
 
void aligned_cmpw (Register dst, Immediate src)
 
void cmpw (Register dst, Operand src)
 
void aligned_cmpw (Register dst, Operand src)
 
void cmpw (Register dst, Register src)
 
void aligned_cmpw (Register dst, Register src)
 
void cmpw (Operand dst, Register src)
 
void aligned_cmpw (Operand dst, Register src)
 
void testb (Register reg, Operand op)
 
void aligned_testb (Register reg, Operand op)
 
void testw (Register reg, Operand op)
 
void aligned_testw (Register reg, Operand op)
 
void andb (Register dst, Immediate src)
 
void decb (Register dst)
 
void decb (Operand dst)
 
void lock ()
 
void xchgb (Register reg, Operand op)
 
void xchgw (Register reg, Operand op)
 
void xaddb (Operand dst, Register src)
 
void xaddw (Operand dst, Register src)
 
void xaddl (Operand dst, Register src)
 
void xaddq (Operand dst, Register src)
 
void negb (Register reg)
 
void negw (Register reg)
 
void negl (Register reg)
 
void negq (Register reg)
 
void negb (Operand op)
 
void negw (Operand op)
 
void negl (Operand op)
 
void negq (Operand op)
 
void cmpxchgb (Operand dst, Register src)
 
void cmpxchgw (Operand dst, Register src)
 
void cqo ()
 
void cdq ()
 
void mull (Register src)
 
void mull (Operand src)
 
void mulq (Register src)
 
void mulq (Operand src)
 
void shld (Register dst, Register src)
 
void shrd (Register dst, Register src)
 
void store_rax (Address dst, RelocInfo::Mode mode)
 
void store_rax (ExternalReference ref)
 
void subb (Register dst, Immediate src)
 
void sub_sp_32 (uint32_t imm)
 
void testb (Register dst, Register src)
 
void aligned_testb (Register dst, Register src)
 
void testb (Register reg, Immediate mask)
 
void aligned_testb (Register reg, Immediate mask)
 
void testb (Operand op, Immediate mask)
 
void aligned_testb (Operand op, Immediate mask)
 
void testb (Operand op, Register reg)
 
void aligned_testb (Operand op, Register reg)
 
void testw (Register dst, Register src)
 
void aligned_testw (Register dst, Register src)
 
void testw (Register reg, Immediate mask)
 
void aligned_testw (Register reg, Immediate mask)
 
void testw (Operand op, Immediate mask)
 
void aligned_testw (Operand op, Immediate mask)
 
void testw (Operand op, Register reg)
 
void aligned_testw (Operand op, Register reg)
 
void bswapl (Register dst)
 
void bswapq (Register dst)
 
void btq (Operand dst, Register src)
 
void btsq (Operand dst, Register src)
 
void btsq (Register dst, Immediate imm8)
 
void btrq (Register dst, Immediate imm8)
 
void bsrq (Register dst, Register src)
 
void bsrq (Register dst, Operand src)
 
void bsrl (Register dst, Register src)
 
void bsrl (Register dst, Operand src)
 
void bsfq (Register dst, Register src)
 
void bsfq (Register dst, Operand src)
 
void bsfl (Register dst, Register src)
 
void bsfl (Register dst, Operand src)
 
void clc ()
 
void cld ()
 
void cpuid ()
 
void hlt ()
 
void int3 ()
 
void nop ()
 
void ret (int imm16)
 
void ud2 ()
 
void setcc (Condition cc, Register reg)
 
void endbr64 ()
 
void pblendw (XMMRegister dst, Operand src, uint8_t mask)
 
void pblendw (XMMRegister dst, XMMRegister src, uint8_t mask)
 
void palignr (XMMRegister dst, Operand src, uint8_t mask)
 
void palignr (XMMRegister dst, XMMRegister src, uint8_t mask)
 
void vpermq (YMMRegister dst, Operand src, uint8_t imm8)
 
void vpermq (YMMRegister dst, YMMRegister src, uint8_t imm8)
 
void bind (Label *L)
 
void call (Label *L)
 
void near_call (intptr_t disp, RelocInfo::Mode rmode)
 
void near_call (Builtin buitin, RelocInfo::Mode rmode)
 
void near_jmp (intptr_t disp, RelocInfo::Mode rmode)
 
void near_j (Condition cc, intptr_t disp, RelocInfo::Mode rmode)
 
void call (Handle< Code > target, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET)
 
void call (Register adr)
 
void jmp (Label *L, Label::Distance distance=Label::kFar)
 
void aligned_jmp (Label *L, Label::Distance distance=Label::kFar)
 
void jmp (Handle< Code > target, RelocInfo::Mode rmode)
 
void jmp (Register adr, bool notrack=false)
 
void jmp (Operand src, bool notrack=false)
 
void jmp_rel (int offset)
 
void j (Condition cc, Label *L, Label::Distance distance=Label::kFar)
 
void aligned_j (Condition cc, Label *L, Label::Distance distance=Label::kFar)
 
void j (Condition cc, Address entry, RelocInfo::Mode rmode)
 
void j (Condition cc, Handle< Code > target, RelocInfo::Mode rmode)
 
void fld (int i)
 
void fld1 ()
 
void fldz ()
 
void fldpi ()
 
void fldln2 ()
 
void fld_s (Operand adr)
 
void fld_d (Operand adr)
 
void fstp_s (Operand adr)
 
void fstp_d (Operand adr)
 
void fstp (int index)
 
void fild_s (Operand adr)
 
void fild_d (Operand adr)
 
void fist_s (Operand adr)
 
void fistp_s (Operand adr)
 
void fistp_d (Operand adr)
 
void fisttp_s (Operand adr)
 
void fisttp_d (Operand adr)
 
void fabs ()
 
void fchs ()
 
void fadd (int i)
 
void fsub (int i)
 
void fmul (int i)
 
void fdiv (int i)
 
void fisub_s (Operand adr)
 
void faddp (int i=1)
 
void fsubp (int i=1)
 
void fsubrp (int i=1)
 
void fmulp (int i=1)
 
void fdivp (int i=1)
 
void fprem ()
 
void fprem1 ()
 
void fxch (int i=1)
 
void fincstp ()
 
void ffree (int i=0)
 
void ftst ()
 
void fucomp (int i)
 
void fucompp ()
 
void fucomi (int i)
 
void fucomip ()
 
void fcompp ()
 
void fnstsw_ax ()
 
void fwait ()
 
void fnclex ()
 
void fsin ()
 
void fcos ()
 
void fptan ()
 
void fyl2x ()
 
void f2xm1 ()
 
void fscale ()
 
void fninit ()
 
void frndint ()
 
void sahf ()
 
void ucomiss (XMMRegister dst, XMMRegister src)
 
void ucomiss (XMMRegister dst, Operand src)
 
void movaps (XMMRegister dst, XMMRegister src)
 
void movaps (XMMRegister dst, Operand src)
 
void movss (XMMRegister dst, XMMRegister src)
 
void movss (XMMRegister dst, Operand src)
 
void movss (Operand dst, XMMRegister src)
 
void movlps (XMMRegister dst, Operand src)
 
void movlps (Operand dst, XMMRegister src)
 
void movhps (XMMRegister dst, Operand src)
 
void movhps (Operand dst, XMMRegister src)
 
void shufps (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void cvttss2si (Register dst, Operand src)
 
void cvttss2si (Register dst, XMMRegister src)
 
void cvtlsi2ss (XMMRegister dst, Operand src)
 
void cvtlsi2ss (XMMRegister dst, Register src)
 
void movmskps (Register dst, XMMRegister src)
 
void vinstr (uint8_t op, XMMRegister dst, XMMRegister src1, XMMRegister src2, SIMDPrefix pp, LeadingOpcode m, VexW w, CpuFeature feature=AVX)
 
void vinstr (uint8_t op, XMMRegister dst, XMMRegister src1, Operand src2, SIMDPrefix pp, LeadingOpcode m, VexW w, CpuFeature feature=AVX)
 
template<typename Reg1 , typename Reg2 , typename Op >
void vinstr (uint8_t op, Reg1 dst, Reg2 src1, Op src2, SIMDPrefix pp, LeadingOpcode m, VexW w, CpuFeature feature=AVX2)
 
void sse_instr (XMMRegister dst, XMMRegister src, uint8_t escape, uint8_t opcode)
 
void sse_instr (XMMRegister dst, Operand src, uint8_t escape, uint8_t opcode)
 
void sse2_instr (XMMRegister dst, XMMRegister src, uint8_t prefix, uint8_t escape, uint8_t opcode)
 
void sse2_instr (XMMRegister dst, Operand src, uint8_t prefix, uint8_t escape, uint8_t opcode)
 
void sse2_instr (XMMRegister reg, uint8_t imm8, uint8_t prefix, uint8_t escape, uint8_t opcode, int extension)
 
 DECLARE_SSE2_UNOP_AVX_YMM_INSTRUCTION (sqrtpd, 51, YMMRegister, YMMRegister, Operand) DECLARE_SSE2_UNOP_AVX_YMM_INSTRUCTION(cvtpd2ps
 
Operand256 DECLARE_SSE2_UNOP_AVX_YMM_INSTRUCTION (cvtps2dq, 5B, YMMRegister, YMMRegister, Operand) DECLARE_SSE2_UNOP_AVX_YMM_INSTRUCTION(cvttpd2dq
 
Operand256 Operand256 void lddqu (XMMRegister dst, Operand src)
 
void movddup (XMMRegister dst, Operand src)
 
void movddup (XMMRegister dst, XMMRegister src)
 
void movshdup (XMMRegister dst, XMMRegister src)
 
void ssse3_instr (XMMRegister dst, XMMRegister src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode)
 
void ssse3_instr (XMMRegister dst, Operand src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode)
 
void sse4_instr (Register dst, XMMRegister src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode, int8_t imm8)
 
void sse4_instr (Operand dst, XMMRegister src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode, int8_t imm8)
 
void sse4_instr (XMMRegister dst, Register src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode, int8_t imm8)
 
void sse4_instr (XMMRegister dst, XMMRegister src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode)
 
void sse4_instr (XMMRegister dst, Operand src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode)
 
void sse4_2_instr (XMMRegister dst, XMMRegister src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode)
 
void sse4_2_instr (XMMRegister dst, Operand src, uint8_t prefix, uint8_t escape1, uint8_t escape2, uint8_t opcode)
 
void vpblendvb (XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask)
 
void vpblendvb (YMMRegister dst, YMMRegister src1, YMMRegister src2, YMMRegister mask)
 
void vblendvps (XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask)
 
void vblendvps (YMMRegister dst, YMMRegister src1, YMMRegister src2, YMMRegister mask)
 
void vblendvpd (XMMRegister dst, XMMRegister src1, XMMRegister src2, XMMRegister mask)
 
void vblendvpd (YMMRegister dst, YMMRegister src1, YMMRegister src2, YMMRegister mask)
 
void vptest (YMMRegister dst, YMMRegister src)
 
void vptest (YMMRegister dst, Operand src)
 
void movd (XMMRegister dst, Register src)
 
void movd (XMMRegister dst, Operand src)
 
void movd (Register dst, XMMRegister src)
 
void movq (XMMRegister dst, Register src)
 
void movq (XMMRegister dst, Operand src)
 
void movq (Register dst, XMMRegister src)
 
void movq (XMMRegister dst, XMMRegister src)
 
void movsd (XMMRegister dst, XMMRegister src)
 
void movsd (Operand dst, XMMRegister src)
 
void movsd (XMMRegister dst, Operand src)
 
void movdqa (Operand dst, XMMRegister src)
 
void movdqa (XMMRegister dst, Operand src)
 
void movdqa (XMMRegister dst, XMMRegister src)
 
void movdqu (Operand dst, XMMRegister src)
 
void movdqu (XMMRegister dst, Operand src)
 
void movdqu (XMMRegister dst, XMMRegister src)
 
void movapd (XMMRegister dst, XMMRegister src)
 
void movupd (XMMRegister dst, Operand src)
 
void movupd (Operand dst, XMMRegister src)
 
void cvtdq2pd (XMMRegister dst, XMMRegister src)
 
void cvttsd2si (Register dst, Operand src)
 
void cvttsd2si (Register dst, XMMRegister src)
 
void cvttss2siq (Register dst, XMMRegister src)
 
void cvttss2siq (Register dst, Operand src)
 
void cvttsd2siq (Register dst, XMMRegister src)
 
void cvttsd2siq (Register dst, Operand src)
 
void cvttps2dq (XMMRegister dst, Operand src)
 
void cvttps2dq (XMMRegister dst, XMMRegister src)
 
void cvtlsi2sd (XMMRegister dst, Operand src)
 
void cvtlsi2sd (XMMRegister dst, Register src)
 
void cvtqsi2ss (XMMRegister dst, Operand src)
 
void cvtqsi2ss (XMMRegister dst, Register src)
 
void cvtqsi2sd (XMMRegister dst, Operand src)
 
void cvtqsi2sd (XMMRegister dst, Register src)
 
void cvtsd2si (Register dst, XMMRegister src)
 
void cvtsd2siq (Register dst, XMMRegister src)
 
void haddps (XMMRegister dst, XMMRegister src)
 
void haddps (XMMRegister dst, Operand src)
 
void cmpeqsd (XMMRegister dst, XMMRegister src)
 
void cmpeqss (XMMRegister dst, XMMRegister src)
 
void cmpltsd (XMMRegister dst, XMMRegister src)
 
void movmskpd (Register dst, XMMRegister src)
 
void pmovmskb (Register dst, XMMRegister src)
 
void pinsrw (XMMRegister dst, Register src, uint8_t imm8)
 
void pinsrw (XMMRegister dst, Operand src, uint8_t imm8)
 
void insertps (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void insertps (XMMRegister dst, Operand src, uint8_t imm8)
 
void pextrq (Register dst, XMMRegister src, int8_t imm8)
 
void pinsrb (XMMRegister dst, Register src, uint8_t imm8)
 
void pinsrb (XMMRegister dst, Operand src, uint8_t imm8)
 
void pinsrd (XMMRegister dst, Register src, uint8_t imm8)
 
void pinsrd (XMMRegister dst, Operand src, uint8_t imm8)
 
void pinsrq (XMMRegister dst, Register src, uint8_t imm8)
 
void pinsrq (XMMRegister dst, Operand src, uint8_t imm8)
 
void roundss (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void roundss (XMMRegister dst, Operand src, RoundingMode mode)
 
void roundsd (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void roundsd (XMMRegister dst, Operand src, RoundingMode mode)
 
void roundps (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void roundpd (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void cmpps (XMMRegister dst, XMMRegister src, int8_t cmp)
 
void cmpps (XMMRegister dst, Operand src, int8_t cmp)
 
void cmppd (XMMRegister dst, XMMRegister src, int8_t cmp)
 
void cmppd (XMMRegister dst, Operand src, int8_t cmp)
 
void movups (XMMRegister dst, XMMRegister src)
 
void movups (XMMRegister dst, Operand src)
 
void movups (Operand dst, XMMRegister src)
 
void psrldq (XMMRegister dst, uint8_t shift)
 
void pshufd (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void pshufd (XMMRegister dst, Operand src, uint8_t shuffle)
 
void pshufhw (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void pshufhw (XMMRegister dst, Operand src, uint8_t shuffle)
 
void pshuflw (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void pshuflw (XMMRegister dst, Operand src, uint8_t shuffle)
 
void movhlps (XMMRegister dst, XMMRegister src)
 
void movlhps (XMMRegister dst, XMMRegister src)
 
void vmovddup (XMMRegister dst, XMMRegister src)
 
void vmovddup (XMMRegister dst, Operand src)
 
void vmovddup (YMMRegister dst, YMMRegister src)
 
void vmovddup (YMMRegister dst, Operand src)
 
void vmovshdup (XMMRegister dst, XMMRegister src)
 
void vmovshdup (YMMRegister dst, YMMRegister src)
 
void vbroadcastss (XMMRegister dst, Operand src)
 
void vbroadcastss (XMMRegister dst, XMMRegister src)
 
void vbroadcastss (YMMRegister dst, Operand src)
 
void vbroadcastss (YMMRegister dst, XMMRegister src)
 
void vbroadcastsd (YMMRegister dst, XMMRegister src)
 
void vbroadcastsd (YMMRegister dst, Operand src)
 
void vinserti128 (YMMRegister dst, YMMRegister src1, XMMRegister src2, uint8_t lane)
 
void vperm2f128 (YMMRegister dst, YMMRegister src1, YMMRegister src2, uint8_t lane)
 
void vextractf128 (XMMRegister dst, YMMRegister src, uint8_t lane)
 
template<typename Reg1 , typename Reg2 , typename Op >
void fma_instr (uint8_t op, Reg1 dst, Reg2 src1, Op src2, VectorLength l, SIMDPrefix pp, LeadingOpcode m, VexW w)
 
void vmovd (XMMRegister dst, Register src)
 
void vmovd (XMMRegister dst, Operand src)
 
void vmovd (Register dst, XMMRegister src)
 
void vmovq (XMMRegister dst, Register src)
 
void vmovq (XMMRegister dst, Operand src)
 
void vmovq (Register dst, XMMRegister src)
 
void vmovsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmovsd (XMMRegister dst, Operand src)
 
void vmovsd (Operand dst, XMMRegister src)
 
void vmovdqa (XMMRegister dst, Operand src)
 
void vmovdqa (XMMRegister dst, XMMRegister src)
 
void vmovdqa (YMMRegister dst, Operand src)
 
void vmovdqa (YMMRegister dst, YMMRegister src)
 
void vmovdqu (XMMRegister dst, Operand src)
 
void vmovdqu (Operand dst, XMMRegister src)
 
void vmovdqu (XMMRegister dst, XMMRegister src)
 
void vmovdqu (YMMRegister dst, Operand src)
 
void vmovdqu (Operand dst, YMMRegister src)
 
void vmovdqu (YMMRegister dst, YMMRegister src)
 
void vmovlps (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmovlps (Operand dst, XMMRegister src)
 
void vmovhps (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmovhps (Operand dst, XMMRegister src)
 
void vmovlhps (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmovhlps (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vcvtdq2pd (XMMRegister dst, XMMRegister src)
 
void vcvtdq2pd (YMMRegister dst, XMMRegister src)
 
void vcvtdq2pd (YMMRegister dst, Operand src)
 
void vcvttps2dq (XMMRegister dst, XMMRegister src)
 
void vcvttps2dq (YMMRegister dst, YMMRegister src)
 
void vcvttps2dq (YMMRegister dst, Operand src)
 
void vcvtlsi2sd (XMMRegister dst, XMMRegister src1, Register src2)
 
void vcvtlsi2sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vcvtlsi2ss (XMMRegister dst, XMMRegister src1, Register src2)
 
void vcvtlsi2ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vcvtqsi2ss (XMMRegister dst, XMMRegister src1, Register src2)
 
void vcvtqsi2ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vcvtqsi2sd (XMMRegister dst, XMMRegister src1, Register src2)
 
void vcvtqsi2sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vcvttss2si (Register dst, XMMRegister src)
 
void vcvttss2si (Register dst, Operand src)
 
void vcvttsd2si (Register dst, XMMRegister src)
 
void vcvttsd2si (Register dst, Operand src)
 
void vcvttss2siq (Register dst, XMMRegister src)
 
void vcvttss2siq (Register dst, Operand src)
 
void vcvttsd2siq (Register dst, XMMRegister src)
 
void vcvttsd2siq (Register dst, Operand src)
 
void vcvtsd2si (Register dst, XMMRegister src)
 
void vroundss (XMMRegister dst, XMMRegister src1, XMMRegister src2, RoundingMode mode)
 
void vroundss (XMMRegister dst, XMMRegister src1, Operand src2, RoundingMode mode)
 
void vroundsd (XMMRegister dst, XMMRegister src1, XMMRegister src2, RoundingMode mode)
 
void vroundsd (XMMRegister dst, XMMRegister src1, Operand src2, RoundingMode mode)
 
void vroundps (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void vroundps (YMMRegister dst, YMMRegister src, RoundingMode mode)
 
void vroundpd (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void vroundpd (YMMRegister dst, YMMRegister src, RoundingMode mode)
 
template<typename Reg , typename Op >
void vsd (uint8_t op, Reg dst, Reg src1, Op src2)
 
void vmovss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmovss (XMMRegister dst, Operand src)
 
void vmovss (Operand dst, XMMRegister src)
 
void vucomiss (XMMRegister dst, XMMRegister src)
 
void vucomiss (XMMRegister dst, Operand src)
 
void vss (uint8_t op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vss (uint8_t op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vshufps (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t imm8)
 
void vshufps (YMMRegister dst, YMMRegister src1, YMMRegister src2, uint8_t imm8)
 
void vmovaps (XMMRegister dst, XMMRegister src)
 
void vmovaps (YMMRegister dst, YMMRegister src)
 
void vmovaps (XMMRegister dst, Operand src)
 
void vmovaps (YMMRegister dst, Operand src)
 
void vmovups (XMMRegister dst, XMMRegister src)
 
void vmovups (YMMRegister dst, YMMRegister src)
 
void vmovups (XMMRegister dst, Operand src)
 
void vmovups (YMMRegister dst, Operand src)
 
void vmovups (Operand dst, XMMRegister src)
 
void vmovups (Operand dst, YMMRegister src)
 
void vmovapd (XMMRegister dst, XMMRegister src)
 
void vmovapd (YMMRegister dst, YMMRegister src)
 
void vmovupd (XMMRegister dst, Operand src)
 
void vmovupd (YMMRegister dst, Operand src)
 
void vmovupd (Operand dst, XMMRegister src)
 
void vmovupd (Operand dst, YMMRegister src)
 
void vmovmskps (Register dst, XMMRegister src)
 
void vmovmskpd (Register dst, XMMRegister src)
 
void vpmovmskb (Register dst, XMMRegister src)
 
void vcmpeqss (XMMRegister dst, XMMRegister src)
 
void vcmpeqsd (XMMRegister dst, XMMRegister src)
 
void vcmpps (XMMRegister dst, XMMRegister src1, XMMRegister src2, int8_t cmp)
 
void vcmpps (YMMRegister dst, YMMRegister src1, YMMRegister src2, int8_t cmp)
 
void vcmpps (XMMRegister dst, XMMRegister src1, Operand src2, int8_t cmp)
 
void vcmpps (YMMRegister dst, YMMRegister src1, Operand src2, int8_t cmp)
 
void vcmppd (XMMRegister dst, XMMRegister src1, XMMRegister src2, int8_t cmp)
 
void vcmppd (YMMRegister dst, YMMRegister src1, YMMRegister src2, int8_t cmp)
 
void vcmppd (XMMRegister dst, XMMRegister src1, Operand src2, int8_t cmp)
 
void vcmppd (YMMRegister dst, YMMRegister src1, Operand src2, int8_t cmp)
 
void vlddqu (XMMRegister dst, Operand src)
 
void vinsertps (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t imm8)
 
void vinsertps (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t imm8)
 
void vpextrq (Register dst, XMMRegister src, int8_t imm8)
 
void vpinsrb (XMMRegister dst, XMMRegister src1, Register src2, uint8_t imm8)
 
void vpinsrb (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t imm8)
 
void vpinsrw (XMMRegister dst, XMMRegister src1, Register src2, uint8_t imm8)
 
void vpinsrw (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t imm8)
 
void vpinsrd (XMMRegister dst, XMMRegister src1, Register src2, uint8_t imm8)
 
void vpinsrd (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t imm8)
 
void vpinsrq (XMMRegister dst, XMMRegister src1, Register src2, uint8_t imm8)
 
void vpinsrq (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t imm8)
 
void vpshufd (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpshufd (YMMRegister dst, YMMRegister src, uint8_t imm8)
 
void vpshufd (XMMRegister dst, Operand src, uint8_t imm8)
 
void vpshufd (YMMRegister dst, Operand src, uint8_t imm8)
 
void vpshuflw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpshuflw (YMMRegister dst, YMMRegister src, uint8_t imm8)
 
void vpshuflw (XMMRegister dst, Operand src, uint8_t imm8)
 
void vpshuflw (YMMRegister dst, Operand src, uint8_t imm8)
 
void vpshufhw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpshufhw (YMMRegister dst, YMMRegister src, uint8_t imm8)
 
void vpshufhw (XMMRegister dst, Operand src, uint8_t imm8)
 
void vpshufhw (YMMRegister dst, Operand src, uint8_t imm8)
 
void vpblendw (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t mask)
 
void vpblendw (YMMRegister dst, YMMRegister src1, YMMRegister src2, uint8_t mask)
 
void vpblendw (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t mask)
 
void vpblendw (YMMRegister dst, YMMRegister src1, Operand src2, uint8_t mask)
 
void vpalignr (XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t imm8)
 
void vpalignr (YMMRegister dst, YMMRegister src1, YMMRegister src2, uint8_t imm8)
 
void vpalignr (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t imm8)
 
void vpalignr (YMMRegister dst, YMMRegister src1, Operand src2, uint8_t imm8)
 
void vps (uint8_t op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vps (uint8_t op, YMMRegister dst, YMMRegister src1, YMMRegister src2)
 
void vps (uint8_t op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vps (uint8_t op, YMMRegister dst, YMMRegister src1, Operand src2)
 
void vps (uint8_t op, XMMRegister dst, XMMRegister src1, XMMRegister src2, uint8_t imm8)
 
void vps (uint8_t op, YMMRegister dst, YMMRegister src1, YMMRegister src2, uint8_t imm8)
 
void vpd (uint8_t op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vpd (uint8_t op, YMMRegister dst, YMMRegister src1, YMMRegister src2)
 
void vpd (uint8_t op, XMMRegister dst, YMMRegister src1, YMMRegister src2)
 
void vpd (uint8_t op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vpd (uint8_t op, YMMRegister dst, YMMRegister src1, Operand src2)
 
void vpd (uint8_t op, XMMRegister dst, YMMRegister src1, Operand src2)
 
void vcvtph2ps (XMMRegister dst, XMMRegister src)
 
void vcvtph2ps (YMMRegister dst, XMMRegister src)
 
void vcvtps2ph (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vcvtps2ph (XMMRegister dst, YMMRegister src, uint8_t imm8)
 
void vpdpbusd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vpdpbusd (YMMRegister dst, YMMRegister src1, YMMRegister src2)
 
void vpdpbssd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vpdpbssd (YMMRegister dst, YMMRegister src1, YMMRegister src2)
 
void andnq (Register dst, Register src1, Register src2)
 
void andnq (Register dst, Register src1, Operand src2)
 
void andnl (Register dst, Register src1, Register src2)
 
void andnl (Register dst, Register src1, Operand src2)
 
void bextrq (Register dst, Register src1, Register src2)
 
void bextrq (Register dst, Operand src1, Register src2)
 
void bextrl (Register dst, Register src1, Register src2)
 
void bextrl (Register dst, Operand src1, Register src2)
 
void blsiq (Register dst, Register src)
 
void blsiq (Register dst, Operand src)
 
void blsil (Register dst, Register src)
 
void blsil (Register dst, Operand src)
 
void blsmskq (Register dst, Register src)
 
void blsmskq (Register dst, Operand src)
 
void blsmskl (Register dst, Register src)
 
void blsmskl (Register dst, Operand src)
 
void blsrq (Register dst, Register src)
 
void blsrq (Register dst, Operand src)
 
void blsrl (Register dst, Register src)
 
void blsrl (Register dst, Operand src)
 
void tzcntq (Register dst, Register src)
 
void tzcntq (Register dst, Operand src)
 
void tzcntl (Register dst, Register src)
 
void tzcntl (Register dst, Operand src)
 
void lzcntq (Register dst, Register src)
 
void lzcntq (Register dst, Operand src)
 
void lzcntl (Register dst, Register src)
 
void lzcntl (Register dst, Operand src)
 
void popcntq (Register dst, Register src)
 
void popcntq (Register dst, Operand src)
 
void popcntl (Register dst, Register src)
 
void popcntl (Register dst, Operand src)
 
void bzhiq (Register dst, Register src1, Register src2)
 
void bzhiq (Register dst, Operand src1, Register src2)
 
void bzhil (Register dst, Register src1, Register src2)
 
void bzhil (Register dst, Operand src1, Register src2)
 
void mulxq (Register dst1, Register dst2, Register src)
 
void mulxq (Register dst1, Register dst2, Operand src)
 
void mulxl (Register dst1, Register dst2, Register src)
 
void mulxl (Register dst1, Register dst2, Operand src)
 
void pdepq (Register dst, Register src1, Register src2)
 
void pdepq (Register dst, Register src1, Operand src2)
 
void pdepl (Register dst, Register src1, Register src2)
 
void pdepl (Register dst, Register src1, Operand src2)
 
void pextq (Register dst, Register src1, Register src2)
 
void pextq (Register dst, Register src1, Operand src2)
 
void pextl (Register dst, Register src1, Register src2)
 
void pextl (Register dst, Register src1, Operand src2)
 
void sarxq (Register dst, Register src1, Register src2)
 
void sarxq (Register dst, Operand src1, Register src2)
 
void sarxl (Register dst, Register src1, Register src2)
 
void sarxl (Register dst, Operand src1, Register src2)
 
void shlxq (Register dst, Register src1, Register src2)
 
void shlxq (Register dst, Operand src1, Register src2)
 
void shlxl (Register dst, Register src1, Register src2)
 
void shlxl (Register dst, Operand src1, Register src2)
 
void shrxq (Register dst, Register src1, Register src2)
 
void shrxq (Register dst, Operand src1, Register src2)
 
void shrxl (Register dst, Register src1, Register src2)
 
void shrxl (Register dst, Operand src1, Register src2)
 
void rorxq (Register dst, Register src, uint8_t imm8)
 
void rorxq (Register dst, Operand src, uint8_t imm8)
 
void rorxl (Register dst, Register src, uint8_t imm8)
 
void rorxl (Register dst, Operand src, uint8_t imm8)
 
void mfence ()
 
void lfence ()
 
void pause ()
 
int SizeOfCodeGeneratedSince (Label *label)
 
void RecordDeoptReason (DeoptimizeReason reason, uint32_t node_id, SourcePosition position, int id)
 
void db (uint8_t data)
 
void dd (uint32_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
void dq (Label *label)
 
void WriteBuiltinJumpTableEntry (Label *label, int table_pos)
 
void PatchConstPool ()
 
bool buffer_overflow () const
 
int available_space () const
 
uint8_t byte_at (int pos)
 
void set_byte_at (int pos, uint8_t value)
 
template<>
void EmitHelper (uint8_t x)
 
template<>
void EmitHelper (uint8_t x)
 
template<>
void EmitHelper (uint8_t x)
 
template<>
void EmitHelper (uint8_t x)
 
template<typename T >
void EmitHelper (T x)
 
- Public Member Functions inherited from v8::internal::AssemblerBase
 AssemblerBase (const AssemblerOptions &options, std::unique_ptr< AssemblerBuffer >)
 
virtual ~AssemblerBase ()
 
const AssemblerOptionsoptions () const
 
bool predictable_code_size () const
 
void set_predictable_code_size (bool value)
 
uint64_t enabled_cpu_features () const
 
void set_enabled_cpu_features (uint64_t features)
 
bool IsEnabled (CpuFeature f)
 
void EnableCpuFeature (CpuFeature f)
 
bool is_constant_pool_available () const
 
JumpOptimizationInfojump_optimization_info ()
 
void set_jump_optimization_info (JumpOptimizationInfo *jump_opt)
 
void FinalizeJumpOptimizationInfo ()
 
int pc_offset () const
 
int pc_offset_for_safepoint ()
 
uint8_t * buffer_start () const
 
int buffer_size () const
 
int instruction_size () const
 
std::unique_ptr< AssemblerBufferReleaseBuffer ()
 
void Print (Isolate *isolate)
 
V8_INLINE void RecordComment (const char *comment, const SourceLocation &loc=SourceLocation::Current())
 
V8_INLINE void RecordComment (std::string comment, const SourceLocation &loc=SourceLocation::Current())
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVI
void lui (Register rd, int32_t imm20)
 
void auipc (Register rd, int32_t imm20)
 
void jal (Register rd, int32_t imm20)
 
void jalr (Register rd, Register rs1, int16_t imm12)
 
void beq (Register rs1, Register rs2, int16_t imm12)
 
void bne (Register rs1, Register rs2, int16_t imm12)
 
void blt (Register rs1, Register rs2, int16_t imm12)
 
void bge (Register rs1, Register rs2, int16_t imm12)
 
void bltu (Register rs1, Register rs2, int16_t imm12)
 
void bgeu (Register rs1, Register rs2, int16_t imm12)
 
void lb (Register rd, Register rs1, int16_t imm12)
 
void lh (Register rd, Register rs1, int16_t imm12)
 
void lw (Register rd, Register rs1, int16_t imm12)
 
void lbu (Register rd, Register rs1, int16_t imm12)
 
void lhu (Register rd, Register rs1, int16_t imm12)
 
void sb (Register source, Register base, int16_t imm12)
 
void sh (Register source, Register base, int16_t imm12)
 
void sw (Register source, Register base, int16_t imm12)
 
void addi (Register rd, Register rs1, int16_t imm12)
 
void slti (Register rd, Register rs1, int16_t imm12)
 
void sltiu (Register rd, Register rs1, int16_t imm12)
 
void xori (Register rd, Register rs1, int16_t imm12)
 
void ori (Register rd, Register rs1, int16_t imm12)
 
void andi (Register rd, Register rs1, int16_t imm12)
 
void slli (Register rd, Register rs1, uint8_t shamt)
 
void srli (Register rd, Register rs1, uint8_t shamt)
 
void srai (Register rd, Register rs1, uint8_t shamt)
 
void add (Register rd, Register rs1, Register rs2)
 
void sub (Register rd, Register rs1, Register rs2)
 
void sll (Register rd, Register rs1, Register rs2)
 
void slt (Register rd, Register rs1, Register rs2)
 
void sltu (Register rd, Register rs1, Register rs2)
 
void xor_ (Register rd, Register rs1, Register rs2)
 
void srl (Register rd, Register rs1, Register rs2)
 
void sra (Register rd, Register rs1, Register rs2)
 
void or_ (Register rd, Register rs1, Register rs2)
 
void and_ (Register rd, Register rs1, Register rs2)
 
void nor (Register rd, Register rs, Register rt)
 
void fence (uint8_t pred, uint8_t succ)
 
void fence_tso ()
 
void ecall ()
 
void ebreak ()
 
void sync ()
 
void unimp ()
 
int32_t branch_offset (Label *L)
 
int32_t jump_offset (Label *L)
 
void beq (Register rs1, Register rs2, Label *L)
 
void bne (Register rs1, Register rs2, Label *L)
 
void blt (Register rs1, Register rs2, Label *L)
 
void bge (Register rs1, Register rs2, Label *L)
 
void bltu (Register rs1, Register rs2, Label *L)
 
void bgeu (Register rs1, Register rs2, Label *L)
 
void beqz (Register rs, int16_t imm13)
 
void beqz (Register rs1, Label *L)
 
void bnez (Register rs, int16_t imm13)
 
void bnez (Register rs1, Label *L)
 
void blez (Register rs, int16_t imm13)
 
void blez (Register rs1, Label *L)
 
void bgez (Register rs, int16_t imm13)
 
void bgez (Register rs1, Label *L)
 
void bltz (Register rs, int16_t imm13)
 
void bltz (Register rs1, Label *L)
 
void bgtz (Register rs, int16_t imm13)
 
void bgtz (Register rs1, Label *L)
 
void bgt (Register rs1, Register rs2, int16_t imm13)
 
void bgt (Register rs1, Register rs2, Label *L)
 
void ble (Register rs1, Register rs2, int16_t imm13)
 
void ble (Register rs1, Register rs2, Label *L)
 
void bgtu (Register rs1, Register rs2, int16_t imm13)
 
void bgtu (Register rs1, Register rs2, Label *L)
 
void bleu (Register rs1, Register rs2, int16_t imm13)
 
void bleu (Register rs1, Register rs2, Label *L)
 
void j (int32_t imm21)
 
void j (Label *L)
 
void b (Label *L)
 
void jal (int32_t imm21)
 
void jal (Label *L)
 
void jr (Register rs)
 
void jr (Register rs, int32_t imm12)
 
void jalr (Register rs, int32_t imm12)
 
void jalr (Register rs)
 
void ret ()
 
void call (int32_t offset)
 
void mv (Register rd, Register rs)
 
void not_ (Register rd, Register rs)
 
void neg (Register rd, Register rs)
 
void seqz (Register rd, Register rs)
 
void snez (Register rd, Register rs)
 
void sltz (Register rd, Register rs)
 
void sgtz (Register rd, Register rs)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVA
void lr_w (bool aq, bool rl, Register rd, Register rs1)
 
void sc_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amoswap_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amoadd_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amoxor_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amoand_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amoor_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amomin_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amomax_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amominu_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
void amomaxu_w (bool aq, bool rl, Register rd, Register rs1, Register rs2)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVB
void sh1add (Register rd, Register rs1, Register rs2)
 
void sh2add (Register rd, Register rs1, Register rs2)
 
void sh3add (Register rd, Register rs1, Register rs2)
 
void andn (Register rd, Register rs1, Register rs2)
 
void orn (Register rd, Register rs1, Register rs2)
 
void xnor (Register rd, Register rs1, Register rs2)
 
void clz (Register rd, Register rs)
 
void ctz (Register rd, Register rs)
 
void cpop (Register rd, Register rs)
 
void max (Register rd, Register rs1, Register rs2)
 
void maxu (Register rd, Register rs1, Register rs2)
 
void min (Register rd, Register rs1, Register rs2)
 
void minu (Register rd, Register rs1, Register rs2)
 
void sextb (Register rd, Register rs)
 
void sexth (Register rd, Register rs)
 
void zexth (Register rd, Register rs)
 
void rol (Register rd, Register rs1, Register rs2)
 
void ror (Register rd, Register rs1, Register rs2)
 
void rori (Register rd, Register rs1, uint8_t shamt)
 
void orcb (Register rd, Register rs)
 
void rev8 (Register rd, Register rs)
 
void bclr (Register rd, Register rs1, Register rs2)
 
void bclri (Register rd, Register rs1, uint8_t shamt)
 
void bext (Register rd, Register rs1, Register rs2)
 
void bexti (Register rd, Register rs1, uint8_t shamt)
 
void binv (Register rd, Register rs1, Register rs2)
 
void binvi (Register rd, Register rs1, uint8_t shamt)
 
void bset (Register rd, Register rs1, Register rs2)
 
void bseti (Register rd, Register rs1, uint8_t shamt)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVF
void flw (FPURegister rd, Register rs1, int16_t imm12)
 
void fsw (FPURegister source, Register base, int16_t imm12)
 
void fmadd_s (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm=RNE)
 
void fmsub_s (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm=RNE)
 
void fnmsub_s (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm=RNE)
 
void fnmadd_s (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm=RNE)
 
void fadd_s (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURoundingMode frm=RNE)
 
void fsub_s (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURoundingMode frm=RNE)
 
void fmul_s (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURoundingMode frm=RNE)
 
void fdiv_s (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURoundingMode frm=RNE)
 
void fsqrt_s (FPURegister rd, FPURegister rs1, FPURoundingMode frm=RNE)
 
void fsgnj_s (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fsgnjn_s (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fsgnjx_s (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fmin_s (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fmax_s (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fcvt_w_s (Register rd, FPURegister rs1, FPURoundingMode frm=RNE)
 
void fcvt_wu_s (Register rd, FPURegister rs1, FPURoundingMode frm=RNE)
 
void fmv_x_w (Register rd, FPURegister rs1)
 
void feq_s (Register rd, FPURegister rs1, FPURegister rs2)
 
void flt_s (Register rd, FPURegister rs1, FPURegister rs2)
 
void fle_s (Register rd, FPURegister rs1, FPURegister rs2)
 
void fclass_s (Register rd, FPURegister rs1)
 
void fcvt_s_w (FPURegister rd, Register rs1, FPURoundingMode frm=RNE)
 
void fcvt_s_wu (FPURegister rd, Register rs1, FPURoundingMode frm=RNE)
 
void fmv_w_x (FPURegister rd, Register rs1)
 
void fmv_s (FPURegister rd, FPURegister rs)
 
void fabs_s (FPURegister rd, FPURegister rs)
 
void fneg_s (FPURegister rd, FPURegister rs)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVD
void fld (FPURegister rd, Register rs1, int16_t imm12)
 
void fsd (FPURegister source, Register base, int16_t imm12)
 
void fmadd_d (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm=RNE)
 
void fmsub_d (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm=RNE)
 
void fnmsub_d (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm=RNE)
 
void fnmadd_d (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm=RNE)
 
void fadd_d (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURoundingMode frm=RNE)
 
void fsub_d (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURoundingMode frm=RNE)
 
void fmul_d (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURoundingMode frm=RNE)
 
void fdiv_d (FPURegister rd, FPURegister rs1, FPURegister rs2, FPURoundingMode frm=RNE)
 
void fsqrt_d (FPURegister rd, FPURegister rs1, FPURoundingMode frm=RNE)
 
void fsgnj_d (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fsgnjn_d (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fsgnjx_d (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fmin_d (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fmax_d (FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void fcvt_s_d (FPURegister rd, FPURegister rs1, FPURoundingMode frm=RNE)
 
void fcvt_d_s (FPURegister rd, FPURegister rs1, FPURoundingMode frm=RNE)
 
void feq_d (Register rd, FPURegister rs1, FPURegister rs2)
 
void flt_d (Register rd, FPURegister rs1, FPURegister rs2)
 
void fle_d (Register rd, FPURegister rs1, FPURegister rs2)
 
void fclass_d (Register rd, FPURegister rs1)
 
void fcvt_w_d (Register rd, FPURegister rs1, FPURoundingMode frm=RNE)
 
void fcvt_wu_d (Register rd, FPURegister rs1, FPURoundingMode frm=RNE)
 
void fcvt_d_w (FPURegister rd, Register rs1, FPURoundingMode frm=RNE)
 
void fcvt_d_wu (FPURegister rd, Register rs1, FPURoundingMode frm=RNE)
 
void fmv_d (FPURegister rd, FPURegister rs)
 
void fabs_d (FPURegister rd, FPURegister rs)
 
void fneg_d (FPURegister rd, FPURegister rs)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVM
void mul (Register rd, Register rs1, Register rs2)
 
void mulh (Register rd, Register rs1, Register rs2)
 
void mulhsu (Register rd, Register rs1, Register rs2)
 
void mulhu (Register rd, Register rs1, Register rs2)
 
void div (Register rd, Register rs1, Register rs2)
 
void divu (Register rd, Register rs1, Register rs2)
 
void rem (Register rd, Register rs1, Register rs2)
 
void remu (Register rd, Register rs1, Register rs2)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVC
void c_nop ()
 
void c_addi (Register rd, int8_t imm6)
 
void c_addi16sp (int16_t imm10)
 
void c_addi4spn (Register rd, int16_t uimm10)
 
void c_li (Register rd, int8_t imm6)
 
void c_lui (Register rd, int8_t imm6)
 
void c_slli (Register rd, uint8_t shamt6)
 
void c_lwsp (Register rd, uint16_t uimm8)
 
void c_jr (Register rs1)
 
void c_mv (Register rd, Register rs2)
 
void c_ebreak ()
 
void c_jalr (Register rs1)
 
void c_j (int16_t imm12)
 
void c_add (Register rd, Register rs2)
 
void c_sub (Register rd, Register rs2)
 
void c_and (Register rd, Register rs2)
 
void c_xor (Register rd, Register rs2)
 
void c_or (Register rd, Register rs2)
 
void c_swsp (Register rs2, uint16_t uimm8)
 
void c_lw (Register rd, Register rs1, uint16_t uimm7)
 
void c_sw (Register rs2, Register rs1, uint16_t uimm7)
 
void c_bnez (Register rs1, int16_t imm9)
 
void c_beqz (Register rs1, int16_t imm9)
 
void c_srli (Register rs1, int8_t shamt6)
 
void c_srai (Register rs1, int8_t shamt6)
 
void c_andi (Register rs1, int8_t imm6)
 
void c_fld (FPURegister rd, Register rs1, uint16_t uimm8)
 
void c_fsd (FPURegister rs2, Register rs1, uint16_t uimm8)
 
void c_fldsp (FPURegister rd, uint16_t uimm9)
 
void c_fsdsp (FPURegister rs2, uint16_t uimm9)
 
int CJumpOffset (Instr instr)
 
int16_t cjump_offset (Label *L)
 
int32_t cbranch_offset (Label *L)
 
void c_j (Label *L)
 
void c_bnez (Register rs1, Label *L)
 
void c_beqz (Register rs1, Label *L)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVZifencei
void fence_i ()
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVZicsr
void csrrw (Register rd, ControlStatusReg csr, Register rs1)
 
void csrrs (Register rd, ControlStatusReg csr, Register rs1)
 
void csrrc (Register rd, ControlStatusReg csr, Register rs1)
 
void csrrwi (Register rd, ControlStatusReg csr, uint8_t imm5)
 
void csrrsi (Register rd, ControlStatusReg csr, uint8_t imm5)
 
void csrrci (Register rd, ControlStatusReg csr, uint8_t imm5)
 
void rdinstret (Register rd)
 
void rdinstreth (Register rd)
 
void rdcycle (Register rd)
 
void rdcycleh (Register rd)
 
void rdtime (Register rd)
 
void rdtimeh (Register rd)
 
void csrr (Register rd, ControlStatusReg csr)
 
void csrw (ControlStatusReg csr, Register rs)
 
void csrs (ControlStatusReg csr, Register rs)
 
void csrc (ControlStatusReg csr, Register rs)
 
void csrwi (ControlStatusReg csr, uint8_t imm)
 
void csrsi (ControlStatusReg csr, uint8_t imm)
 
void csrci (ControlStatusReg csr, uint8_t imm)
 
void frcsr (Register rd)
 
void fscsr (Register rd, Register rs)
 
void fscsr (Register rs)
 
void frrm (Register rd)
 
void fsrm (Register rd, Register rs)
 
void fsrm (Register rs)
 
void frflags (Register rd)
 
void fsflags (Register rd, Register rs)
 
void fsflags (Register rs)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVZicond
void czero_eqz (Register rd, Register rs1, Register rs2)
 
void czero_nez (Register rd, Register rs1, Register rs2)
 
- Public Member Functions inherited from v8::internal::AssemblerRISCVV
void vl (VRegister vd, Register rs1, uint8_t lumop, VSew vsew, MaskType mask=NoMask)
 
void vls (VRegister vd, Register rs1, Register rs2, VSew vsew, MaskType mask=NoMask)
 
void vlx (VRegister vd, Register rs1, VRegister vs3, VSew vsew, MaskType mask=NoMask)
 
void vs (VRegister vd, Register rs1, uint8_t sumop, VSew vsew, MaskType mask=NoMask)
 
void vss (VRegister vd, Register rs1, Register rs2, VSew vsew, MaskType mask=NoMask)
 
void vsx (VRegister vd, Register rs1, VRegister vs3, VSew vsew, MaskType mask=NoMask)
 
void vsu (VRegister vd, Register rs1, VRegister vs3, VSew vsew, MaskType mask=NoMask)
 
 SegInstr (vl) SegInstr(vs) SegInstr(vls) SegInstr(vss) SegInstr(vsx) SegInstr(vlx) void vmv_vv(VRegister vd
 
void vmv_vx (VRegister vd, Register rs1)
 
void vmv_vi (VRegister vd, uint8_t simm5)
 
void vmv_xs (Register rd, VRegister vs2)
 
void vmv_sx (VRegister vd, Register rs1)
 
void vmerge_vv (VRegister vd, VRegister vs1, VRegister vs2)
 
void vmerge_vx (VRegister vd, Register rs1, VRegister vs2)
 
void vmerge_vi (VRegister vd, uint8_t imm5, VRegister vs2)
 
void vredmaxu_vs (VRegister vd, VRegister vs2, VRegister vs1, MaskType mask=NoMask)
 
void vredmax_vs (VRegister vd, VRegister vs2, VRegister vs1, MaskType mask=NoMask)
 
void vredmin_vs (VRegister vd, VRegister vs2, VRegister vs1, MaskType mask=NoMask)
 
void vredminu_vs (VRegister vd, VRegister vs2, VRegister vs1, MaskType mask=NoMask)
 
void vadc_vv (VRegister vd, VRegister vs1, VRegister vs2)
 
void vadc_vx (VRegister vd, Register rs1, VRegister vs2)
 
void vadc_vi (VRegister vd, uint8_t imm5, VRegister vs2)
 
void vmadc_vv (VRegister vd, VRegister vs1, VRegister vs2)
 
void vmadc_vx (VRegister vd, Register rs1, VRegister vs2)
 
void vmadc_vi (VRegister vd, uint8_t imm5, VRegister vs2)
 
void vfmv_vf (VRegister vd, FPURegister fs1)
 
void vfmv_fs (FPURegister fd, VRegister vs2)
 
void vfmv_sf (VRegister vd, FPURegister fs)
 
void vfmerge_vf (VRegister vd, FPURegister fs1, VRegister vs2)
 
void vwaddu_wx (VRegister vd, VRegister vs2, Register rs1, MaskType mask=NoMask)
 
void vid_v (VRegister vd, MaskType mask=Mask)
 
void vnot_vv (VRegister dst, VRegister src, MaskType mask=NoMask)
 
void vneg_vv (VRegister dst, VRegister src, MaskType mask=NoMask)
 
void vfneg_vv (VRegister dst, VRegister src, MaskType mask=NoMask)
 
void vfabs_vv (VRegister dst, VRegister src, MaskType mask=NoMask)
 
void vfirst_m (Register rd, VRegister vs2, MaskType mask=NoMask)
 
void vcpop_m (Register rd, VRegister vs2, MaskType mask=NoMask)
 
void vmslt_vi (VRegister vd, VRegister vs1, int8_t imm5, MaskType mask=NoMask)
 
void vmsltu_vi (VRegister vd, VRegister vs1, int8_t imm5, MaskType mask=NoMask)
 

Static Public Member Functions

static constexpr bool CanBeImmediate (RootIndex index)
 
static Tagged_t ReadOnlyRootPtr (RootIndex index, Isolate *isolate)
 
static int32_t RootRegisterOffsetForRootIndex (RootIndex root_index)
 
static int32_t RootRegisterOffsetForBuiltin (Builtin builtin)
 
static intptr_t RootRegisterOffsetForExternalReference (Isolate *isolate, const ExternalReference &reference)
 
static int32_t RootRegisterOffsetForExternalReferenceTableEntry (Isolate *isolate, const ExternalReference &reference)
 
static bool IsAddressableThroughRootRegister (Isolate *isolate, const ExternalReference &reference)
 
- Static Public Member Functions inherited from v8::internal::Assembler
static RegList DefaultTmpList ()
 
static VfpRegList DefaultFPTmpList ()
 
static V8_INLINE bool is_constant_pool_load (Address pc)
 
static V8_INLINE Address constant_pool_entry_address (Address pc, Address constant_pool)
 
static V8_INLINE Address target_address_at (Address pc, Address constant_pool)
 
static V8_INLINE void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static int deserialization_special_target_size (Address location)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static bool ImmediateFitsAddrMode1Instruction (int32_t imm32)
 
static Instr instr_at (Address pc)
 
static void instr_at_put (Address pc, Instr instr)
 
static Condition GetCondition (Instr instr)
 
static bool IsLdrRegisterImmediate (Instr instr)
 
static bool IsVldrDRegisterImmediate (Instr instr)
 
static int GetLdrRegisterImmediateOffset (Instr instr)
 
static int GetVldrDRegisterImmediateOffset (Instr instr)
 
static Instr SetLdrRegisterImmediateOffset (Instr instr, int offset)
 
static Instr SetVldrDRegisterImmediateOffset (Instr instr, int offset)
 
static bool IsStrRegisterImmediate (Instr instr)
 
static Instr SetStrRegisterImmediateOffset (Instr instr, int offset)
 
static bool IsAddRegisterImmediate (Instr instr)
 
static Instr SetAddRegisterImmediateOffset (Instr instr, int offset)
 
static Register GetRd (Instr instr)
 
static Register GetRn (Instr instr)
 
static Register GetRm (Instr instr)
 
static bool IsPush (Instr instr)
 
static bool IsPop (Instr instr)
 
static bool IsStrRegFpOffset (Instr instr)
 
static bool IsLdrRegFpOffset (Instr instr)
 
static bool IsStrRegFpNegOffset (Instr instr)
 
static bool IsLdrRegFpNegOffset (Instr instr)
 
static bool IsLdrPcImmediateOffset (Instr instr)
 
static bool IsBOrBlPcImmediateOffset (Instr instr)
 
static bool IsVldrDPcImmediateOffset (Instr instr)
 
static bool IsBlxReg (Instr instr)
 
static bool IsBlxIp (Instr instr)
 
static bool IsTstImmediate (Instr instr)
 
static bool IsCmpRegister (Instr instr)
 
static bool IsCmpImmediate (Instr instr)
 
static Register GetCmpImmediateRegister (Instr instr)
 
static int GetCmpImmediateRawImmediate (Instr instr)
 
static bool IsNop (Instr instr, int type=NON_MARKING_NOP)
 
static bool IsMovImmed (Instr instr)
 
static bool IsOrrImmed (Instr instr)
 
static bool IsMovT (Instr instr)
 
static Instr GetMovTPattern ()
 
static bool IsMovW (Instr instr)
 
static Instr GetMovWPattern ()
 
static Instr EncodeMovwImmediate (uint32_t immediate)
 
static Instr PatchMovwImmediate (Instr instruction, uint32_t immediate)
 
static int DecodeShiftImm (Instr instr)
 
static Instr PatchShiftImm (Instr instr, int immed)
 
static Address target_pointer_address_at (Address pc)
 
static Address target_address_at (Address pc, Address constant_pool)
 
static Tagged_t target_compressed_address_at (Address pc, Address constant_pool)
 
static void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void set_target_compressed_address_at (Address pc, Address constant_pool, Tagged_t target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Builtin target_builtin_at (Address pc)
 
static int deserialization_special_target_size (Address location)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation=nullptr, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static bool IsConstantPoolAt (Instruction *instr)
 
static int ConstantPoolSizeAt (Instruction *instr)
 
static Instr Rd (CPURegister rd)
 
static Instr Rn (CPURegister rn)
 
static Instr Rm (CPURegister rm)
 
static Instr RmNot31 (CPURegister rm)
 
static Instr Ra (CPURegister ra)
 
static Instr Rt (CPURegister rt)
 
static Instr Rt2 (CPURegister rt2)
 
static Instr Rs (CPURegister rs)
 
static Instr RdSP (Register rd)
 
static Instr RnSP (Register rn)
 
static Instr Flags (FlagsUpdate S)
 
static Instr Cond (Condition cond)
 
static Instr ImmPCRelAddress (int imm21)
 
static Instr ImmUncondBranch (int imm26)
 
static Instr ImmCondBranch (int imm19)
 
static Instr ImmCmpBranch (int imm19)
 
static Instr ImmTestBranch (int imm14)
 
static Instr ImmTestBranchBit (unsigned bit_pos)
 
static Instr SF (Register rd)
 
static Instr ImmAddSub (int imm)
 
static Instr ImmS (unsigned imms, unsigned reg_size)
 
static Instr ImmR (unsigned immr, unsigned reg_size)
 
static Instr ImmSetBits (unsigned imms, unsigned reg_size)
 
static Instr ImmRotate (unsigned immr, unsigned reg_size)
 
static Instr ImmLLiteral (int imm19)
 
static Instr BitN (unsigned bitn, unsigned reg_size)
 
static Instr ShiftDP (Shift shift)
 
static Instr ImmDPShift (unsigned amount)
 
static Instr ExtendMode (Extend extend)
 
static Instr ImmExtendShift (unsigned left_shift)
 
static Instr ImmCondCmp (unsigned imm)
 
static Instr Nzcv (StatusFlags nzcv)
 
static constexpr bool IsImmAddSub (int64_t immediate)
 
static constexpr bool IsImmConditionalCompare (int64_t immediate)
 
static bool IsImmLogical (uint64_t value, unsigned width, unsigned *n, unsigned *imm_s, unsigned *imm_r)
 
static Instr ImmLSUnsigned (int imm12)
 
static Instr ImmLS (int imm9)
 
static Instr ImmLSPair (int imm7, unsigned size)
 
static Instr ImmShiftLS (unsigned shift_amount)
 
static Instr ImmException (int imm16)
 
static Instr ImmSystemRegister (int imm15)
 
static Instr ImmHint (int imm7)
 
static Instr ImmBarrierDomain (int imm2)
 
static Instr ImmBarrierType (int imm2)
 
static unsigned CalcLSDataSizeLog2 (LoadStoreOp op)
 
static Instr VFormat (VRegister vd)
 
static Instr FPFormat (VRegister vd)
 
static Instr LSVFormat (VRegister vd)
 
static Instr SFormat (VRegister vd)
 
static Instr ImmNEONHLM (int index, int num_bits)
 
static Instr ImmNEONExt (int imm4)
 
static Instr ImmNEON5 (Instr format, int index)
 
static Instr ImmNEON4 (Instr format, int index)
 
static Instr ImmNEONabcdefgh (int imm8)
 
static Instr NEONCmode (int cmode)
 
static Instr NEONModImmOp (int op)
 
static constexpr bool IsImmLSUnscaled (int64_t offset)
 
static constexpr bool IsImmLSScaled (int64_t offset, unsigned size_log2)
 
static bool IsImmLLiteral (int64_t offset)
 
static Instr ImmMoveWide (int imm)
 
static Instr ShiftMoveWide (int shift)
 
static Instr ImmFP (double imm)
 
static Instr ImmNEONFP (double imm)
 
static Instr FPScale (unsigned scale)
 
static Instr FPType (VRegister fd)
 
static Address target_address_at (Address pc, Address constant_pool)
 
static void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static int deserialization_special_target_size (Address instruction_payload)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static bool IsNop (Address addr)
 
static Address target_address_at (Address pc)
 
static uint32_t target_compressed_address_at (Address pc)
 
static Address target_address_at (Address pc, Address constant_pool)
 
static Tagged_t target_compressed_address_at (Address pc, Address constant_pool)
 
static void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void set_target_compressed_address_at (Address pc, Address constant_pool, Tagged_t target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Builtin target_builtin_at (Address pc)
 
static void set_target_value_at (Address pc, uint64_t target, WritableJitAllocation *jit_allocation=nullptr, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void set_target_compressed_value_at (Address pc, uint32_t target, WritableJitAllocation *jit_allocation=nullptr, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void JumpLabelToJumpRegister (Address pc)
 
static int deserialization_special_target_size (Address instruction_payload)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void RelocateRelativeReference (RelocInfo::Mode rmode, Address pc, intptr_t pc_delta, WritableJitAllocation *jit_allocation=nullptr)
 
static Instr instr_at (Address pc)
 
static void instr_at_put (Address pc, Instr instr, WritableJitAllocation *jit_allocation=nullptr)
 
static bool IsBranch (Instr instr)
 
static bool IsB (Instr instr)
 
static bool IsBz (Instr instr)
 
static bool IsNal (Instr instr)
 
static bool IsBeq (Instr instr)
 
static bool IsBne (Instr instr)
 
static bool IsJump (Instr instr)
 
static bool IsMov (Instr instr, Register rd, Register rs)
 
static bool IsPcAddi (Instr instr)
 
static bool IsJ (Instr instr)
 
static bool IsLu12i_w (Instr instr)
 
static bool IsOri (Instr instr)
 
static bool IsLu32i_d (Instr instr)
 
static bool IsLu52i_d (Instr instr)
 
static bool IsNop (Instr instr, unsigned int type)
 
static Register GetRjReg (Instr instr)
 
static Register GetRkReg (Instr instr)
 
static Register GetRdReg (Instr instr)
 
static uint32_t GetRj (Instr instr)
 
static uint32_t GetRjField (Instr instr)
 
static uint32_t GetRk (Instr instr)
 
static uint32_t GetRkField (Instr instr)
 
static uint32_t GetRd (Instr instr)
 
static uint32_t GetRdField (Instr instr)
 
static uint32_t GetSa2 (Instr instr)
 
static uint32_t GetSa3 (Instr instr)
 
static uint32_t GetSa2Field (Instr instr)
 
static uint32_t GetSa3Field (Instr instr)
 
static uint32_t GetOpcodeField (Instr instr)
 
static uint32_t GetFunction (Instr instr)
 
static uint32_t GetFunctionField (Instr instr)
 
static uint32_t GetImmediate16 (Instr instr)
 
static uint32_t GetLabelConst (Instr instr)
 
static bool IsAddImmediate (Instr instr)
 
static Instr SetAddImmediateOffset (Instr instr, int16_t offset)
 
static bool IsAndImmediate (Instr instr)
 
static bool IsEmittedConstant (Instr instr)
 
static Address target_address_at (Address pc)
 
static V8_INLINE void set_target_address_at (Address pc, Address target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static V8_INLINE Address target_address_at (Address pc, Address constant_pool)
 
static V8_INLINE void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void set_target_value_at (Address pc, uint64_t target, WritableJitAllocation *jit_allocation=nullptr, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void JumpLabelToJumpRegister (Address pc)
 
static int deserialization_special_target_size (Address instruction_payload)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static int RelocateInternalReference (RelocInfo::Mode rmode, Address pc, intptr_t pc_delta, WritableJitAllocation *jit_allocation=nullptr)
 
static Instr instr_at (Address pc)
 
static void instr_at_put (Address pc, Instr instr, WritableJitAllocation *jit_allocation=nullptr)
 
static bool IsBranch (Instr instr)
 
static bool IsMsaBranch (Instr instr)
 
static bool IsBc (Instr instr)
 
static bool IsNal (Instr instr)
 
static bool IsBzc (Instr instr)
 
static bool IsBeq (Instr instr)
 
static bool IsBne (Instr instr)
 
static bool IsBeqzc (Instr instr)
 
static bool IsBnezc (Instr instr)
 
static bool IsBeqc (Instr instr)
 
static bool IsBnec (Instr instr)
 
static bool IsJump (Instr instr)
 
static bool IsJ (Instr instr)
 
static bool IsLui (Instr instr)
 
static bool IsOri (Instr instr)
 
static bool IsMov (Instr instr, Register rd, Register rs)
 
static bool IsJal (Instr instr)
 
static bool IsJr (Instr instr)
 
static bool IsJalr (Instr instr)
 
static bool IsNop (Instr instr, unsigned int type)
 
static bool IsPop (Instr instr)
 
static bool IsPush (Instr instr)
 
static bool IsLwRegFpOffset (Instr instr)
 
static bool IsSwRegFpOffset (Instr instr)
 
static bool IsLwRegFpNegOffset (Instr instr)
 
static bool IsSwRegFpNegOffset (Instr instr)
 
static Register GetRtReg (Instr instr)
 
static Register GetRsReg (Instr instr)
 
static Register GetRdReg (Instr instr)
 
static uint32_t GetRt (Instr instr)
 
static uint32_t GetRtField (Instr instr)
 
static uint32_t GetRs (Instr instr)
 
static uint32_t GetRsField (Instr instr)
 
static uint32_t GetRd (Instr instr)
 
static uint32_t GetRdField (Instr instr)
 
static uint32_t GetSa (Instr instr)
 
static uint32_t GetSaField (Instr instr)
 
static uint32_t GetOpcodeField (Instr instr)
 
static uint32_t GetFunction (Instr instr)
 
static uint32_t GetFunctionField (Instr instr)
 
static uint32_t GetImmediate16 (Instr instr)
 
static uint32_t GetLabelConst (Instr instr)
 
static int32_t GetBranchOffset (Instr instr)
 
static bool IsLw (Instr instr)
 
static int16_t GetLwOffset (Instr instr)
 
static Instr SetLwOffset (Instr instr, int16_t offset)
 
static bool IsSw (Instr instr)
 
static Instr SetSwOffset (Instr instr, int16_t offset)
 
static bool IsAddImmediate (Instr instr)
 
static Instr SetAddImmediateOffset (Instr instr, int16_t offset)
 
static bool IsAndImmediate (Instr instr)
 
static bool IsEmittedConstant (Instr instr)
 
static bool IsCompactBranchSupported ()
 
static V8_INLINE bool IsConstantPoolLoadStart (Address pc, ConstantPoolEntry::Access *access=nullptr)
 
static V8_INLINE bool IsConstantPoolLoadEnd (Address pc, ConstantPoolEntry::Access *access=nullptr)
 
static V8_INLINE int GetConstantPoolOffset (Address pc, ConstantPoolEntry::Access access, ConstantPoolEntry::Type type)
 
static V8_INLINE Address target_constant_pool_address_at (Address pc, Address constant_pool, ConstantPoolEntry::Access access, ConstantPoolEntry::Type type)
 
static V8_INLINE Address target_address_at (Address pc, Address constant_pool)
 
static V8_INLINE void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Tagged_t target_compressed_address_at (Address pc, Address constant_pool)
 
static void set_target_compressed_address_at (Address pc, Address constant_pool, Tagged_t target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static int deserialization_special_target_size (Address instruction_payload)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static int encode_crbit (const CRegister &cr, enum CRBit crbit)
 
static Instr instr_at (Address pc)
 
static void instr_at_put (Address pc, Instr instr)
 
static Condition GetCondition (Instr instr)
 
static bool IsLis (Instr instr)
 
static bool IsLi (Instr instr)
 
static bool IsAddic (Instr instr)
 
static bool IsOri (Instr instr)
 
static bool IsBranch (Instr instr)
 
static Register GetRA (Instr instr)
 
static Register GetRB (Instr instr)
 
static bool Is64BitLoadIntoR12 (Instr instr1, Instr instr2, Instr instr3, Instr instr4, Instr instr5)
 
static bool IsCmpRegister (Instr instr)
 
static bool IsCmpImmediate (Instr instr)
 
static bool IsRlwinm (Instr instr)
 
static bool IsAndi (Instr instr)
 
static bool IsRldicl (Instr instr)
 
static bool IsCrSet (Instr instr)
 
static Register GetCmpImmediateRegister (Instr instr)
 
static int GetCmpImmediateRawImmediate (Instr instr)
 
static bool IsNop (Instr instr, int type=NON_MARKING_NOP)
 
static RegList DefaultTmpList ()
 
static DoubleRegList DefaultFPTmpList ()
 
static int BrachlongOffset (Instr auipc, Instr jalr)
 
static int PatchBranchlongOffset (Address pc, Instr auipc, Instr instr_I, int32_t offset, WritableJitAllocation *jit_allocation=nullptr)
 
static Builtin target_builtin_at (Address pc)
 
static Address target_constant_address_at (Address pc)
 
static Address target_address_at (Address pc, Address constant_pool)
 
static void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *jit_allocation=nullptr, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Tagged_t target_compressed_address_at (Address pc, Address constant_pool)
 
static void set_target_compressed_address_at (Address pc, Address constant_pool, Tagged_t target, WritableJitAllocation *jit_allocation=nullptr, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static bool IsConstantPoolAt (Instruction *instr)
 
static int ConstantPoolSizeAt (Instruction *instr)
 
static int32_t target_constant32_at (Address pc)
 
static void set_target_constant32_at (Address pc, uint32_t target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode)
 
static void JumpLabelToJumpRegister (Address pc)
 
static void deserialization_set_special_target_at (Address location, Tagged< Code > code, Address target)
 
static int deserialization_special_target_size (Address instruction_payload)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static int RelocateInternalReference (RelocInfo::Mode rmode, Address pc, intptr_t pc_delta)
 
static void RelocateRelativeReference (RelocInfo::Mode rmode, Address pc, intptr_t pc_delta)
 
static Instr instr_at (Address pc)
 
static void instr_at_put (Address pc, Instr instr, WritableJitAllocation *jit_allocation=nullptr)
 
static RegList DefaultTmpList ()
 
static DoubleRegList DefaultFPTmpList ()
 
static V8_INLINE Address target_address_at (Address pc, Address constant_pool)
 
static Tagged_t target_compressed_address_at (Address pc, Address constant_pool)
 
static V8_INLINE void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void set_target_compressed_address_at (Address pc, Address constant_pool, Tagged_t target, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static int deserialization_special_target_size (Address instruction_payload)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static SixByteInstr instr_at (uint8_t *pc)
 
static Condition GetCondition (Instr instr)
 
static bool IsBranch (Instr instr)
 
static bool Is64BitLoadIntoIP (SixByteInstr instr1, SixByteInstr instr2)
 
static bool IsCmpRegister (Instr instr)
 
static bool IsCmpImmediate (Instr instr)
 
static bool IsNop (SixByteInstr instr, int type=NON_MARKING_NOP)
 
static Address target_address_at (Address pc, Address constant_pool)
 
static void set_target_address_at (Address pc, Address constant_pool, Address target, WritableJitAllocation *writable_jit_allocation=nullptr, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static int32_t relative_target_offset (Address target, Address pc)
 
static Builtin target_builtin_at (Address pc)
 
static int deserialization_special_target_size (Address instruction_payload)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, WritableJitAllocation &jit_allocation, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static uint32_t uint32_constant_at (Address pc, Address constant_pool)
 
static void set_uint32_constant_at (Address pc, Address constant_pool, uint32_t new_constant, WritableJitAllocation *jit_allocation=nullptr, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static bool UseConstPoolFor (RelocInfo::Mode rmode)
 
static bool IsNop (Address addr)
 
static bool IsJmpRel (Address addr)
 
- Static Public Member Functions inherited from v8::internal::AssemblerBase
static void QuietNaN (Tagged< HeapObject > nan)
 
- Static Public Member Functions inherited from v8::internal::Malloced
static void * operator new (size_t size)
 
static void operator delete (void *p)
 
- Static Public Member Functions inherited from v8::internal::AssemblerRISCVI
static int JumpOffset (Instr instr)
 
static int AuipcOffset (Instr instr)
 
static int JalrOffset (Instr instr)
 
static int LoadOffset (Instr instr)
 
static bool IsBranch (Instr instr)
 
static bool IsNop (Instr instr)
 
static bool IsJump (Instr instr)
 
static bool IsJal (Instr instr)
 
static bool IsJalr (Instr instr)
 
static bool IsLui (Instr instr)
 
static bool IsAuipc (Instr instr)
 
static bool IsAddi (Instr instr)
 
static bool IsOri (Instr instr)
 
static bool IsSlli (Instr instr)
 
static bool IsLw (Instr instr)
 
- Static Public Member Functions inherited from v8::internal::AssemblerRISCVC
static bool IsCBranch (Instr instr)
 
static bool IsCJal (Instr instr)
 
- Static Public Member Functions inherited from v8::internal::AssemblerRISCVV
static int32_t GenZimm (VSew vsew, Vlmul vlmul, TailAgnosticType tail=tu, MaskAgnosticType mask=mu)
 

Protected Member Functions

 DISALLOW_IMPLICIT_CONSTRUCTORS (MacroAssemblerBase)
 
- Protected Member Functions inherited from v8::internal::Assembler
int buffer_space () const
 
int target_at (int pos)
 
void target_at_put (int pos, int target_pos)
 
void StartBlockConstPool ()
 
void EndBlockConstPool ()
 
bool is_const_pool_blocked () const
 
bool has_pending_constants () const
 
bool VfpRegisterIsAvailable (DwVfpRegister reg)
 
bool VfpRegisterIsAvailable (QwNeonRegister reg)
 
void emit (Instr x)
 
const RegisterAppropriateZeroRegFor (const CPURegister &reg) const
 
void LoadStore (const CPURegister &rt, const MemOperand &addr, LoadStoreOp op)
 
void LoadStoreScaledImmOffset (Instr memop, int offset, unsigned size)
 
void LoadStoreUnscaledImmOffset (Instr memop, int offset)
 
void LoadStoreWRegOffset (Instr memop, const Register &regoffset)
 
void LoadStorePair (const CPURegister &rt, const CPURegister &rt2, const MemOperand &addr, LoadStorePairOp op)
 
void LoadStoreStruct (const VRegister &vt, const MemOperand &addr, NEONLoadStoreMultiStructOp op)
 
void LoadStoreStruct1 (const VRegister &vt, int reg_count, const MemOperand &addr)
 
void LoadStoreStructSingle (const VRegister &vt, uint32_t lane, const MemOperand &addr, NEONLoadStoreSingleStructOp op)
 
void LoadStoreStructSingleAllLanes (const VRegister &vt, const MemOperand &addr, NEONLoadStoreSingleStructOp op)
 
void LoadStoreStructVerify (const VRegister &vt, const MemOperand &addr, Instr op)
 
void Logical (const Register &rd, const Register &rn, const Operand &operand, LogicalOp op)
 
void LogicalImmediate (const Register &rd, const Register &rn, unsigned n, unsigned imm_s, unsigned imm_r, LogicalOp op)
 
void ConditionalCompare (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond, ConditionalCompareOp op)
 
void AddSubWithCarry (const Register &rd, const Register &rn, const Operand &operand, FlagsUpdate S, AddSubWithCarryOp op)
 
void EmitShift (const Register &rd, const Register &rn, Shift shift, unsigned amount)
 
void EmitExtendShift (const Register &rd, const Register &rn, Extend extend, unsigned left_shift)
 
void AddSub (const Register &rd, const Register &rn, const Operand &operand, FlagsUpdate S, AddSubOp op)
 
void DataProcPlainRegister (const Register &rd, const Register &rn, const Register &rm, Instr op)
 
void CmpPlainRegister (const Register &rn, const Register &rm)
 
void DataProcImmediate (const Register &rd, const Register &rn, int immediate, Instr op)
 
void RemoveBranchFromLabelLinkChain (Instruction *branch, Label *label, Instruction *label_veneer=nullptr)
 
int unresolved_branches_first_limit () const
 
void emit_sse_operand (XMMRegister reg, Operand adr)
 
void emit_sse_operand (XMMRegister dst, XMMRegister src)
 
void emit_sse_operand (Register dst, XMMRegister src)
 
void emit_sse_operand (XMMRegister dst, Register src)
 
Address addr_at (int pos)
 
void AdjustBaseAndOffset (MemOperand *src)
 
int64_t buffer_space () const
 
int target_at (int pos, bool is_internal)
 
void target_at_put (int pos, int target_pos, bool is_internal)
 
bool MustUseReg (RelocInfo::Mode rmode)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void BlockTrampolinePoolBefore (int pc_offset)
 
void StartBlockTrampolinePool ()
 
void EndBlockTrampolinePool ()
 
bool is_trampoline_pool_blocked () const
 
bool has_exception () const
 
bool is_trampoline_emitted () const
 
void StartBlockGrowBuffer ()
 
void EndBlockGrowBuffer ()
 
bool is_buffer_growth_blocked () const
 
void CheckTrampolinePoolQuick (int extra_instructions=0)
 
void set_pc_for_safepoint ()
 
void lsa (Register rd, Register rt, Register rs, uint8_t sa)
 
void dlsa (Register rd, Register rt, Register rs, uint8_t sa)
 
void AdjustBaseAndOffset (MemOperand *src, OffsetAccessType access_type=OffsetAccessType::SINGLE_ACCESS, int second_access_add_to_offset=4)
 
int64_t buffer_space () const
 
int target_at (int pos, bool is_internal)
 
void target_at_put (int pos, int target_pos, bool is_internal)
 
bool MustUseReg (RelocInfo::Mode rmode)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void BlockTrampolinePoolBefore (int pc_offset)
 
void StartBlockTrampolinePool ()
 
void EndBlockTrampolinePool ()
 
bool is_trampoline_pool_blocked () const
 
bool has_exception () const
 
void StartBlockGrowBuffer ()
 
void EndBlockGrowBuffer ()
 
bool is_buffer_growth_blocked () const
 
void EmitForbiddenSlotInstruction ()
 
void CheckTrampolinePoolQuick (int extra_instructions=0)
 
void set_pc_for_safepoint ()
 
int buffer_space () const
 
int target_at (int pos)
 
void target_at_put (int pos, int target_pos, bool *is_branch=nullptr)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
ConstantPoolEntry::Access ConstantPoolAddEntry (RelocInfo::Mode rmode, intptr_t value)
 
ConstantPoolEntry::Access ConstantPoolAddEntry (base::Double value)
 
void BlockTrampolinePoolBefore (int pc_offset)
 
void StartBlockTrampolinePool ()
 
void EndBlockTrampolinePool ()
 
bool is_trampoline_pool_blocked () const
 
void StartBlockConstantPoolEntrySharing ()
 
void EndBlockConstantPoolEntrySharing ()
 
bool is_constant_pool_entry_sharing_blocked () const
 
bool has_exception () const
 
bool is_trampoline_emitted () const
 
bool NeedAdjustBaseAndOffset (const MemOperand &src, OffsetAccessType=OffsetAccessType::SINGLE_ACCESS, int second_Access_add_to_offset=4)
 
void AdjustBaseAndOffset (MemOperand *src, Register scratch, OffsetAccessType access_type=OffsetAccessType::SINGLE_ACCESS, int second_access_add_to_offset=4)
 
intptr_t buffer_space () const
 
int target_at (int pos, bool is_internal)
 
void target_at_put (int pos, int target_pos, bool is_internal)
 
bool MustUseReg (RelocInfo::Mode rmode)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void BlockTrampolinePoolBefore (int pc_offset)
 
void StartBlockTrampolinePool ()
 
void EndBlockTrampolinePool ()
 
bool is_trampoline_pool_blocked () const
 
bool has_exception () const
 
bool is_trampoline_emitted () const
 
void StartBlockGrowBuffer ()
 
void EndBlockGrowBuffer ()
 
bool is_buffer_growth_blocked () const
 
int buffer_space () const
 
int target_at (int pos)
 
void target_at_put (int pos, int target_pos, bool *is_branch=nullptr)
 
void RecordRelocInfo (RelocInfo::Mode rmode, intptr_t data=0)
 
void call (Operand operand)
 
- Protected Member Functions inherited from v8::internal::AssemblerBase
int AddCodeTarget (IndirectHandle< Code > target)
 
IndirectHandle< CodeGetCodeTarget (intptr_t code_target_index) const
 
EmbeddedObjectIndex AddEmbeddedObject (IndirectHandle< HeapObject > object)
 
IndirectHandle< HeapObjectGetEmbeddedObject (EmbeddedObjectIndex index) const
 
void set_constant_pool_available (bool available)
 
void RequestHeapNumber (HeapNumberRequest request)
 
bool ShouldRecordRelocInfo (RelocInfo::Mode rmode) const
 
- Protected Member Functions inherited from v8::internal::AssemblerRiscvBase
virtual int32_t branch_offset_helper (Label *L, OffsetSize bits)=0
 
void GenInstrR (uint8_t funct7, uint8_t funct3, BaseOpcode opcode, Register rd, Register rs1, Register rs2)
 
void GenInstrR (uint8_t funct7, uint8_t funct3, BaseOpcode opcode, FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void GenInstrR (uint8_t funct7, uint8_t funct3, BaseOpcode opcode, Register rd, FPURegister rs1, Register rs2)
 
void GenInstrR (uint8_t funct7, uint8_t funct3, BaseOpcode opcode, FPURegister rd, Register rs1, Register rs2)
 
void GenInstrR (uint8_t funct7, uint8_t funct3, BaseOpcode opcode, FPURegister rd, FPURegister rs1, Register rs2)
 
void GenInstrR (uint8_t funct7, uint8_t funct3, BaseOpcode opcode, Register rd, FPURegister rs1, FPURegister rs2)
 
void GenInstrR4 (uint8_t funct2, BaseOpcode opcode, Register rd, Register rs1, Register rs2, Register rs3, FPURoundingMode frm)
 
void GenInstrR4 (uint8_t funct2, BaseOpcode opcode, FPURegister rd, FPURegister rs1, FPURegister rs2, FPURegister rs3, FPURoundingMode frm)
 
void GenInstrRAtomic (uint8_t funct5, bool aq, bool rl, uint8_t funct3, Register rd, Register rs1, Register rs2)
 
void GenInstrRFrm (uint8_t funct7, BaseOpcode opcode, Register rd, Register rs1, Register rs2, FPURoundingMode frm)
 
void GenInstrI (uint8_t funct3, BaseOpcode opcode, Register rd, Register rs1, int16_t imm12)
 
void GenInstrI (uint8_t funct3, BaseOpcode opcode, FPURegister rd, Register rs1, int16_t imm12)
 
void GenInstrIShift (uint8_t funct7, uint8_t funct3, BaseOpcode opcode, Register rd, Register rs1, uint8_t shamt)
 
void GenInstrIShiftW (uint8_t funct7, uint8_t funct3, BaseOpcode opcode, Register rd, Register rs1, uint8_t shamt)
 
void GenInstrS (uint8_t funct3, BaseOpcode opcode, Register rs1, Register rs2, int16_t imm12)
 
void GenInstrS (uint8_t funct3, BaseOpcode opcode, Register rs1, FPURegister rs2, int16_t imm12)
 
void GenInstrB (uint8_t funct3, BaseOpcode opcode, Register rs1, Register rs2, int16_t imm12)
 
void GenInstrU (BaseOpcode opcode, Register rd, int32_t imm20)
 
void GenInstrJ (BaseOpcode opcode, Register rd, int32_t imm20)
 
void GenInstrCR (uint8_t funct4, BaseOpcode opcode, Register rd, Register rs2)
 
void GenInstrCA (uint8_t funct6, BaseOpcode opcode, Register rd, uint8_t funct, Register rs2)
 
void GenInstrCI (uint8_t funct3, BaseOpcode opcode, Register rd, int8_t imm6)
 
void GenInstrCIU (uint8_t funct3, BaseOpcode opcode, Register rd, uint8_t uimm6)
 
void GenInstrCIU (uint8_t funct3, BaseOpcode opcode, FPURegister rd, uint8_t uimm6)
 
void GenInstrCIW (uint8_t funct3, BaseOpcode opcode, Register rd, uint8_t uimm8)
 
void GenInstrCSS (uint8_t funct3, BaseOpcode opcode, FPURegister rs2, uint8_t uimm6)
 
void GenInstrCSS (uint8_t funct3, BaseOpcode opcode, Register rs2, uint8_t uimm6)
 
void GenInstrCL (uint8_t funct3, BaseOpcode opcode, Register rd, Register rs1, uint8_t uimm5)
 
void GenInstrCL (uint8_t funct3, BaseOpcode opcode, FPURegister rd, Register rs1, uint8_t uimm5)
 
void GenInstrCS (uint8_t funct3, BaseOpcode opcode, Register rs2, Register rs1, uint8_t uimm5)
 
void GenInstrCS (uint8_t funct3, BaseOpcode opcode, FPURegister rs2, Register rs1, uint8_t uimm5)
 
void GenInstrCJ (uint8_t funct3, BaseOpcode opcode, uint16_t uint11)
 
void GenInstrCB (uint8_t funct3, BaseOpcode opcode, Register rs1, uint8_t uimm8)
 
void GenInstrCBA (uint8_t funct3, uint8_t funct2, BaseOpcode opcode, Register rs1, int8_t imm6)
 
void GenInstrBranchCC_rri (uint8_t funct3, Register rs1, Register rs2, int16_t imm12)
 
void GenInstrLoad_ri (uint8_t funct3, Register rd, Register rs1, int16_t imm12)
 
void GenInstrStore_rri (uint8_t funct3, Register rs1, Register rs2, int16_t imm12)
 
void GenInstrALU_ri (uint8_t funct3, Register rd, Register rs1, int16_t imm12)
 
void GenInstrShift_ri (bool arithshift, uint8_t funct3, Register rd, Register rs1, uint8_t shamt)
 
void GenInstrALU_rr (uint8_t funct7, uint8_t funct3, Register rd, Register rs1, Register rs2)
 
void GenInstrCSR_ir (uint8_t funct3, Register rd, ControlStatusReg csr, Register rs1)
 
void GenInstrCSR_ii (uint8_t funct3, Register rd, ControlStatusReg csr, uint8_t rs1)
 
void GenInstrShiftW_ri (bool arithshift, uint8_t funct3, Register rd, Register rs1, uint8_t shamt)
 
void GenInstrALUW_rr (uint8_t funct7, uint8_t funct3, Register rd, Register rs1, Register rs2)
 
void GenInstrPriv (uint8_t funct7, Register rs1, Register rs2)
 
void GenInstrLoadFP_ri (uint8_t funct3, FPURegister rd, Register rs1, int16_t imm12)
 
void GenInstrStoreFP_rri (uint8_t funct3, Register rs1, FPURegister rs2, int16_t imm12)
 
void GenInstrALUFP_rr (uint8_t funct7, uint8_t funct3, FPURegister rd, FPURegister rs1, FPURegister rs2)
 
void GenInstrALUFP_rr (uint8_t funct7, uint8_t funct3, FPURegister rd, Register rs1, Register rs2)
 
void GenInstrALUFP_rr (uint8_t funct7, uint8_t funct3, FPURegister rd, FPURegister rs1, Register rs2)
 
void GenInstrALUFP_rr (uint8_t funct7, uint8_t funct3, Register rd, FPURegister rs1, Register rs2)
 
void GenInstrALUFP_rr (uint8_t funct7, uint8_t funct3, Register rd, FPURegister rs1, FPURegister rs2)
 
- Protected Member Functions inherited from v8::internal::AssemblerRISCVV
void vsetvli (Register rd, Register rs1, VSew vsew, Vlmul vlmul, TailAgnosticType tail=tu, MaskAgnosticType mask=mu)
 
void vsetivli (Register rd, uint8_t uimm, VSew vsew, Vlmul vlmul, TailAgnosticType tail=tu, MaskAgnosticType mask=mu)
 
void vsetvlmax (Register rd, VSew vsew, Vlmul vlmul, TailAgnosticType tail=tu, MaskAgnosticType mask=mu)
 
void vsetvl (VSew vsew, Vlmul vlmul, TailAgnosticType tail=tu, MaskAgnosticType mask=mu)
 
void vsetvl (Register rd, Register rs1, Register rs2)
 
void GenInstrV (Register rd, Register rs1, Register rs2)
 
void GenInstrV (Register rd, Register rs1, uint32_t zimm)
 
void GenInstrV (uint8_t funct6, Opcode opcode, VRegister vd, VRegister vs1, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (uint8_t funct6, Opcode opcode, VRegister vd, int8_t vs1, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (uint8_t funct6, Opcode opcode, VRegister vd, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (uint8_t funct6, Opcode opcode, Register rd, VRegister vs1, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (uint8_t funct6, Opcode opcode, FPURegister fd, VRegister vs1, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (uint8_t funct6, Opcode opcode, VRegister vd, Register rs1, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (uint8_t funct6, Opcode opcode, VRegister vd, FPURegister fs1, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (uint8_t funct6, Register rd, Register rs1, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (uint8_t funct6, VRegister vd, int8_t simm5, VRegister vs2, MaskType mask=NoMask)
 
void GenInstrV (BaseOpcode opcode, uint8_t width, VRegister vd, Register rs1, uint8_t umop, MaskType mask, uint8_t IsMop, bool IsMew, uint8_t Nf)
 
void GenInstrV (BaseOpcode opcode, uint8_t width, VRegister vd, Register rs1, Register rs2, MaskType mask, uint8_t IsMop, bool IsMew, uint8_t Nf)
 
void GenInstrV (BaseOpcode opcode, uint8_t width, VRegister vd, Register rs1, VRegister vs2, MaskType mask, uint8_t IsMop, bool IsMew, uint8_t Nf)
 
void GenInstrV (uint8_t funct6, Opcode opcode, Register rd, uint8_t vs1, VRegister vs2, MaskType mask)
 

Protected Attributes

Isolate *const isolate_ = nullptr
 
IndirectHandle< HeapObjectcode_object_
 
bool root_array_available_ = true
 
bool hard_abort_ = false
 
Builtin maybe_builtin_ = Builtin::kNoBuiltinId
 
bool has_frame_ = false
 
int comment_depth_ = 0
 
- Protected Attributes inherited from v8::internal::Assembler
RelocInfoWriter reloc_info_writer
 
base::SmallVector< ConstantPoolEntry, kTypicalNumPending32Constantspending_32_bit_constants_
 
RegList scratch_register_list_
 
VfpRegList scratch_vfp_register_list_
 
const AssemblerZone zone_
 
ZoneAbslBTreeMap< int, Label * > unresolved_branches_
 
absl::flat_hash_map< int, int > branch_link_chain_back_edge_
 
int next_veneer_pool_check_
 
- Protected Attributes inherited from v8::internal::AssemblerBase
std::unique_ptr< AssemblerBufferbuffer_
 
uint8_t * buffer_start_
 
std::forward_list< HeapNumberRequestheap_number_requests_
 
uint8_t * pc_
 
CodeCommentsWriter code_comments_writer_
 

Additional Inherited Members

- Public Attributes inherited from v8::internal::Assembler
Simd128Register rt
 
Simd128Register Simd128Register ra
 
Simd128Register Simd128Register Simd128Register rb
 
Simd128Register Simd128Register Simd128Register Simd128Register rc
 
VectorUnit VU
 
 XMMRegister
 
 YMMRegister
 
Operand256 E6
 
Operand256 XMMRegister
 
Operand256 YMMRegister
 
- Public Attributes inherited from v8::internal::AssemblerRISCVV
VRegister vs1
 
- Static Public Attributes inherited from v8::internal::Assembler
static constexpr int kNoHandlerTable = 0
 
static constexpr SafepointTableBuilderBasekNoSafepointTable = nullptr
 
static constexpr int kSpecialTargetSize = kPointerSize
 
static constexpr int kMaxDistToPcRelativeConstant
 
static constexpr int kMaxDistToIntPool
 
static constexpr int kTypicalNumPending32Constants = 32
 
static constexpr int kMaxNumPending32Constants
 
static constexpr int kVeneerCodeSize = 1 * kInstrSize
 
static constexpr SafepointTableBuilderkNoSafepointTable = nullptr
 
static constexpr uint8_t kTestAlByte = 0xA8
 
static constexpr uint8_t kNopByte = 0x90
 
static constexpr uint8_t kJmpShortOpcode = 0xEB
 
static constexpr uint8_t kJccShortPrefix = 0x70
 
static constexpr uint8_t kJncShortOpcode = kJccShortPrefix | not_carry
 
static constexpr uint8_t kJcShortOpcode = kJccShortPrefix | carry
 
static constexpr uint8_t kJnzShortOpcode = kJccShortPrefix | not_zero
 
static constexpr uint8_t kJzShortOpcode = kJccShortPrefix | zero
 
static constexpr int kMaximalBufferSize = 512 * MB
 
static constexpr int kInstructionsFor64BitConstant = 4
 
static constexpr int kMax16BranchOffset = (1 << (18 - 1)) - 1
 
static constexpr int kMax21BranchOffset = (1 << (23 - 1)) - 1
 
static constexpr int kMax26BranchOffset = (1 << (28 - 1)) - 1
 
static constexpr int kTrampolineSlotsSize = 2 * kInstrSize
 
static constexpr int kBranchPCOffset = kInstrSize
 
static constexpr int kLongBranchPCOffset = 3 * kInstrSize
 
static constexpr int kOptimizedBranchAndLinkLongReturnOffset = 4 * kInstrSize
 
static constexpr int kInstructionsFor32BitConstant = 2
 
static constexpr int kPcLoadDelta = 4
 
static constexpr int kMaxBranchOffset = (1 << (18 - 1)) - 1
 
static constexpr int kMaxCompactBranchOffset = (1 << (28 - 1)) - 1
 
static constexpr int kMovInstructionsConstantPool = 1
 
static constexpr int kMovInstructionsNoConstantPool = 5
 
static constexpr int kTaggedLoadInstructions = 2
 
static constexpr int kMovInstructions
 
static constexpr int kBranchOffsetBits = 13
 
static constexpr int kJumpOffsetBits = 21
 
static constexpr int kCJalOffsetBits = 12
 
static constexpr int kCBranchOffsetBits = 9
 
static constexpr int kMaxJumpOffset = (1 << (21 - 1)) - 1
 
static constexpr int kBytesForPtrConstant = 12
 
static constexpr uint8_t kTestEaxByte = 0xA9
 
static constexpr int kPushq32InstrSize = 5
 
static constexpr int kIntraSegmentJmpInstrSize = 5
 
- Static Public Attributes inherited from v8::internal::AssemblerBase
static constexpr int kMinimalBufferSize = 128
 
static constexpr int kDefaultBufferSize = 4 * KB
 
- Protected Types inherited from v8::internal::Assembler
enum class  OffsetAccessType : bool { SINGLE_ACCESS = false , TWO_ACCESSES = true , SINGLE_ACCESS = false , TWO_ACCESSES = true }
 
enum class  OffsetAccessType : bool { SINGLE_ACCESS = false , TWO_ACCESSES = true , SINGLE_ACCESS = false , TWO_ACCESSES = true }
 
- Protected Types inherited from v8::internal::AssemblerBase
using EmbeddedObjectIndex = size_t
 
- Protected Types inherited from v8::internal::AssemblerRiscvBase
enum  OffsetSize : int {
  kOffset21 = 21 , kOffset12 = 12 , kOffset20 = 20 , kOffset13 = 13 ,
  kOffset32 = 32 , kOffset11 = 11 , kOffset9 = 9
}
 
- Static Protected Member Functions inherited from v8::internal::Assembler
static bool IsImmLSPair (int64_t offset, unsigned size)
 
static bool IsImmFP32 (uint32_t bits)
 
static bool IsImmFP64 (uint64_t bits)
 
static LoadStoreOp LoadOpFor (const CPURegister &rt)
 
static LoadStorePairOp LoadPairOpFor (const CPURegister &rt, const CPURegister &rt2)
 
static LoadStoreOp StoreOpFor (const CPURegister &rt)
 
static LoadStorePairOp StorePairOpFor (const CPURegister &rt, const CPURegister &rt2)
 
static LoadLiteralOp LoadLiteralOpFor (const CPURegister &rt)
 
static void set_target_internal_reference_encoded_at (Address pc, Address target)
 
static void set_target_internal_reference_encoded_at (Address pc, Address target, WritableJitAllocation &jit_allocation)
 
static void set_target_internal_reference_encoded_at (Address pc, Address target)
 
- Static Protected Attributes inherited from v8::internal::Assembler
static constexpr int kGap = 32
 
static constexpr int kMaxRelocSize = RelocInfoWriter::kMaxSize
 
static constexpr int kVeneerDistanceMargin = 1 * KB
 
static constexpr int kVeneerNoProtectionFactor = 2
 
static constexpr int kVeneerDistanceCheckMargin
 

Detailed Description

Definition at line 22 of file macro-assembler-base.h.

Member Enumeration Documentation

◆ RecordWriteCallMode

Enumerator
kDefault 
kWasm 

Definition at line 127 of file macro-assembler-base.h.

Constructor & Destructor Documentation

◆ MacroAssemblerBase() [1/5]

v8::internal::MacroAssemblerBase::MacroAssemblerBase ( Isolate * isolate,
CodeObjectRequired create_code_object,
std::unique_ptr< AssemblerBuffer > buffer = {} )
inline

Definition at line 26 of file macro-assembler-base.h.

◆ MacroAssemblerBase() [2/5]

v8::internal::MacroAssemblerBase::MacroAssemblerBase ( Isolate * isolate,
MaybeAssemblerZone zone,
CodeObjectRequired create_code_object,
std::unique_ptr< AssemblerBuffer > buffer = {} )
inline

Definition at line 30 of file macro-assembler-base.h.

◆ MacroAssemblerBase() [3/5]

v8::internal::MacroAssemblerBase::MacroAssemblerBase ( Isolate * isolate,
const AssemblerOptions & options,
CodeObjectRequired create_code_object,
std::unique_ptr< AssemblerBuffer > buffer = {} )

Definition at line 18 of file macro-assembler-base.cc.

◆ MacroAssemblerBase() [4/5]

v8::internal::MacroAssemblerBase::MacroAssemblerBase ( Isolate * isolate,
MaybeAssemblerZone zone,
AssemblerOptions options,
CodeObjectRequired create_code_object,
std::unique_ptr< AssemblerBuffer > buffer = {} )

Definition at line 25 of file macro-assembler-base.cc.

Here is the call graph for this function:

◆ MacroAssemblerBase() [5/5]

v8::internal::MacroAssemblerBase::MacroAssemblerBase ( MaybeAssemblerZone zone,
AssemblerOptions options,
CodeObjectRequired create_code_object,
std::unique_ptr< AssemblerBuffer > buffer = {} )
inline

Definition at line 44 of file macro-assembler-base.h.

Member Function Documentation

◆ builtin()

Builtin v8::internal::MacroAssemblerBase::builtin ( ) const
inline

Definition at line 64 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ BuiltinEntry()

Address v8::internal::MacroAssemblerBase::BuiltinEntry ( Builtin builtin)

Definition at line 37 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ CanBeImmediate()

static constexpr bool v8::internal::MacroAssemblerBase::CanBeImmediate ( RootIndex index)
inlinestaticconstexpr

Definition at line 88 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ CodeObject()

IndirectHandle< HeapObject > v8::internal::MacroAssemblerBase::CodeObject ( ) const
inline

Definition at line 52 of file macro-assembler-base.h.

◆ CommentForOffHeapTrampoline()

V8_INLINE std::string v8::internal::MacroAssemblerBase::CommentForOffHeapTrampoline ( const char * prefix,
Builtin builtin )
inline

Definition at line 118 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ DISALLOW_IMPLICIT_CONSTRUCTORS()

v8::internal::MacroAssemblerBase::DISALLOW_IMPLICIT_CONSTRUCTORS ( MacroAssemblerBase )
protected

◆ has_frame()

bool v8::internal::MacroAssemblerBase::has_frame ( ) const
inline

Definition at line 67 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ IndirectLoadConstant()

void v8::internal::MacroAssemblerBase::IndirectLoadConstant ( Register destination,
Handle< HeapObject > object )

Definition at line 49 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IndirectLoadExternalReference()

void v8::internal::MacroAssemblerBase::IndirectLoadExternalReference ( Register destination,
ExternalReference reference )

Definition at line 82 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ IsAddressableThroughRootRegister()

bool v8::internal::MacroAssemblerBase::IsAddressableThroughRootRegister ( Isolate * isolate,
const ExternalReference & reference )
static

Definition at line 134 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isolate()

Isolate * v8::internal::MacroAssemblerBase::isolate ( ) const
inline

Definition at line 50 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ LoadFromConstantsTable()

virtual void v8::internal::MacroAssemblerBase::LoadFromConstantsTable ( Register destination,
int constant_index )
pure virtual

Implemented in v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, and v8::internal::MacroAssembler.

Here is the caller graph for this function:

◆ LoadRoot()

virtual void v8::internal::MacroAssemblerBase::LoadRoot ( Register destination,
RootIndex index )
pure virtual

Implemented in v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, and v8::internal::MacroAssembler.

Here is the caller graph for this function:

◆ LoadRootRegisterOffset()

virtual void v8::internal::MacroAssemblerBase::LoadRootRegisterOffset ( Register destination,
intptr_t offset )
pure virtual

Implemented in v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, and v8::internal::MacroAssembler.

Here is the caller graph for this function:

◆ LoadRootRelative()

virtual void v8::internal::MacroAssemblerBase::LoadRootRelative ( Register destination,
int32_t offset )
pure virtual

Implemented in v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, v8::internal::MacroAssembler, and v8::internal::MacroAssembler.

Here is the caller graph for this function:

◆ ReadOnlyRootPtr() [1/2]

Tagged_t v8::internal::MacroAssemblerBase::ReadOnlyRootPtr ( RootIndex index)

Definition at line 151 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ReadOnlyRootPtr() [2/2]

Tagged_t v8::internal::MacroAssemblerBase::ReadOnlyRootPtr ( RootIndex index,
Isolate * isolate )
static

Definition at line 143 of file macro-assembler-base.cc.

Here is the call graph for this function:

◆ root_array_available()

bool v8::internal::MacroAssemblerBase::root_array_available ( ) const
inline

Definition at line 57 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ RootRegisterOffsetForBuiltin()

int32_t v8::internal::MacroAssemblerBase::RootRegisterOffsetForBuiltin ( Builtin builtin)
static

Definition at line 107 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RootRegisterOffsetForExternalReference()

intptr_t v8::internal::MacroAssemblerBase::RootRegisterOffsetForExternalReference ( Isolate * isolate,
const ExternalReference & reference )
static

Definition at line 112 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RootRegisterOffsetForExternalReferenceTableEntry()

int32_t v8::internal::MacroAssemblerBase::RootRegisterOffsetForExternalReferenceTableEntry ( Isolate * isolate,
const ExternalReference & reference )
static

Definition at line 121 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ RootRegisterOffsetForRootIndex()

int32_t v8::internal::MacroAssemblerBase::RootRegisterOffsetForRootIndex ( RootIndex root_index)
static

Definition at line 101 of file macro-assembler-base.cc.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ set_abort_hard()

void v8::internal::MacroAssemblerBase::set_abort_hard ( bool v)
inline

Definition at line 61 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ set_builtin()

void v8::internal::MacroAssemblerBase::set_builtin ( Builtin builtin)
inline

Definition at line 63 of file macro-assembler-base.h.

◆ set_has_frame()

void v8::internal::MacroAssemblerBase::set_has_frame ( bool v)
inline

Definition at line 66 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ set_root_array_available()

void v8::internal::MacroAssemblerBase::set_root_array_available ( bool v)
inline

Definition at line 58 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ should_abort_hard()

bool v8::internal::MacroAssemblerBase::should_abort_hard ( ) const
inline

Definition at line 60 of file macro-assembler-base.h.

Here is the caller graph for this function:

◆ StoreRootRelative()

Member Data Documentation

◆ code_object_

IndirectHandle<HeapObject> v8::internal::MacroAssemblerBase::code_object_
protected

Definition at line 133 of file macro-assembler-base.h.

◆ comment_depth_

int v8::internal::MacroAssemblerBase::comment_depth_ = 0
protected

Definition at line 146 of file macro-assembler-base.h.

◆ hard_abort_

bool v8::internal::MacroAssemblerBase::hard_abort_ = false
protected

Definition at line 139 of file macro-assembler-base.h.

◆ has_frame_

bool v8::internal::MacroAssemblerBase::has_frame_ = false
protected

Definition at line 144 of file macro-assembler-base.h.

◆ isolate_

Isolate* const v8::internal::MacroAssemblerBase::isolate_ = nullptr
protected

Definition at line 130 of file macro-assembler-base.h.

◆ maybe_builtin_

Builtin v8::internal::MacroAssemblerBase::maybe_builtin_ = Builtin::kNoBuiltinId
protected

Definition at line 142 of file macro-assembler-base.h.

◆ root_array_available_

bool v8::internal::MacroAssemblerBase::root_array_available_ = true
protected

Definition at line 136 of file macro-assembler-base.h.


The documentation for this class was generated from the following files: