V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
v8::internal::MacroAssembler Class Reference
Inheritance diagram for v8::internal::MacroAssembler:
v8::internal::TurboAssembler v8::internal::TurboAssembler v8::internal::TurboAssembler v8::internal::TurboAssembler v8::internal::TurboAssembler v8::internal::TurboAssembler v8::internal::TurboAssembler v8::internal::TurboAssembler

Classes

class  PushPopQueue
 

Public Member Functions

 MacroAssembler (const AssemblerOptions &options, void *buffer, int size)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size, CodeObjectRequired create_code_object)
 
 MacroAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int size, CodeObjectRequired create_code_object)
 
void Mls (Register dst, Register src1, Register src2, Register srcA, Condition cond=al)
 
void And (Register dst, Register src1, const Operand &src2, 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 Load (Register dst, const MemOperand &src, Representation r)
 
void Store (Register src, const MemOperand &dst, Representation r)
 
void JumpIfNotInNewSpace (Register object, Register scratch, Label *branch)
 
void JumpIfInNewSpace (Register object, Register scratch, Label *branch)
 
void HasColor (Register object, Register scratch0, Register scratch1, Label *has_color, int first_bit, int second_bit)
 
void JumpIfBlack (Register object, Register scratch0, Register scratch1, Label *on_black)
 
void JumpIfWhite (Register value, Register scratch1, Register scratch2, Register scratch3, Label *value_is_white)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void EnterExitFrame (bool save_doubles, int stack_space=0, StackFrame::Type frame_type=StackFrame::EXIT)
 
void LeaveExitFrame (bool save_doubles, Register argument_count, bool argument_count_is_length=false)
 
void LoadGlobalProxy (Register dst)
 
void LoadNativeContextSlot (int index, Register dst)
 
void InvokeFunctionCode (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void CheckDebugHook (Register fun, Register new_target, const ParameterCount &expected, const ParameterCount &actual)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &actual, InvokeFlag flag)
 
void InvokeFunction (Register function, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void MaybeDropFrames ()
 
void PushStackHandler ()
 
void PopStackHandler ()
 
void CompareObjectType (Register heap_object, Register map, Register type_reg, InstanceType type)
 
void CompareInstanceType (Register map, Register type_reg, InstanceType type)
 
void CompareRoot (Register obj, RootIndex index)
 
void PushRoot (RootIndex index)
 
void JumpIfRoot (Register with, RootIndex index, Label *if_equal)
 
void JumpIfNotRoot (Register with, RootIndex index, Label *if_not_equal)
 
void TryDoubleToInt32Exact (Register result, DwVfpRegister double_input, LowDwVfpRegister double_scratch)
 
void CallStub (CodeStub *stub, Condition cond=al)
 
void TailCallStub (CodeStub *stub, Condition cond=al)
 
void CallRuntime (const Runtime::Function *f, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void TailCallRuntime (Runtime::FunctionId fid)
 
void JumpToExternalReference (const ExternalReference &builtin, bool builtin_exit_frame=false)
 
void JumpToInstructionStream (Address entry)
 
void LoadWeakValue (Register out, Register in, Label *target_if_cleared)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void SmiTag (Register reg, SBit s=LeaveCC)
 
void SmiTag (Register dst, Register src, SBit s=LeaveCC)
 
void UntagAndJumpIfSmi (Register dst, Register src, Label *smi_case)
 
void SmiTst (Register value)
 
void JumpIfNotSmi (Register value, Label *not_smi_label)
 
void JumpIfEitherSmi (Register reg1, Register reg2, Label *on_either_smi)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertConstructor (Register object)
 
void AssertFunction (Register object)
 
void AssertBoundFunction (Register object)
 
void AssertGeneratorObject (Register object)
 
void AssertUndefinedOrAllocationSite (Register object, Register scratch)
 
template<typename Field >
void DecodeField (Register dst, Register src)
 
template<typename Field >
void DecodeField (Register reg)
 
 MacroAssembler (const AssemblerOptions &options, void *buffer, int size)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size, CodeObjectRequired create_code_object)
 
 MacroAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int size, CodeObjectRequired create_code_object)
 
void Bics (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 Ccmn (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond)
 
 STATIC_ASSERT ((reg_zero==(reg_not_zero ^ 1)) &&(reg_bit_clear==(reg_bit_set ^ 1)) &&(always==(never ^ 1)))
 
void Bfxil (const Register &rd, const Register &rn, unsigned lsb, unsigned width)
 
void Cinc (const Register &rd, const Register &rn, Condition cond)
 
void Cinv (const Register &rd, const Register &rn, Condition cond)
 
void CzeroX (const Register &rd, 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 Extr (const Register &rd, const Register &rn, const Register &rm, unsigned lsb)
 
void Fcsel (const VRegister &fd, const VRegister &fn, const VRegister &fm, Condition cond)
 
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 Fmadd (const VRegister &fd, const VRegister &fn, const VRegister &fm, const VRegister &fa)
 
void Fmaxnm (const VRegister &fd, const VRegister &fn, const VRegister &fm)
 
void Fminnm (const VRegister &fd, const VRegister &fn, const VRegister &fm)
 
void Fmsub (const VRegister &fd, const VRegister &fn, const VRegister &fm, const VRegister &fa)
 
void Fnmadd (const VRegister &fd, const VRegister &fn, const VRegister &fm, const VRegister &fa)
 
void Fnmsub (const VRegister &fd, const VRegister &fn, const VRegister &fm, const VRegister &fa)
 
void Hint (SystemHint code)
 
void Hlt (int code)
 
void Ldnp (const CPURegister &rt, const CPURegister &rt2, const MemOperand &src)
 
void Movk (const Register &rd, uint64_t imm, int shift=-1)
 
void Msr (SystemRegister sysreg, const Register &rt)
 
void Nop ()
 
void Mvni (const VRegister &vd, const int imm8, Shift shift=LSL, const int shift_amount=0)
 
void Rev (const Register &rd, const Register &rn)
 
void Sbfiz (const Register &rd, const Register &rn, unsigned lsb, unsigned width)
 
void Smaddl (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 Smulh (const Register &rd, const Register &rn, const Register &rm)
 
void Stnp (const CPURegister &rt, const CPURegister &rt2, const MemOperand &dst)
 
void Umaddl (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 Cmle (const VRegister &vd, const VRegister &vn, int imm)
 
void Cmlt (const VRegister &vd, const VRegister &vn, int imm)
 
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 St1 (const VRegister &vt, const MemOperand &dst)
 
void St1 (const VRegister &vt, const VRegister &vt2, const MemOperand &dst)
 
void St1 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const MemOperand &dst)
 
void St1 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, const MemOperand &dst)
 
void St1 (const VRegister &vt, int lane, const MemOperand &dst)
 
void St2 (const VRegister &vt, const VRegister &vt2, const MemOperand &dst)
 
void St3 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const MemOperand &dst)
 
void St4 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, const MemOperand &dst)
 
void St2 (const VRegister &vt, const VRegister &vt2, int lane, const MemOperand &dst)
 
void St3 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, int lane, const MemOperand &dst)
 
void St4 (const VRegister &vt, const VRegister &vt2, const VRegister &vt3, const VRegister &vt4, int lane, const MemOperand &dst)
 
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 LoadObject (Register result, Handle< Object > object)
 
void PushSizeRegList (RegList registers, unsigned reg_size, CPURegister::RegisterType type=CPURegister::kRegister)
 
void PopSizeRegList (RegList registers, unsigned reg_size, CPURegister::RegisterType type=CPURegister::kRegister)
 
void PushXRegList (RegList regs)
 
void PopXRegList (RegList regs)
 
void PushWRegList (RegList regs)
 
void PopWRegList (RegList regs)
 
void PushDRegList (RegList regs)
 
void PopDRegList (RegList regs)
 
void PushSRegList (RegList regs)
 
void PopSRegList (RegList regs)
 
void PushMultipleTimes (CPURegister src, Register count)
 
void PeekPair (const CPURegister &dst1, const CPURegister &dst2, int offset)
 
void ClaimBySMI (const Register &count_smi, uint64_t unit_size=kXRegSize)
 
void DropBySMI (const Register &count_smi, uint64_t unit_size=kXRegSize)
 
void CompareAndBranch (const Register &lhs, const Operand &rhs, Condition cond, Label *label)
 
void InlineData (uint64_t data)
 
void EnableInstrumentation ()
 
void DisableInstrumentation ()
 
void AnnotateInstrumentation (const char *marker_name)
 
void PushCalleeSavedRegisters ()
 
void PopCalleeSavedRegisters ()
 
template<typename Field >
void DecodeField (Register dst, Register src)
 
template<typename Field >
void DecodeField (Register reg)
 
void SmiTag (Register dst, Register src)
 
void SmiTag (Register smi)
 
void JumpIfNotSmi (Register value, Label *not_smi_label)
 
void JumpIfBothSmi (Register value1, Register value2, Label *both_smi_label, Label *not_smi_label=nullptr)
 
void JumpIfEitherSmi (Register value1, Register value2, Label *either_smi_label, Label *not_smi_label=nullptr)
 
void JumpIfEitherNotSmi (Register value1, Register value2, Label *not_smi_label)
 
void JumpIfBothNotSmi (Register value1, Register value2, Label *not_smi_label)
 
void AssertNotSmi (Register object, AbortReason reason=AbortReason::kOperandIsASmi)
 
void ObjectTag (Register tagged_obj, Register obj)
 
void ObjectUntag (Register untagged_obj, Register obj)
 
void AssertConstructor (Register object)
 
void AssertFunction (Register object)
 
void AssertGeneratorObject (Register object)
 
void AssertBoundFunction (Register object)
 
void AssertUndefinedOrAllocationSite (Register object)
 
void TryRepresentDoubleAsInt64 (Register as_int, VRegister value, VRegister scratch_d, Label *on_successful_conversion=nullptr, Label *on_failed_conversion=nullptr)
 
void CallStub (CodeStub *stub)
 
void TailCallStub (CodeStub *stub)
 
void CallRuntime (const Runtime::Function *f, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void TailCallRuntime (Runtime::FunctionId fid)
 
void JumpToExternalReference (const ExternalReference &builtin, bool builtin_exit_frame=false)
 
void JumpToInstructionStream (Address entry)
 
void InvokePrologue (const ParameterCount &expected, const ParameterCount &actual, Label *done, InvokeFlag flag, bool *definitely_mismatches)
 
void CheckDebugHook (Register fun, Register new_target, const ParameterCount &expected, const ParameterCount &actual)
 
void InvokeFunctionCode (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &actual, InvokeFlag flag)
 
void InvokeFunction (Register function, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void MaybeDropFrames ()
 
void CompareObjectType (Register heap_object, Register map, Register type_reg, InstanceType type)
 
void JumpIfObjectType (Register object, Register map, Register type_reg, InstanceType type, Label *if_cond_pass, Condition cond=eq)
 
void CompareInstanceType (Register map, Register type_reg, InstanceType type)
 
void LoadElementsKindFromMap (Register result, Register map)
 
void CompareRoot (const Register &obj, RootIndex index)
 
void JumpIfRoot (const Register &obj, RootIndex index, Label *if_equal)
 
void JumpIfNotRoot (const Register &obj, RootIndex index, Label *if_not_equal)
 
void CompareAndSplit (const Register &lhs, const Operand &rhs, Condition cond, Label *if_true, Label *if_false, Label *fall_through)
 
void TestAndSplit (const Register &reg, uint64_t bit_pattern, Label *if_all_clear, Label *if_any_set, Label *fall_through)
 
void ExitFramePreserveFPRegs ()
 
void ExitFrameRestoreFPRegs ()
 
void EnterExitFrame (bool save_doubles, const Register &scratch, int extra_space=0, StackFrame::Type frame_type=StackFrame::EXIT)
 
void LeaveExitFrame (bool save_doubles, const Register &scratch, const Register &scratch2)
 
void LoadGlobalProxy (Register dst)
 
void LoadWeakValue (Register out, Register in, Label *target_if_cleared)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void CheckPageFlag (const Register &object, const Register &scratch, int mask, Condition cc, Label *condition_met)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void AssertRegisterIsRoot (Register reg, RootIndex index, AbortReason reason=AbortReason::kRegisterDidNotMatchExpectedRoot)
 
void AssertHasValidColor (const Register &reg)
 
void LoadNativeContextSlot (int index, Register dst)
 
void Printf (const char *format, CPURegister arg0=NoCPUReg, CPURegister arg1=NoCPUReg, CPURegister arg2=NoCPUReg, CPURegister arg3=NoCPUReg)
 
void PrintfNoPreserve (const char *format, const CPURegister &arg0=NoCPUReg, const CPURegister &arg1=NoCPUReg, const CPURegister &arg2=NoCPUReg, const CPURegister &arg3=NoCPUReg)
 
 MacroAssembler (const AssemblerOptions &options, void *buffer, int size)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size, CodeObjectRequired create_code_object)
 
 MacroAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int size, CodeObjectRequired create_code_object)
 
void Set (Register dst, int32_t x)
 
void Set (Operand dst, int32_t x)
 
void PushRoot (RootIndex index)
 
void JumpIfRoot (Register with, RootIndex index, Label *if_equal, Label::Distance if_equal_distance=Label::kFar)
 
void JumpIfNotRoot (Register with, RootIndex index, Label *if_not_equal, Label::Distance if_not_equal_distance=Label::kFar)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void MaybeDropFrames ()
 
void EnterExitFrame (int argc, bool save_doubles, StackFrame::Type frame_type)
 
void EnterApiExitFrame (int argc, Register scratch)
 
void LeaveExitFrame (bool save_doubles, bool pop_arguments=true)
 
void LeaveApiExitFrame ()
 
void LoadGlobalProxy (Register dst)
 
void LoadGlobalFunction (int index, Register function)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void InvokeFunctionCode (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void CheckDebugHook (Register fun, Register new_target, const ParameterCount &expected, const ParameterCount &actual)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &actual, InvokeFlag flag)
 
void CmpObjectType (Register heap_object, InstanceType type, Register map)
 
void CmpInstanceType (Register map, InstanceType type)
 
void DoubleToI (Register result_reg, XMMRegister input_reg, XMMRegister scratch, Label *lost_precision, Label *is_nan, Label::Distance dst=Label::kFar)
 
void SmiTag (Register reg)
 
void UntagSmi (Register reg, Label *is_smi)
 
void JumpIfNotSmi (Register value, Label *not_smi_label, Label::Distance distance=Label::kFar)
 
void JumpIfNotSmi (Operand value, Label *smi_label, Label::Distance distance=Label::kFar)
 
template<typename Field >
void DecodeField (Register reg)
 
void AssertSmi (Register object)
 
void AssertNotSmi (Register object)
 
void AssertFunction (Register object)
 
void AssertConstructor (Register object)
 
void AssertBoundFunction (Register object)
 
void AssertGeneratorObject (Register object)
 
void AssertUndefinedOrAllocationSite (Register object, Register scratch)
 
void PushStackHandler (Register scratch)
 
void PopStackHandler (Register scratch)
 
void CallStub (CodeStub *stub)
 
void TailCallStub (CodeStub *stub)
 
void CallRuntime (const Runtime::Function *f, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void TailCallRuntime (Runtime::FunctionId fid)
 
void JumpToExternalReference (const ExternalReference &ext, bool builtin_exit_frame=false)
 
void JumpToInstructionStream (Address entry)
 
void Drop (int element_count)
 
void Pop (Register dst)
 
void Pop (Operand dst)
 
void PushReturnAddressFrom (Register src)
 
void PopReturnAddressTo (Register dst)
 
void LoadWeakValue (Register in_out, Label *target_if_cleared)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch)
 
 MacroAssembler (const AssemblerOptions &options, void *buffer, int size)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size, CodeObjectRequired create_code_object)
 
 MacroAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int size, CodeObjectRequired create_code_object)
 
void Swap (Register reg1, Register reg2, Register scratch=no_reg)
 
void PushRoot (RootIndex index)
 
void JumpIfRoot (Register with, RootIndex index, Label *if_equal)
 
void JumpIfNotRoot (Register with, RootIndex index, Label *if_not_equal)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, RAStatus ra_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, RAStatus ra_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void Pref (int32_t hint, const MemOperand &rs)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void EmitFPUTruncate (FPURoundingMode rounding_mode, Register result, DoubleRegister double_input, Register scratch, DoubleRegister double_scratch, Register except_flag, CheckForInexactConversion check_inexact=kDontCheckForInexactConversion)
 
void EnterExitFrame (bool save_doubles, int stack_space=0, StackFrame::Type frame_type=StackFrame::EXIT)
 
void LeaveExitFrame (bool save_doubles, Register arg_count, bool do_return=NO_EMIT_RETURN, bool argument_count_is_length=false)
 
void AssertStackIsAligned ()
 
void LoadGlobalProxy (Register dst)
 
void LoadNativeContextSlot (int index, Register dst)
 
void InvokeFunctionCode (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void CheckDebugHook (Register fun, Register new_target, const ParameterCount &expected, const ParameterCount &actual)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &actual, InvokeFlag flag)
 
void InvokeFunction (Register function, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void MaybeDropFrames ()
 
void PushStackHandler ()
 
void PopStackHandler ()
 
void GetObjectType (Register function, Register map, Register type_reg)
 
void CallStub (CodeStub *stub, COND_ARGS)
 
void TailCallStub (CodeStub *stub, COND_ARGS)
 
void CallRuntime (const Runtime::Function *f, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId id, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void TailCallRuntime (Runtime::FunctionId fid)
 
void JumpToExternalReference (const ExternalReference &builtin, BranchDelaySlot bd=PROTECT, bool builtin_exit_frame=false)
 
void JumpToInstructionStream (Address entry)
 
void LoadWeakValue (Register out, Register in, Label *target_if_cleared)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void SmiTag (Register reg)
 
void SmiTag (Register dst, Register src)
 
void SmiTst (Register value, Register scratch)
 
void UntagAndJumpIfSmi (Register dst, Register src, Label *smi_case)
 
void JumpIfNotSmi (Register value, Label *not_smi_label, Register scratch=at, BranchDelaySlot bd=PROTECT)
 
void JumpIfEitherSmi (Register reg1, Register reg2, Label *on_either_smi)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertConstructor (Register object)
 
void AssertFunction (Register object)
 
void AssertBoundFunction (Register object)
 
void AssertGeneratorObject (Register object)
 
void AssertUndefinedOrAllocationSite (Register object, Register scratch)
 
template<typename Field >
void DecodeField (Register dst, Register src)
 
template<typename Field >
void DecodeField (Register reg)
 
 MacroAssembler (const AssemblerOptions &options, void *buffer, int size)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size, CodeObjectRequired create_code_object)
 
 MacroAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int size, CodeObjectRequired create_code_object)
 
bool IsNear (Label *L, Condition cond, int rs_reg)
 
void Swap (Register reg1, Register reg2, Register scratch=no_reg)
 
void PushRoot (RootIndex index)
 
void JumpIfRoot (Register with, RootIndex index, Label *if_equal)
 
void JumpIfNotRoot (Register with, RootIndex index, Label *if_not_equal)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, RAStatus ra_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, RAStatus ra_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void Pref (int32_t hint, const MemOperand &rs)
 
void LoadWordPair (Register rd, const MemOperand &rs, Register scratch=at)
 
void StoreWordPair (Register rd, const MemOperand &rs, Register scratch=at)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void Trunc_l_ud (FPURegister fd, FPURegister fs, FPURegister scratch)
 
void Trunc_l_d (FPURegister fd, FPURegister fs)
 
void Round_l_d (FPURegister fd, FPURegister fs)
 
void Floor_l_d (FPURegister fd, FPURegister fs)
 
void Ceil_l_d (FPURegister fd, FPURegister fs)
 
void Trunc_w_d (FPURegister fd, FPURegister fs)
 
void Round_w_d (FPURegister fd, FPURegister fs)
 
void Floor_w_d (FPURegister fd, FPURegister fs)
 
void Ceil_w_d (FPURegister fd, FPURegister fs)
 
void Madd_s (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft, FPURegister scratch)
 
void Madd_d (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft, FPURegister scratch)
 
void Msub_s (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft, FPURegister scratch)
 
void Msub_d (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft, FPURegister scratch)
 
void BranchShortMSA (MSABranchDF df, Label *target, MSABranchCondition cond, MSARegister wt, BranchDelaySlot bd=PROTECT)
 
void EmitFPUTruncate (FPURoundingMode rounding_mode, Register result, DoubleRegister double_input, Register scratch, DoubleRegister double_scratch, Register except_flag, CheckForInexactConversion check_inexact=kDontCheckForInexactConversion)
 
void EnterExitFrame (bool save_doubles, int stack_space=0, StackFrame::Type frame_type=StackFrame::EXIT)
 
void LeaveExitFrame (bool save_doubles, Register arg_count, bool do_return=NO_EMIT_RETURN, bool argument_count_is_length=false)
 
void AssertStackIsAligned ()
 
void LoadGlobalProxy (Register dst)
 
void LoadNativeContextSlot (int index, Register dst)
 
void LoadGlobalFunctionInitialMap (Register function, Register map, Register scratch)
 
void InvokeFunctionCode (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void CheckDebugHook (Register fun, Register new_target, const ParameterCount &expected, const ParameterCount &actual)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &actual, InvokeFlag flag)
 
void InvokeFunction (Register function, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void MaybeDropFrames ()
 
void PushStackHandler ()
 
void PopStackHandler ()
 
void GetObjectType (Register function, Register map, Register type_reg)
 
void CallStub (CodeStub *stub, COND_ARGS)
 
void TailCallStub (CodeStub *stub, COND_ARGS)
 
void CallRuntime (const Runtime::Function *f, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void TailCallRuntime (Runtime::FunctionId fid)
 
void JumpToExternalReference (const ExternalReference &builtin, BranchDelaySlot bd=PROTECT, bool builtin_exit_frame=false)
 
void JumpToInstructionStream (Address entry)
 
void LoadWeakValue (Register out, Register in, Label *target_if_cleared)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void SmiTag (Register dst, Register src)
 
void SmiTag (Register reg)
 
void SmiScale (Register dst, Register src, int scale)
 
void SmiTst (Register value, Register scratch)
 
void UntagAndJumpIfSmi (Register dst, Register src, Label *smi_case)
 
void JumpIfNotSmi (Register value, Label *not_smi_label, Register scratch=at, BranchDelaySlot bd=PROTECT)
 
void JumpIfEitherSmi (Register reg1, Register reg2, Label *on_either_smi)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertConstructor (Register object)
 
void AssertFunction (Register object)
 
void AssertBoundFunction (Register object)
 
void AssertGeneratorObject (Register object)
 
void AssertUndefinedOrAllocationSite (Register object, Register scratch)
 
template<typename Field >
void DecodeField (Register dst, Register src)
 
template<typename Field >
void DecodeField (Register reg)
 
 MacroAssembler (const AssemblerOptions &options, void *buffer, int size)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size, CodeObjectRequired create_code_object)
 
 MacroAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int size, CodeObjectRequired create_code_object)
 
void IncrementalMarkingRecordWriteHelper (Register object, Register value, Register address)
 
void JumpToJSEntry (Register target)
 
void JumpIfNotInNewSpace (Register object, Register scratch, Label *branch)
 
void JumpIfInNewSpace (Register object, Register scratch, Label *branch)
 
void HasColor (Register object, Register scratch0, Register scratch1, Label *has_color, int first_bit, int second_bit)
 
void JumpIfBlack (Register object, Register scratch0, Register scratch1, Label *on_black)
 
void JumpIfWhite (Register value, Register scratch1, Register scratch2, Register scratch3, Label *value_is_white)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void EnterExitFrame (bool save_doubles, int stack_space=1, StackFrame::Type frame_type=StackFrame::EXIT)
 
void LeaveExitFrame (bool save_doubles, Register argument_count, bool argument_count_is_length=false)
 
void LoadGlobalProxy (Register dst)
 
void LoadNativeContextSlot (int index, Register dst)
 
void LoadWord (Register dst, const MemOperand &mem, Register scratch)
 
void StoreWord (Register src, const MemOperand &mem, Register scratch)
 
void LoadHalfWord (Register dst, const MemOperand &mem, Register scratch=no_reg)
 
void LoadHalfWordArith (Register dst, const MemOperand &mem, Register scratch=no_reg)
 
void StoreHalfWord (Register src, const MemOperand &mem, Register scratch)
 
void LoadByte (Register dst, const MemOperand &mem, Register scratch)
 
void StoreByte (Register src, const MemOperand &mem, Register scratch)
 
void LoadRepresentation (Register dst, const MemOperand &mem, Representation r, Register scratch=no_reg)
 
void StoreRepresentation (Register src, const MemOperand &mem, Representation r, Register scratch=no_reg)
 
void LoadDoubleU (DoubleRegister dst, const MemOperand &mem, Register scratch=no_reg)
 
void Cmplwi (Register src1, const Operand &src2, Register scratch, CRegister cr=cr7)
 
void And (Register ra, Register rs, const Operand &rb, RCBit rc=LeaveRC)
 
void Or (Register ra, Register rs, const Operand &rb, RCBit rc=LeaveRC)
 
void Xor (Register ra, Register rs, const Operand &rb, RCBit rc=LeaveRC)
 
void AddSmiLiteral (Register dst, Register src, Smi smi, Register scratch)
 
void SubSmiLiteral (Register dst, Register src, Smi smi, Register scratch)
 
void CmpSmiLiteral (Register src1, Smi smi, Register scratch, CRegister cr=cr7)
 
void CmplSmiLiteral (Register src1, Smi smi, Register scratch, CRegister cr=cr7)
 
void AndSmiLiteral (Register dst, Register src, Smi smi, Register scratch, RCBit rc=LeaveRC)
 
void InvokeFunctionCode (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void CheckDebugHook (Register fun, Register new_target, const ParameterCount &expected, const ParameterCount &actual)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &actual, InvokeFlag flag)
 
void InvokeFunction (Register function, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void DebugBreak ()
 
void MaybeDropFrames ()
 
void PushStackHandler ()
 
void PopStackHandler ()
 
void CompareObjectType (Register heap_object, Register map, Register type_reg, InstanceType type)
 
void CompareInstanceType (Register map, Register type_reg, InstanceType type)
 
void CompareRoot (Register obj, RootIndex index)
 
void PushRoot (RootIndex index)
 
void JumpIfRoot (Register with, RootIndex index, Label *if_equal)
 
void JumpIfNotRoot (Register with, RootIndex index, Label *if_not_equal)
 
void TryDoubleToInt32Exact (Register result, DoubleRegister double_input, Register scratch, DoubleRegister double_scratch)
 
void CallJSEntry (Register target)
 
void CallStub (CodeStub *stub, Condition cond=al)
 
void TailCallStub (CodeStub *stub, Condition cond=al)
 
void CallRuntime (const Runtime::Function *f, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntimeSaveDoubles (Runtime::FunctionId fid)
 
void CallRuntime (Runtime::FunctionId fid, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void TailCallRuntime (Runtime::FunctionId fid)
 
void JumpToExternalReference (const ExternalReference &builtin, bool builtin_exit_frame=false)
 
void JumpToInstructionStream (Address entry)
 
void LoadWeakValue (Register out, Register in, Label *target_if_cleared)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void SmiTag (Register reg, RCBit rc=LeaveRC)
 
void SmiTag (Register dst, Register src, RCBit rc=LeaveRC)
 
void SmiToPtrArrayOffset (Register dst, Register src)
 
void UntagAndJumpIfSmi (Register dst, Register src, Label *smi_case)
 
void JumpIfNotSmi (Register value, Label *not_smi_label)
 
void JumpIfEitherSmi (Register reg1, Register reg2, Label *on_either_smi)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertConstructor (Register object)
 
void AssertFunction (Register object)
 
void AssertBoundFunction (Register object)
 
void AssertGeneratorObject (Register object)
 
void AssertUndefinedOrAllocationSite (Register object, Register scratch)
 
template<typename Field >
void DecodeField (Register dst, Register src, RCBit rc=LeaveRC)
 
template<typename Field >
void DecodeField (Register reg, RCBit rc=LeaveRC)
 
 MacroAssembler (const AssemblerOptions &options, void *buffer, int size)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size, CodeObjectRequired create_code_object)
 
 MacroAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int size, CodeObjectRequired create_code_object)
 
void TailCallStub (CodeStub *stub, Condition cond=al)
 
void CallStub (CodeStub *stub, Condition cond=al)
 
void CallRuntime (const Runtime::Function *f, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntimeSaveDoubles (Runtime::FunctionId fid)
 
void CallRuntime (Runtime::FunctionId fid, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void TailCallRuntime (Runtime::FunctionId fid)
 
void CompareObjectType (Register heap_object, Register map, Register type_reg, InstanceType type)
 
void CompareInstanceType (Register map, Register type_reg, InstanceType type)
 
void CompareRoot (Register obj, RootIndex index)
 
void PushRoot (RootIndex index)
 
void JumpToExternalReference (const ExternalReference &builtin, bool builtin_exit_frame=false)
 
void JumpToInstructionStream (Address entry)
 
void JumpIfRoot (Register with, RootIndex index, Label *if_equal)
 
void JumpIfNotRoot (Register with, RootIndex index, Label *if_not_equal)
 
void TryDoubleToInt32Exact (Register result, DoubleRegister double_input, Register scratch, DoubleRegister double_scratch)
 
void LoadWeakValue (Register out, Register in, Label *target_if_cleared)
 
void IncrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void DecrementCounter (StatsCounter *counter, int value, Register scratch1, Register scratch2)
 
void InvokeFunctionCode (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void CheckDebugHook (Register fun, Register new_target, const ParameterCount &expected, const ParameterCount &actual)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &actual, InvokeFlag flag)
 
void InvokeFunction (Register function, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void MaybeDropFrames ()
 
void PushStackHandler ()
 
void PopStackHandler ()
 
void EnterExitFrame (bool save_doubles, int stack_space=1, StackFrame::Type frame_type=StackFrame::EXIT)
 
void LeaveExitFrame (bool save_doubles, Register argument_count, bool argument_count_is_length=false)
 
void LoadGlobalProxy (Register dst)
 
void LoadNativeContextSlot (int index, Register dst)
 
void SmiTag (Register reg)
 
void SmiTag (Register dst, Register src)
 
void SmiToPtrArrayOffset (Register dst, Register src)
 
void UntagAndJumpIfSmi (Register dst, Register src, Label *smi_case)
 
void JumpIfNotSmi (Register value, Label *not_smi_label)
 
void JumpIfEitherSmi (Register reg1, Register reg2, Label *on_either_smi)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertConstructor (Register object, Register scratch)
 
void AssertFunction (Register object)
 
void AssertBoundFunction (Register object)
 
void AssertGeneratorObject (Register object)
 
void AssertUndefinedOrAllocationSite (Register object, Register scratch)
 
template<typename Field >
void DecodeField (Register dst, Register src)
 
template<typename Field >
void DecodeField (Register reg)
 
void IncrementalMarkingRecordWriteHelper (Register object, Register value, Register address)
 
void CallJSEntry (Register target)
 
void JumpToJSEntry (Register target)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, LinkRegisterStatus lr_status, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void LoadRepresentation (Register dst, const MemOperand &mem, Representation r, Register scratch=no_reg)
 
void StoreRepresentation (Register src, const MemOperand &mem, Representation r, Register scratch=no_reg)
 
 MacroAssembler (const AssemblerOptions &options, void *buffer, int size)
 
 MacroAssembler (Isolate *isolate, void *buffer, int size, CodeObjectRequired create_code_object)
 
 MacroAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int size, CodeObjectRequired create_code_object)
 
void Load (Register destination, ExternalReference source)
 
void Store (ExternalReference destination, Register source)
 
void PushAddress (ExternalReference source)
 
void PushRoot (RootIndex index)
 
void JumpIfRoot (Register with, RootIndex index, Label *if_equal, Label::Distance if_equal_distance=Label::kFar)
 
void JumpIfRoot (Operand with, RootIndex index, Label *if_equal, Label::Distance if_equal_distance=Label::kFar)
 
void JumpIfNotRoot (Register with, RootIndex index, Label *if_not_equal, Label::Distance if_not_equal_distance=Label::kFar)
 
void JumpIfNotRoot (Operand with, RootIndex index, Label *if_not_equal, Label::Distance if_not_equal_distance=Label::kFar)
 
void RecordWriteField (Register object, int offset, Register value, Register scratch, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void RecordWrite (Register object, Register address, Register value, SaveFPRegsMode save_fp, RememberedSetAction remembered_set_action=EMIT_REMEMBERED_SET, SmiCheck smi_check=INLINE_SMI_CHECK)
 
void MaybeDropFrames ()
 
void EnterExitFrame (int arg_stack_space=0, bool save_doubles=false, StackFrame::Type frame_type=StackFrame::EXIT)
 
void EnterApiExitFrame (int arg_stack_space)
 
void LeaveExitFrame (bool save_doubles=false, bool pop_arguments=true)
 
void LeaveApiExitFrame ()
 
void PushSafepointRegisters ()
 
void PopSafepointRegisters ()
 
void InvokeFunctionCode (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void CheckDebugHook (Register fun, Register new_target, const ParameterCount &expected, const ParameterCount &actual)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &actual, InvokeFlag flag)
 
void InvokeFunction (Register function, Register new_target, const ParameterCount &expected, const ParameterCount &actual, InvokeFlag flag)
 
void SmiTag (Register dst, Register src)
 
void SmiCompare (Register smi1, Register smi2)
 
void SmiCompare (Register dst, Smi src)
 
void SmiCompare (Register dst, Operand src)
 
void SmiCompare (Operand dst, Register src)
 
void SmiCompare (Operand dst, Smi src)
 
void JumpIfNotSmi (Register src, Label *on_not_smi, Label::Distance near_jump=Label::kFar)
 
void JumpIfNotSmi (Operand src, Label *on_not_smi, Label::Distance near_jump=Label::kFar)
 
void SmiAddConstant (Operand dst, Smi constant)
 
SmiIndex SmiToIndex (Register dst, Register src, int shift)
 
void Load (Register dst, Operand src, Representation r)
 
void Store (Operand dst, Register src, Representation r)
 
void Cmp (Register dst, Handle< Object > source)
 
void Cmp (Operand dst, Handle< Object > source)
 
void Cmp (Register dst, Smi src)
 
void Cmp (Operand dst, Smi src)
 
void Drop (int stack_elements)
 
void DropUnderReturnAddress (int stack_elements, Register scratch=kScratchRegister)
 
void PushQuad (Operand src)
 
void PushImm32 (int32_t imm32)
 
void Pop (Register dst)
 
void Pop (Operand dst)
 
void PopQuad (Operand dst)
 
void Absps (XMMRegister dst)
 
void Negps (XMMRegister dst)
 
void Abspd (XMMRegister dst)
 
void Negpd (XMMRegister dst)
 
void JumpToInstructionStream (Address entry)
 
void Pushad ()
 
void Popad ()
 
void CmpObjectType (Register heap_object, InstanceType type, Register map)
 
void CmpInstanceType (Register map, InstanceType type)
 
void DoubleToI (Register result_reg, XMMRegister input_reg, XMMRegister scratch, Label *lost_precision, Label *is_nan, Label::Distance dst=Label::kFar)
 
template<typename Field >
void DecodeField (Register reg)
 
void AssertNotSmi (Register object)
 
void AssertSmi (Register object)
 
void AssertSmi (Operand object)
 
void AssertConstructor (Register object)
 
void AssertFunction (Register object)
 
void AssertBoundFunction (Register object)
 
void AssertGeneratorObject (Register object)
 
void AssertUndefinedOrAllocationSite (Register object)
 
void PushStackHandler ()
 
void PopStackHandler ()
 
void LoadGlobalProxy (Register dst)
 
void LoadNativeContextSlot (int index, Register dst)
 
void CallStub (CodeStub *stub)
 
void TailCallStub (CodeStub *stub)
 
void CallRuntime (const Runtime::Function *f, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void CallRuntime (Runtime::FunctionId fid, int num_arguments, SaveFPRegsMode save_doubles=kDontSaveFPRegs)
 
void TailCallRuntime (Runtime::FunctionId fid)
 
void JumpToExternalReference (const ExternalReference &ext, bool builtin_exit_frame=false)
 
void IncrementCounter (StatsCounter *counter, int value)
 
void DecrementCounter (StatsCounter *counter, int value)
 
void LoadWeakValue (Register in_out, Label *target_if_cleared)
 
- Public Member Functions inherited from v8::internal::TurboAssembler
 TurboAssembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
void EnterFrame (StackFrame::Type type, bool load_constant_pool_pointer_reg=false)
 
int LeaveFrame (StackFrame::Type type)
 
void PushCommonFrame (Register marker_reg=no_reg)
 
void StubPrologue (StackFrame::Type type)
 
void Prologue ()
 
void PushStandardFrame (Register function_reg)
 
void InitializeRootRegister ()
 
void Push (Register src)
 
void Push (Handle< HeapObject > handle)
 
void Push (Smi smi)
 
void Push (Register src1, Register src2, Condition cond=al)
 
void Push (Register src1, Register src2, Register src3, Condition cond=al)
 
void Push (Register src1, Register src2, Register src3, Register src4, Condition cond=al)
 
void Push (Register src1, Register src2, Register src3, Register src4, Register src5, Condition cond=al)
 
void Pop (Register dst)
 
void Pop (Register src1, Register src2, Condition cond=al)
 
void Pop (Register src1, Register src2, Register src3, Condition cond=al)
 
void Pop (Register src1, Register src2, Register src3, Register src4, Condition cond=al)
 
void PrepareCallCFunction (int num_reg_arguments, int num_double_registers=0, Register scratch=no_reg)
 
void PrepareForTailCall (const ParameterCount &callee_args_count, Register caller_args_count_reg, Register scratch0, Register scratch1)
 
void MovToFloatParameter (DwVfpRegister src)
 
void MovToFloatParameters (DwVfpRegister src1, DwVfpRegister src2)
 
void MovToFloatResult (DwVfpRegister src)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void CallCFunction (ExternalReference function, int num_reg_arguments, int num_double_arguments)
 
void CallCFunction (Register function, int num_reg_arguments, int num_double_arguments)
 
void MovFromFloatParameter (DwVfpRegister dst)
 
void MovFromFloatResult (DwVfpRegister dst)
 
void Assert (Condition cond, AbortReason reason)
 
void AssertUnreachable (AbortReason reason)
 
void Check (Condition cond, AbortReason reason)
 
void Abort (AbortReason msg)
 
bool AllowThisStubCall (CodeStub *stub)
 
void LslPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register shift)
 
void LslPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void LsrPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register shift)
 
void LsrPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void AsrPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register shift)
 
void AsrPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void LoadFromConstantsTable (Register destination, int constant_index) override
 
void LoadRootRegisterOffset (Register destination, intptr_t offset) override
 
void LoadRootRelative (Register destination, int32_t offset) override
 
void CallRuntimeWithCEntry (Runtime::FunctionId fid, Register centry)
 
void Call (Register target, Condition cond=al)
 
void Call (Address target, RelocInfo::Mode rmode, Condition cond=al, TargetAddressStorageMode mode=CAN_INLINE_TARGET_ADDRESS, bool check_constant_pool=true)
 
void Call (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, Condition cond=al, TargetAddressStorageMode mode=CAN_INLINE_TARGET_ADDRESS, bool check_constant_pool=true)
 
void Call (Label *target)
 
void CallForDeoptimization (Address target, int deopt_id, RelocInfo::Mode rmode)
 
void Drop (int count, Condition cond=al)
 
void Drop (Register count, Condition cond=al)
 
void Ret (Condition cond=al)
 
void Ret (int drop, Condition cond=al)
 
void VFPCompareAndSetFlags (const SwVfpRegister src1, const SwVfpRegister src2, const Condition cond=al)
 
void VFPCompareAndSetFlags (const SwVfpRegister src1, const float src2, const Condition cond=al)
 
void VFPCompareAndSetFlags (const DwVfpRegister src1, const DwVfpRegister src2, const Condition cond=al)
 
void VFPCompareAndSetFlags (const DwVfpRegister src1, const double src2, const Condition cond=al)
 
void VFPCanonicalizeNaN (const DwVfpRegister dst, const DwVfpRegister src, const Condition cond=al)
 
void VFPCanonicalizeNaN (const DwVfpRegister value, const Condition cond=al)
 
void VmovHigh (Register dst, DwVfpRegister src)
 
void VmovHigh (DwVfpRegister dst, Register src)
 
void VmovLow (Register dst, DwVfpRegister src)
 
void VmovLow (DwVfpRegister dst, Register src)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met)
 
void CheckFor32DRegs (Register scratch)
 
void SaveRegisters (RegList registers)
 
void RestoreRegisters (RegList registers)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Address wasm_target)
 
void SaveFPRegs (Register location, Register scratch)
 
void RestoreFPRegs (Register location, Register scratch)
 
int RequiredStackSizeForCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg) const
 
int PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
int PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void Jump (Register target, Condition cond=al)
 
void Jump (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
void Jump (Handle< Code > code, RelocInfo::Mode rmode, Condition cond=al)
 
void FloatMax (SwVfpRegister result, SwVfpRegister left, SwVfpRegister right, Label *out_of_line)
 
void FloatMin (SwVfpRegister result, SwVfpRegister left, SwVfpRegister right, Label *out_of_line)
 
void FloatMax (DwVfpRegister result, DwVfpRegister left, DwVfpRegister right, Label *out_of_line)
 
void FloatMin (DwVfpRegister result, DwVfpRegister left, DwVfpRegister right, Label *out_of_line)
 
void FloatMaxOutOfLine (SwVfpRegister result, SwVfpRegister left, SwVfpRegister right)
 
void FloatMinOutOfLine (SwVfpRegister result, SwVfpRegister left, SwVfpRegister right)
 
void FloatMaxOutOfLine (DwVfpRegister result, DwVfpRegister left, DwVfpRegister right)
 
void FloatMinOutOfLine (DwVfpRegister result, DwVfpRegister left, DwVfpRegister right)
 
void ExtractLane (Register dst, QwNeonRegister src, NeonDataType dt, int lane)
 
void ExtractLane (Register dst, DwVfpRegister src, NeonDataType dt, int lane)
 
void ExtractLane (SwVfpRegister dst, QwNeonRegister src, int lane)
 
void ReplaceLane (QwNeonRegister dst, QwNeonRegister src, Register src_lane, NeonDataType dt, int lane)
 
void ReplaceLane (QwNeonRegister dst, QwNeonRegister src, SwVfpRegister src_lane, int lane)
 
void Move (Register dst, Smi smi)
 
void Move (Register dst, Handle< HeapObject > value)
 
void Move (Register dst, ExternalReference reference)
 
void Move (Register dst, Register src, Condition cond=al)
 
void Move (Register dst, const Operand &src, SBit sbit=LeaveCC, Condition cond=al)
 
void Move (SwVfpRegister dst, SwVfpRegister src, Condition cond=al)
 
void Move (DwVfpRegister dst, DwVfpRegister src, Condition cond=al)
 
void Move (QwNeonRegister dst, QwNeonRegister src)
 
void VmovExtended (Register dst, int src_code)
 
void VmovExtended (int dst_code, Register src)
 
void VmovExtended (int dst_code, int src_code)
 
void VmovExtended (int dst_code, const MemOperand &src)
 
void VmovExtended (const MemOperand &dst, int src_code)
 
void Swap (Register srcdst0, Register srcdst1)
 
void Swap (DwVfpRegister srcdst0, DwVfpRegister srcdst1)
 
void Swap (QwNeonRegister srcdst0, QwNeonRegister srcdst1)
 
void Bfc (Register dst, Register src, int lsb, int width, Condition cond=al)
 
void SmiUntag (Register reg, SBit s=LeaveCC)
 
void SmiUntag (Register dst, Register src, SBit s=LeaveCC)
 
void LoadRoot (Register destination, RootIndex index) override
 
void LoadRoot (Register destination, RootIndex index, Condition cond)
 
void JumpIfSmi (Register value, Label *smi_label)
 
void JumpIfEqual (Register x, int32_t y, Label *dest)
 
void JumpIfLessThan (Register x, int32_t y, Label *dest)
 
void TryInlineTruncateDoubleToI (Register result, DwVfpRegister input, Label *done)
 
void TruncateDoubleToI (Isolate *isolate, Zone *zone, Register result, DwVfpRegister double_input, StubCallMode stub_mode)
 
bool use_eabi_hardfloat ()
 
void ComputeCodeStartAddress (Register dst)
 
void ResetSpeculationPoisonRegister ()
 
 TurboAssembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
bool CanUseNearCallOrJump (RelocInfo::Mode rmode)
 
void EnterFrame (StackFrame::Type type)
 
void EnterFrame (StackFrame::Type type, bool load_constant_pool_pointer_reg)
 
void LeaveFrame (StackFrame::Type type)
 
void InitializeRootRegister ()
 
void Mov (const Register &rd, const Operand &operand, DiscardMoveMode discard_mode=kDontDiscardForSameWReg)
 
void Mov (const Register &rd, uint64_t imm)
 
void Mov (const VRegister &vd, int vd_index, const VRegister &vn, int vn_index)
 
void Mov (const VRegister &vd, const VRegister &vn, int index)
 
void Mov (const VRegister &vd, int vd_index, const Register &rn)
 
void Mov (const Register &rd, const VRegister &vn, int vn_index)
 
void Move (Register dst, Smi src)
 
void Swap (Register lhs, Register rhs)
 
void Swap (VRegister lhs, VRegister rhs)
 
void Bic (const VRegister &vd, const int imm8, const int left_shift=0)
 
void jmp (Label *L)
 
void B (Label *label, BranchType type, Register reg=NoReg, int bit=-1)
 
void B (Label *label)
 
void B (Condition cond, Label *label)
 
void B (Label *label, Condition cond)
 
void Tbnz (const Register &rt, unsigned bit_pos, Label *label)
 
void Tbz (const Register &rt, unsigned bit_pos, Label *label)
 
void Cbnz (const Register &rt, Label *label)
 
void Cbz (const Register &rt, Label *label)
 
void Dmb (BarrierDomain domain, BarrierType type)
 
void Dsb (BarrierDomain domain, BarrierType type)
 
void Isb ()
 
void Csdb ()
 
bool AllowThisStubCall (CodeStub *stub)
 
void CallRuntimeWithCEntry (Runtime::FunctionId fid, Register centry)
 
void PrepareForTailCall (const ParameterCount &callee_args_count, Register caller_args_count_reg, Register scratch0, Register scratch1)
 
void SmiUntag (Register dst, Register src)
 
void SmiUntag (Register dst, const MemOperand &src)
 
void SmiUntag (Register smi)
 
void Assert (Condition cond, AbortReason reason)
 
void AssertUnreachable (AbortReason reason)
 
void AssertSmi (Register object, AbortReason reason=AbortReason::kOperandIsNotASmi)
 
void Check (Condition cond, AbortReason reason)
 
void Debug (const char *message, uint32_t code, Instr params=BREAK)
 
void Abort (AbortReason reason)
 
void Asr (const Register &rd, const Register &rn, unsigned shift)
 
void Asr (const Register &rd, const Register &rn, const Register &rm)
 
bool TryOneInstrMoveImmediate (const Register &dst, int64_t imm)
 
void Bind (Label *label)
 
CPURegListTmpList ()
 
CPURegListFPTmpList ()
 
void Mvn (const Register &rd, uint64_t imm)
 
void Mvn (const Register &rd, const Operand &operand)
 
void LogicalMacro (const Register &rd, const Register &rn, const Operand &operand, LogicalOp op)
 
void AddSubMacro (const Register &rd, const Register &rn, const Operand &operand, FlagsUpdate S, AddSubOp op)
 
void Orr (const Register &rd, const Register &rn, const Operand &operand)
 
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 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 Blr (const Register &xn)
 
void Cmp (const Register &rn, const Operand &operand)
 
void Subs (const Register &rd, const Register &rn, const Operand &operand)
 
void Csel (const Register &rd, const Register &rn, const Operand &operand, Condition cond)
 
void AssertSpAligned ()
 
void CopySlots (int dst, Register src, Register slot_count)
 
void CopySlots (Register dst, Register src, Register slot_count)
 
void CopyDoubleWords (Register dst, Register src, Register count, CopyDoubleWordsMode mode=kDstLessThanSrc)
 
void SlotAddress (Register dst, int slot_offset)
 
void SlotAddress (Register dst, Register slot_offset)
 
void Ldr (const CPURegister &rt, const Operand &imm)
 
void Claim (int64_t count, uint64_t unit_size=kXRegSize)
 
void Claim (const Register &count, uint64_t unit_size=kXRegSize)
 
void Drop (int64_t count, uint64_t unit_size=kXRegSize)
 
void Drop (const Register &count, uint64_t unit_size=kXRegSize)
 
void DropArguments (const Register &count, ArgumentsCountMode mode=kCountIncludesReceiver)
 
void DropArguments (int64_t count, ArgumentsCountMode mode=kCountIncludesReceiver)
 
void DropSlots (int64_t count)
 
void PushArgument (const Register &arg)
 
void Add (const Register &rd, const Register &rn, const Operand &operand)
 
void Adds (const Register &rd, const Register &rn, const Operand &operand)
 
void Sub (const Register &rd, const Register &rn, const Operand &operand)
 
void AssertPositiveOrZero (Register value)
 
void Push (const CPURegister &src0, const CPURegister &src1=NoReg, const CPURegister &src2=NoReg, const CPURegister &src3=NoReg)
 
void Push (const CPURegister &src0, const CPURegister &src1, const CPURegister &src2, const CPURegister &src3, const CPURegister &src4, const CPURegister &src5=NoReg, const CPURegister &src6=NoReg, const CPURegister &src7=NoReg)
 
void Pop (const CPURegister &dst0, const CPURegister &dst1=NoReg, const CPURegister &dst2=NoReg, const CPURegister &dst3=NoReg)
 
void Pop (const CPURegister &dst0, const CPURegister &dst1, const CPURegister &dst2, const CPURegister &dst3, const CPURegister &dst4, const CPURegister &dst5=NoReg, const CPURegister &dst6=NoReg, const CPURegister &dst7=NoReg)
 
void Push (const Register &src0, const VRegister &src1)
 
void Push (Handle< HeapObject > object)
 
void Push (Smi smi)
 
void push (Register src)
 
void pop (Register dst)
 
void SaveRegisters (RegList registers)
 
void RestoreRegisters (RegList registers)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Address wasm_target)
 
void PushCPURegList (CPURegList registers)
 
void PopCPURegList (CPURegList registers)
 
int RequiredStackSizeForCallerSaved (SaveFPRegsMode fp_mode, Register exclusion) const
 
int PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion=no_reg)
 
int PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion=no_reg)
 
Operand MoveImmediateForShiftedOp (const Register &dst, int64_t imm, PreShiftImmMode mode)
 
void CheckPageFlagSet (const Register &object, const Register &scratch, int mask, Label *if_any_set)
 
void CheckPageFlagClear (const Register &object, const Register &scratch, int mask, Label *if_all_clear)
 
void TestAndBranchIfAnySet (const Register &reg, const uint64_t bit_pattern, Label *label)
 
void TestAndBranchIfAllClear (const Register &reg, const uint64_t bit_pattern, Label *label)
 
void Brk (int code)
 
void JumpIfSmi (Register value, Label *smi_label, Label *not_smi_label=nullptr)
 
void JumpIfEqual (Register x, int32_t y, Label *dest)
 
void JumpIfLessThan (Register x, int32_t y, Label *dest)
 
void Fmov (VRegister fd, VRegister fn)
 
void Fmov (VRegister fd, Register rn)
 
void Fmov (VRegister fd, double imm)
 
void Fmov (VRegister fd, float imm)
 
template<typename T >
void Fmov (VRegister fd, T imm)
 
void Fmov (Register rd, VRegister fn)
 
void Movi (const VRegister &vd, uint64_t imm, Shift shift=LSL, int shift_amount=0)
 
void Movi (const VRegister &vd, uint64_t hi, uint64_t lo)
 
void LoadFromConstantsTable (Register destination, int constant_index) override
 
void LoadRootRegisterOffset (Register destination, intptr_t offset) override
 
void LoadRootRelative (Register destination, int32_t offset) override
 
void Jump (Register target, Condition cond=al)
 
void Jump (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
void Jump (Handle< Code > code, RelocInfo::Mode rmode, Condition cond=al)
 
void Call (Register target)
 
void Call (Address target, RelocInfo::Mode rmode)
 
void Call (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET)
 
void Call (ExternalReference target)
 
void IndirectCall (Address target, RelocInfo::Mode rmode)
 
void CallForDeoptimization (Address target, int deopt_id, RelocInfo::Mode rmode)
 
void CallCFunction (ExternalReference function, int num_reg_arguments)
 
void CallCFunction (ExternalReference function, int num_reg_arguments, int num_double_arguments)
 
void CallCFunction (Register function, int num_reg_arguments, int num_double_arguments)
 
void TruncateDoubleToI (Isolate *isolate, Zone *zone, Register result, DoubleRegister double_input, StubCallMode stub_mode)
 
void Mul (const Register &rd, const Register &rn, const Register &rm)
 
void Fcvtzs (const Register &rd, const VRegister &fn)
 
void Fcvtzs (const VRegister &vd, const VRegister &vn, int fbits=0)
 
void Fcvtzu (const Register &rd, const VRegister &fn)
 
void Fcvtzu (const VRegister &vd, const VRegister &vn, int fbits=0)
 
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 Sdiv (const Register &rd, const Register &rn, const Register &rm)
 
void Udiv (const Register &rd, const Register &rn, const Register &rm)
 
void Msub (const Register &rd, const Register &rn, const Register &rm, const Register &ra)
 
void Lsl (const Register &rd, const Register &rn, unsigned shift)
 
void Lsl (const Register &rd, const Register &rn, const Register &rm)
 
void Umull (const Register &rd, const Register &rn, const Register &rm)
 
void Smull (const Register &rd, const Register &rn, const Register &rm)
 
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 Ubfiz (const Register &rd, const Register &rn, unsigned lsb, unsigned width)
 
void Ubfx (const Register &rd, const Register &rn, unsigned lsb, unsigned width)
 
void Lsr (const Register &rd, const Register &rn, unsigned shift)
 
void Lsr (const Register &rd, const Register &rn, const Register &rm)
 
void Ror (const Register &rd, const Register &rs, unsigned shift)
 
void Ror (const Register &rd, const Register &rn, const Register &rm)
 
void Cmn (const Register &rn, const Operand &operand)
 
void Fadd (const VRegister &fd, const VRegister &fn, const VRegister &fm)
 
void Fcmp (const VRegister &fn, const VRegister &fm)
 
void Fcmp (const VRegister &fn, double value)
 
void Fabs (const VRegister &fd, const VRegister &fn)
 
void Fmul (const VRegister &fd, const VRegister &fn, const VRegister &fm)
 
void Fsub (const VRegister &fd, const VRegister &fn, const VRegister &fm)
 
void Fdiv (const VRegister &fd, const VRegister &fn, const VRegister &fm)
 
void Fmax (const VRegister &fd, const VRegister &fn, const VRegister &fm)
 
void Fmin (const VRegister &fd, const VRegister &fn, const VRegister &fm)
 
void Rbit (const Register &rd, const Register &rn)
 
void Rev (const Register &rd, const Register &rn)
 
void Adr (const Register &rd, Label *label, AdrHint=kAdrNear)
 
void Adc (const Register &rd, const Register &rn, const Operand &operand)
 
void Ccmp (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond)
 
void Clz (const Register &rd, const Register &rn)
 
void Poke (const CPURegister &src, const Operand &offset)
 
void Peek (const CPURegister &dst, const Operand &offset)
 
void PokePair (const CPURegister &src1, const CPURegister &src2, int offset)
 
void Sbfx (const Register &rd, const Register &rn, unsigned lsb, unsigned width)
 
void Bfi (const Register &rd, const Register &rn, unsigned lsb, unsigned width)
 
void Scvtf (const VRegister &fd, const Register &rn, unsigned fbits=0)
 
void Scvtf (const VRegister &vd, const VRegister &vn, int fbits=0)
 
void Ucvtf (const VRegister &fd, const Register &rn, unsigned fbits=0)
 
void Ucvtf (const VRegister &vd, const VRegister &vn, int fbits=0)
 
void AssertFPCRState (Register fpcr=NoReg)
 
void CanonicalizeNaN (const VRegister &dst, const VRegister &src)
 
void CanonicalizeNaN (const VRegister &reg)
 
void CmovX (const Register &rd, const Register &rn, Condition cond)
 
void Cset (const Register &rd, Condition cond)
 
void Csetm (const Register &rd, Condition cond)
 
void Fccmp (const VRegister &fn, const VRegister &fm, StatusFlags nzcv, Condition cond)
 
void Csinc (const Register &rd, const Register &rn, const Register &rm, Condition cond)
 
void Fcvt (const VRegister &fd, const VRegister &fn)
 
int ActivationFrameAlignment ()
 
void Ins (const VRegister &vd, int vd_index, const VRegister &vn, int vn_index)
 
void Ins (const VRegister &vd, int vd_index, const Register &rn)
 
void Bl (Label *label)
 
void Br (const Register &xn)
 
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 Dup (const VRegister &vd, const VRegister &vn, int index)
 
void Dup (const VRegister &vd, const Register &rn)
 
void Umov (const Register &rd, const VRegister &vn, int vn_index)
 
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 Ext (const VRegister &vd, const VRegister &vn, const VRegister &vm, int index)
 
void Smov (const Register &rd, const VRegister &vn, int vn_index)
 
void LoadRoot (Register destination, RootIndex index) override
 
void Ret (const Register &xn=lr)
 
void TryConvertDoubleToInt64 (Register result, DoubleRegister input, Label *done)
 
void Mrs (const Register &rt, SystemRegister sysreg)
 
void Prologue ()
 
void Cmgt (const VRegister &vd, const VRegister &vn, int imm)
 
void Cmge (const VRegister &vd, const VRegister &vn, int imm)
 
void Cmeq (const VRegister &vd, const VRegister &vn, int imm)
 
void Neg (const Register &rd, const Operand &operand)
 
void Negs (const Register &rd, const Operand &operand)
 
void Abs (const Register &rd, const Register &rm, Label *is_not_representable=nullptr, Label *is_representable=nullptr)
 
void Cls (const Register &rd, const Register &rn)
 
void Cneg (const Register &rd, const Register &rn, Condition cond)
 
void Rev16 (const Register &rd, const Register &rn)
 
void Rev32 (const Register &rd, const Register &rn)
 
void Fcvtns (const Register &rd, const VRegister &fn)
 
void Fcvtnu (const Register &rd, const VRegister &fn)
 
void Fcvtms (const Register &rd, const VRegister &fn)
 
void Fcvtmu (const Register &rd, const VRegister &fn)
 
void Fcvtas (const Register &rd, const VRegister &fn)
 
void Fcvtau (const Register &rd, const VRegister &fn)
 
void ComputeCodeStartAddress (const Register &rd)
 
void ResetSpeculationPoisonRegister ()
 
 TurboAssembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met, Label::Distance condition_met_distance=Label::kFar)
 
void EnterFrame (StackFrame::Type type)
 
void EnterFrame (StackFrame::Type type, bool load_constant_pool_pointer_reg)
 
void LeaveFrame (StackFrame::Type type)
 
void AllocateStackFrame (Register bytes)
 
void Abort (AbortReason reason)
 
void Assert (Condition cc, AbortReason reason)
 
void AssertUnreachable (AbortReason reason)
 
void Check (Condition cc, AbortReason reason)
 
void CheckStackAlignment ()
 
void Move (Register dst, const Immediate &src)
 
void Move (Register dst, Smi src)
 
void Move (Register dst, Handle< HeapObject > src)
 
void Move (Register dst, Register src)
 
void Move (Operand dst, const Immediate &src)
 
void Move (XMMRegister dst, uint32_t src)
 
void Move (XMMRegister dst, uint64_t src)
 
void Move (XMMRegister dst, float src)
 
void Move (XMMRegister dst, double src)
 
void Call (Register reg)
 
void Call (Label *target)
 
void Call (Handle< Code > code_object, RelocInfo::Mode rmode)
 
void Jump (Handle< Code > code_object, RelocInfo::Mode rmode)
 
void RetpolineCall (Register reg)
 
void RetpolineCall (Address destination, RelocInfo::Mode rmode)
 
void RetpolineJump (Register reg)
 
void CallForDeoptimization (Address target, int deopt_id, RelocInfo::Mode rmode)
 
bool AllowThisStubCall (CodeStub *stub)
 
void CallRuntimeWithCEntry (Runtime::FunctionId fid, Register centry)
 
void JumpIfSmi (Register value, Label *smi_label, Label::Distance distance=Label::kFar)
 
void JumpIfSmi (Operand value, Label *smi_label, Label::Distance distance=Label::kFar)
 
void JumpIfEqual (Register a, int32_t b, Label *dest)
 
void JumpIfLessThan (Register a, int32_t b, Label *dest)
 
void SmiUntag (Register reg)
 
void PrepareForTailCall (const ParameterCount &callee_args_count, Register caller_args_count_reg, Register scratch0, Register scratch1, int number_of_temp_values_after_return_address)
 
void PrepareCallCFunction (int num_arguments, Register scratch)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void ShlPair (Register high, Register low, uint8_t imm8)
 
void ShlPair_cl (Register high, Register low)
 
void ShrPair (Register high, Register low, uint8_t imm8)
 
void ShrPair_cl (Register high, Register low)
 
void SarPair (Register high, Register low, uint8_t imm8)
 
void SarPair_cl (Register high, Register low)
 
void StubPrologue (StackFrame::Type type)
 
void Prologue ()
 
void Lzcnt (Register dst, Register src)
 
void Lzcnt (Register dst, Operand src)
 
void Tzcnt (Register dst, Register src)
 
void Tzcnt (Register dst, Operand src)
 
void Popcnt (Register dst, Register src)
 
void Popcnt (Register dst, Operand src)
 
void Ret ()
 
void InitializeRootRegister ()
 
void LoadRoot (Register destination, RootIndex index) override
 
void LoadFromConstantsTable (Register destination, int constant_index) override
 
void LoadRootRegisterOffset (Register destination, intptr_t offset) override
 
void LoadRootRelative (Register destination, int32_t offset) override
 
Operand ExternalReferenceAsOperand (ExternalReference reference, Register scratch)
 
Operand ExternalReferenceAddressAsOperand (ExternalReference reference)
 
Operand HeapObjectAsOperand (Handle< HeapObject > object)
 
void LoadAddress (Register destination, ExternalReference source)
 
void CompareStackLimit (Register with)
 
void CompareRealStackLimit (Register with)
 
void CompareRoot (Register with, RootIndex index)
 
void CompareRoot (Register with, Register scratch, RootIndex index)
 
void Ret (int bytes_dropped, Register scratch)
 
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 Psraw (XMMRegister dst, uint8_t shift)
 
void Psrlw (XMMRegister dst, uint8_t shift)
 
void Pshufb (XMMRegister dst, XMMRegister src)
 
void Pshufb (XMMRegister dst, Operand src)
 
void Pblendw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void Pblendw (XMMRegister dst, Operand src, uint8_t imm8)
 
void Psignb (XMMRegister dst, XMMRegister src)
 
void Psignb (XMMRegister dst, Operand src)
 
void Psignw (XMMRegister dst, XMMRegister src)
 
void Psignw (XMMRegister dst, Operand src)
 
void Psignd (XMMRegister dst, XMMRegister src)
 
void Psignd (XMMRegister dst, Operand src)
 
void Palignr (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void Palignr (XMMRegister dst, Operand src, uint8_t imm8)
 
void Pextrb (Register dst, XMMRegister src, uint8_t imm8)
 
void Pextrw (Register dst, XMMRegister src, uint8_t imm8)
 
void Pextrd (Register dst, XMMRegister src, uint8_t imm8)
 
void Pinsrd (XMMRegister dst, Register src, uint8_t imm8)
 
void Pinsrd (XMMRegister dst, Operand src, uint8_t imm8)
 
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 Cvtui2ss (XMMRegister dst, Register src, Register tmp)
 
void Cvtui2ss (XMMRegister dst, Operand src, Register tmp)
 
void Cvttss2ui (Register dst, XMMRegister src, XMMRegister tmp)
 
void Cvttss2ui (Register dst, Operand src, XMMRegister tmp)
 
void Cvtui2sd (XMMRegister dst, Register src, Register scratch)
 
void Cvtui2sd (XMMRegister dst, Operand src, Register scratch)
 
void Cvttsd2ui (Register dst, XMMRegister src, XMMRegister tmp)
 
void Cvttsd2ui (Register dst, Operand src, XMMRegister tmp)
 
void Push (Register src)
 
void Push (Operand src)
 
void Push (Immediate value)
 
void Push (Handle< HeapObject > handle)
 
void Push (Smi smi)
 
void SaveRegisters (RegList registers)
 
void RestoreRegisters (RegList registers)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Address wasm_target)
 
int RequiredStackSizeForCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg) const
 
int PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
int PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void ComputeCodeStartAddress (Register dst)
 
void ResetSpeculationPoisonRegister ()
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Handle< Code > code_target, Address wasm_target)
 
 TurboAssembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
void EnterFrame (StackFrame::Type type)
 
void EnterFrame (StackFrame::Type type, bool load_constant_pool_pointer_reg)
 
void LeaveFrame (StackFrame::Type type)
 
void StubPrologue (StackFrame::Type type)
 
void Prologue ()
 
void InitializeRootRegister ()
 
void jmp (Label *L)
 
void Assert (Condition cc, AbortReason reason, Register rs, Operand rt)
 
void Check (Condition cc, AbortReason reason, Register rs, Operand rt)
 
void Abort (AbortReason msg)
 
bool AllowThisStubCall (CodeStub *stub)
 
void CompareF32 (FPUCondition cc, FPURegister cmp1, FPURegister cmp2)
 
void CompareIsNanF32 (FPURegister cmp1, FPURegister cmp2)
 
void CompareF64 (FPUCondition cc, FPURegister cmp1, FPURegister cmp2)
 
void CompareIsNanF64 (FPURegister cmp1, FPURegister cmp2)
 
void BranchTrueShortF (Label *target, BranchDelaySlot bd=PROTECT)
 
void BranchFalseShortF (Label *target, BranchDelaySlot bd=PROTECT)
 
void BranchTrueF (Label *target, BranchDelaySlot bd=PROTECT)
 
void BranchFalseF (Label *target, BranchDelaySlot bd=PROTECT)
 
void BranchMSA (Label *target, MSABranchDF df, MSABranchCondition cond, MSARegister wt, BranchDelaySlot bd=PROTECT)
 
void Branch (Label *L, Condition cond, Register rs, RootIndex index, BranchDelaySlot bdslot=PROTECT)
 
void li (Register rd, Operand j, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register rd, int32_t j, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register dst, Handle< HeapObject > value, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register dst, ExternalReference value, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register dst, const StringConstantBase *string, LiFlags mode=OPTIMIZE_SIZE)
 
void LoadFromConstantsTable (Register destination, int constant_index) override
 
void LoadRootRegisterOffset (Register destination, intptr_t offset) override
 
void LoadRootRelative (Register destination, int32_t offset) override
 
void Jump (Register target, int16_t offset=0, COND_ARGS)
 
void Jump (Register target, Register base, int16_t offset=0, COND_ARGS)
 
void Jump (Register target, const Operand &offset, COND_ARGS)
 
void Jump (intptr_t target, RelocInfo::Mode rmode, COND_ARGS)
 
void Jump (Address target, RelocInfo::Mode rmode, COND_ARGS)
 
void Jump (Handle< Code > code, RelocInfo::Mode rmode, COND_ARGS)
 
void Call (Register target, int16_t offset=0, COND_ARGS)
 
void Call (Register target, Register base, int16_t offset=0, COND_ARGS)
 
void Call (Address target, RelocInfo::Mode rmode, COND_ARGS)
 
void Call (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, COND_ARGS)
 
void Call (Label *target)
 
void CallForDeoptimization (Address target, int deopt_id, RelocInfo::Mode rmode)
 
void Ret (COND_ARGS)
 
void Ret (BranchDelaySlot bd, Condition cond=al, Register rs=zero_reg, const Operand &rt=Operand(zero_reg))
 
void Drop (int count, Condition cond=cc_always, Register reg=no_reg, const Operand &op=Operand(no_reg))
 
void DropAndRet (int drop)
 
void DropAndRet (int drop, Condition cond, Register reg, const Operand &op)
 
void push (Register src)
 
void Push (Register src)
 
void Push (Handle< HeapObject > handle)
 
void Push (Smi smi)
 
void Push (Register src1, Register src2)
 
void Push (Register src1, Register src2, Register src3)
 
void Push (Register src1, Register src2, Register src3, Register src4)
 
void Push (Register src1, Register src2, Register src3, Register src4, Register src5)
 
void Push (Register src, Condition cond, Register tst1, Register tst2)
 
void SaveRegisters (RegList registers)
 
void RestoreRegisters (RegList registers)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Address wasm_target)
 
void MultiPush (RegList regs)
 
void MultiPushFPU (RegList regs)
 
int RequiredStackSizeForCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg) const
 
int PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
int PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void pop (Register dst)
 
void Pop (Register dst)
 
void Pop (Register src1, Register src2)
 
void Pop (Register src1, Register src2, Register src3)
 
void Pop (uint32_t count=1)
 
void MultiPop (RegList regs)
 
void MultiPopFPU (RegList regs)
 
void Lsa (Register rd, Register rs, Register rt, uint8_t sa, Register scratch=at)
 
 DEFINE_INSTRUCTION (Addu)
 
 DEFINE_INSTRUCTION (Subu)
 
 DEFINE_INSTRUCTION (Mul)
 
 DEFINE_INSTRUCTION (Div)
 
 DEFINE_INSTRUCTION (Divu)
 
 DEFINE_INSTRUCTION (Mod)
 
 DEFINE_INSTRUCTION (Modu)
 
 DEFINE_INSTRUCTION (Mulh)
 
 DEFINE_INSTRUCTION2 (Mult)
 
 DEFINE_INSTRUCTION (Mulhu)
 
 DEFINE_INSTRUCTION2 (Multu)
 
 DEFINE_INSTRUCTION2 (Div)
 
 DEFINE_INSTRUCTION2 (Divu)
 
 DEFINE_INSTRUCTION3 (Div)
 
 DEFINE_INSTRUCTION3 (Mul)
 
 DEFINE_INSTRUCTION3 (Mulu)
 
 DEFINE_INSTRUCTION (And)
 
 DEFINE_INSTRUCTION (Or)
 
 DEFINE_INSTRUCTION (Xor)
 
 DEFINE_INSTRUCTION (Nor)
 
 DEFINE_INSTRUCTION2 (Neg)
 
 DEFINE_INSTRUCTION (Slt)
 
 DEFINE_INSTRUCTION (Sltu)
 
 DEFINE_INSTRUCTION (Sle)
 
 DEFINE_INSTRUCTION (Sleu)
 
 DEFINE_INSTRUCTION (Sgt)
 
 DEFINE_INSTRUCTION (Sgtu)
 
 DEFINE_INSTRUCTION (Sge)
 
 DEFINE_INSTRUCTION (Sgeu)
 
 DEFINE_INSTRUCTION (Ror)
 
void SmiUntag (Register reg)
 
void SmiUntag (Register dst, Register src)
 
void PrepareForTailCall (const ParameterCount &callee_args_count, Register caller_args_count_reg, Register scratch0, Register scratch1)
 
int CalculateStackPassedWords (int num_reg_arguments, int num_double_arguments)
 
void PrepareCallCFunction (int num_reg_arguments, int num_double_registers, Register scratch)
 
void PrepareCallCFunction (int num_reg_arguments, Register scratch)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void CallCFunction (ExternalReference function, int num_reg_arguments, int num_double_arguments)
 
void CallCFunction (Register function, int num_reg_arguments, int num_double_arguments)
 
void MovFromFloatResult (DoubleRegister dst)
 
void MovFromFloatParameter (DoubleRegister dst)
 
void MovToFloatParameter (DoubleRegister src)
 
void MovToFloatParameters (DoubleRegister src1, DoubleRegister src2)
 
void MovToFloatResult (DoubleRegister src)
 
void PrepareCEntryArgs (int num_args)
 
void PrepareCEntryFunction (const ExternalReference &ref)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met)
 
void CallRuntimeWithCEntry (Runtime::FunctionId fid, Register centry)
 
void TryInlineTruncateDoubleToI (Register result, DoubleRegister input, Label *done)
 
void TruncateDoubleToI (Isolate *isolate, Zone *zone, Register result, DoubleRegister double_input, StubCallMode stub_mode)
 
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 LoadZeroIfFPUCondition (Register dest)
 
void LoadZeroIfNotFPUCondition (Register dest)
 
void LoadZeroIfConditionNotZero (Register dest, Register condition)
 
void LoadZeroIfConditionZero (Register dest, Register condition)
 
void LoadZeroOnCondition (Register rd, Register rs, const Operand &rt, Condition cond)
 
void Clz (Register rd, Register rs)
 
void Ctz (Register rd, Register rs)
 
void Popcnt (Register rd, Register rs)
 
void AddPair (Register dst_low, Register dst_high, Register left_low, Register left_high, Register right_low, Register right_high, Register scratch1, Register scratch2)
 
void SubPair (Register dst_low, Register dst_high, Register left_low, Register left_high, Register right_low, Register right_high, Register scratch1, Register scratch2)
 
void AndPair (Register dst_low, Register dst_high, Register left_low, Register left_high, Register right_low, Register right_high)
 
void OrPair (Register dst_low, Register dst_high, Register left_low, Register left_high, Register right_low, Register right_high)
 
void XorPair (Register dst_low, Register dst_high, Register left_low, Register left_high, Register right_low, Register right_high)
 
void MulPair (Register dst_low, Register dst_high, Register left_low, Register left_high, Register right_low, Register right_high, Register scratch1, Register scratch2)
 
void ShlPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register shift, Register scratch1, Register scratch2)
 
void ShlPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift, Register scratch)
 
void ShrPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register shift, Register scratch1, Register scratch2)
 
void ShrPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift, Register scratch)
 
void SarPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register shift, Register scratch1, Register scratch2)
 
void SarPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift, Register scratch)
 
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 ExtractBits (Register dest, Register source, Register pos, int size, bool sign_extend=false)
 
void InsertBits (Register dest, Register source, Register pos, int size)
 
void Seb (Register rd, Register rt)
 
void Seh (Register rd, Register rt)
 
void Neg_s (FPURegister fd, FPURegister fs)
 
void Neg_d (FPURegister fd, FPURegister fs)
 
void Bovc (Register rt, Register rs, Label *L)
 
void Bnvc (Register rt, Register rs, Label *L)
 
void Trunc_uw_s (FPURegister fd, FPURegister fs, FPURegister scratch)
 
void Trunc_uw_s (Register rd, FPURegister fs, FPURegister scratch)
 
void Trunc_w_d (FPURegister fd, FPURegister fs)
 
void Round_w_d (FPURegister fd, FPURegister fs)
 
void Floor_w_d (FPURegister fd, FPURegister fs)
 
void Ceil_w_d (FPURegister fd, FPURegister fs)
 
void Trunc_d_d (FPURegister fd, FPURegister fs)
 
void Round_d_d (FPURegister fd, FPURegister fs)
 
void Floor_d_d (FPURegister fd, FPURegister fs)
 
void Ceil_d_d (FPURegister fd, FPURegister fs)
 
void Trunc_s_s (FPURegister fd, FPURegister fs)
 
void Round_s_s (FPURegister fd, FPURegister fs)
 
void Floor_s_s (FPURegister fd, FPURegister fs)
 
void Ceil_s_s (FPURegister fd, FPURegister fs)
 
void Mthc1 (Register rt, FPURegister fs)
 
void Mfhc1 (Register rt, FPURegister fs)
 
void Madd_s (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft, FPURegister scratch)
 
void Madd_d (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft, FPURegister scratch)
 
void Msub_s (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft, FPURegister scratch)
 
void Msub_d (FPURegister fd, FPURegister fr, FPURegister fs, FPURegister ft, FPURegister scratch)
 
void ByteSwapSigned (Register dest, Register src, int operand_size)
 
void ByteSwapUnsigned (Register dest, Register src, int operand_size)
 
void Ulh (Register rd, const MemOperand &rs)
 
void Ulhu (Register rd, const MemOperand &rs)
 
void Ush (Register rd, const MemOperand &rs, Register scratch)
 
void Ulw (Register rd, const MemOperand &rs)
 
void Usw (Register rd, const MemOperand &rs)
 
void Ulwc1 (FPURegister fd, const MemOperand &rs, Register scratch)
 
void Uswc1 (FPURegister fd, const MemOperand &rs, Register scratch)
 
void Uldc1 (FPURegister fd, const MemOperand &rs, Register scratch)
 
void Usdc1 (FPURegister fd, const MemOperand &rs, Register scratch)
 
void Ldc1 (FPURegister fd, const MemOperand &src)
 
void Sdc1 (FPURegister fs, const MemOperand &dst)
 
void Ll (Register rd, const MemOperand &rs)
 
void Sc (Register rd, const MemOperand &rs)
 
void Float32Max (FPURegister dst, FPURegister src1, FPURegister src2, Label *out_of_line)
 
void Float32Min (FPURegister dst, FPURegister src1, FPURegister src2, Label *out_of_line)
 
void Float64Max (DoubleRegister dst, DoubleRegister src1, DoubleRegister src2, Label *out_of_line)
 
void Float64Min (DoubleRegister dst, DoubleRegister src1, DoubleRegister src2, Label *out_of_line)
 
void Float32MaxOutOfLine (FPURegister dst, FPURegister src1, FPURegister src2)
 
void Float32MinOutOfLine (FPURegister dst, FPURegister src1, FPURegister src2)
 
void Float64MaxOutOfLine (DoubleRegister dst, DoubleRegister src1, DoubleRegister src2)
 
void Float64MinOutOfLine (DoubleRegister dst, DoubleRegister src1, DoubleRegister src2)
 
bool IsDoubleZeroRegSet ()
 
void mov (Register rd, Register rt)
 
void Move (Register dst, Handle< HeapObject > handle)
 
void Move (Register dst, Smi smi)
 
void Move (Register dst, Register src)
 
void Move_d (FPURegister dst, FPURegister src)
 
void Move_s (FPURegister dst, FPURegister src)
 
void Move (FPURegister dst, FPURegister src)
 
void Move (Register dst_low, Register dst_high, FPURegister src)
 
void FmoveHigh (Register dst_high, FPURegister src)
 
void FmoveHigh (FPURegister dst, Register src_high)
 
void FmoveLow (Register dst_low, FPURegister src)
 
void FmoveLow (FPURegister dst, Register src_low)
 
void Move (FPURegister dst, Register src_low, Register src_high)
 
void Move (FPURegister dst, float imm)
 
void Move (FPURegister dst, double imm)
 
void Move (FPURegister dst, uint32_t src)
 
void Move (FPURegister dst, uint64_t src)
 
void AddOverflow (Register dst, Register left, const Operand &right, Register overflow)
 
void SubOverflow (Register dst, Register left, const Operand &right, Register overflow)
 
void MulOverflow (Register dst, Register left, const Operand &right, Register overflow)
 
template<typename Func >
void GenerateSwitchTable (Register index, size_t case_count, Func GetLabelFunction)
 
void LoadRoot (Register destination, RootIndex index) override
 
void LoadRoot (Register destination, RootIndex index, Condition cond, Register src1, const Operand &src2)
 
void FPUCanonicalizeNaN (const DoubleRegister dst, const DoubleRegister src)
 
void Cvt_d_uw (FPURegister fd, Register rs, FPURegister scratch)
 
void Trunc_uw_d (FPURegister fd, FPURegister fs, FPURegister scratch)
 
void Trunc_uw_d (Register rd, FPURegister fs, FPURegister scratch)
 
void JumpIfSmi (Register value, Label *smi_label, Register scratch=at, BranchDelaySlot bd=PROTECT)
 
void JumpIfEqual (Register a, int32_t b, Label *dest)
 
void JumpIfLessThan (Register a, int32_t b, Label *dest)
 
void PushStandardFrame (Register function_reg)
 
void ComputeCodeStartAddress (Register dst)
 
void ResetSpeculationPoisonRegister ()
 
 TurboAssembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
void EnterFrame (StackFrame::Type type)
 
void EnterFrame (StackFrame::Type type, bool load_constant_pool_pointer_reg)
 
void LeaveFrame (StackFrame::Type type)
 
void StubPrologue (StackFrame::Type type)
 
void Prologue ()
 
void InitializeRootRegister ()
 
void jmp (Label *L)
 
void Assert (Condition cc, AbortReason reason, Register rs, Operand rt)
 
void Check (Condition cc, AbortReason reason, Register rs, Operand rt)
 
void Abort (AbortReason msg)
 
bool AllowThisStubCall (CodeStub *stub)
 
void CompareF32 (FPUCondition cc, FPURegister cmp1, FPURegister cmp2)
 
void CompareIsNanF32 (FPURegister cmp1, FPURegister cmp2)
 
void CompareF64 (FPUCondition cc, FPURegister cmp1, FPURegister cmp2)
 
void CompareIsNanF64 (FPURegister cmp1, FPURegister cmp2)
 
void BranchTrueShortF (Label *target, BranchDelaySlot bd=PROTECT)
 
void BranchFalseShortF (Label *target, BranchDelaySlot bd=PROTECT)
 
void BranchTrueF (Label *target, BranchDelaySlot bd=PROTECT)
 
void BranchFalseF (Label *target, BranchDelaySlot bd=PROTECT)
 
void BranchMSA (Label *target, MSABranchDF df, MSABranchCondition cond, MSARegister wt, BranchDelaySlot bd=PROTECT)
 
void Branch (Label *L, Condition cond, Register rs, RootIndex index, BranchDelaySlot bdslot=PROTECT)
 
void LiLower32BitHelper (Register rd, Operand j)
 
void li_optimized (Register rd, Operand j, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register rd, Operand j, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register rd, int64_t j, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register dst, Handle< HeapObject > value, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register dst, ExternalReference value, LiFlags mode=OPTIMIZE_SIZE)
 
void li (Register dst, const StringConstantBase *string, LiFlags mode=OPTIMIZE_SIZE)
 
void LoadFromConstantsTable (Register destination, int constant_index) override
 
void LoadRootRegisterOffset (Register destination, intptr_t offset) override
 
void LoadRootRelative (Register destination, int32_t offset) override
 
void Jump (Register target, COND_ARGS)
 
void Jump (intptr_t target, RelocInfo::Mode rmode, COND_ARGS)
 
void Jump (Address target, RelocInfo::Mode rmode, COND_ARGS)
 
void Jump (Handle< Code > code, RelocInfo::Mode rmode, COND_ARGS)
 
void Call (Register target, COND_ARGS)
 
void Call (Address target, RelocInfo::Mode rmode, COND_ARGS)
 
void Call (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, COND_ARGS)
 
void Call (Label *target)
 
void CallForDeoptimization (Address target, int deopt_id, RelocInfo::Mode rmode)
 
void Ret (COND_ARGS)
 
void Ret (BranchDelaySlot bd, Condition cond=al, Register rs=zero_reg, const Operand &rt=Operand(zero_reg))
 
void Drop (int count, Condition cond=cc_always, Register reg=no_reg, const Operand &op=Operand(no_reg))
 
void DropAndRet (int drop)
 
void DropAndRet (int drop, Condition cond, Register reg, const Operand &op)
 
void Ld (Register rd, const MemOperand &rs)
 
void Sd (Register rd, const MemOperand &rs)
 
void push (Register src)
 
void Push (Register src)
 
void Push (Handle< HeapObject > handle)
 
void Push (Smi smi)
 
void Push (Register src1, Register src2)
 
void Push (Register src1, Register src2, Register src3)
 
void Push (Register src1, Register src2, Register src3, Register src4)
 
void Push (Register src1, Register src2, Register src3, Register src4, Register src5)
 
void Push (Register src, Condition cond, Register tst1, Register tst2)
 
void SaveRegisters (RegList registers)
 
void RestoreRegisters (RegList registers)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Address wasm_target)
 
void MultiPush (RegList regs)
 
void MultiPushFPU (RegList regs)
 
int RequiredStackSizeForCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg) const
 
int PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
int PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void pop (Register dst)
 
void Pop (Register dst)
 
void Pop (Register src1, Register src2)
 
void Pop (Register src1, Register src2, Register src3)
 
void Pop (uint32_t count=1)
 
void MultiPop (RegList regs)
 
void MultiPopFPU (RegList regs)
 
 DEFINE_INSTRUCTION (Addu)
 
 DEFINE_INSTRUCTION (Daddu)
 
 DEFINE_INSTRUCTION (Div)
 
 DEFINE_INSTRUCTION (Divu)
 
 DEFINE_INSTRUCTION (Ddivu)
 
 DEFINE_INSTRUCTION (Mod)
 
 DEFINE_INSTRUCTION (Modu)
 
 DEFINE_INSTRUCTION (Ddiv)
 
 DEFINE_INSTRUCTION (Subu)
 
 DEFINE_INSTRUCTION (Dsubu)
 
 DEFINE_INSTRUCTION (Dmod)
 
 DEFINE_INSTRUCTION (Dmodu)
 
 DEFINE_INSTRUCTION (Mul)
 
 DEFINE_INSTRUCTION (Mulh)
 
 DEFINE_INSTRUCTION (Mulhu)
 
 DEFINE_INSTRUCTION (Dmul)
 
 DEFINE_INSTRUCTION (Dmulh)
 
 DEFINE_INSTRUCTION2 (Mult)
 
 DEFINE_INSTRUCTION2 (Dmult)
 
 DEFINE_INSTRUCTION2 (Multu)
 
 DEFINE_INSTRUCTION2 (Dmultu)
 
 DEFINE_INSTRUCTION2 (Div)
 
 DEFINE_INSTRUCTION2 (Ddiv)
 
 DEFINE_INSTRUCTION2 (Divu)
 
 DEFINE_INSTRUCTION2 (Ddivu)
 
 DEFINE_INSTRUCTION (And)
 
 DEFINE_INSTRUCTION (Or)
 
 DEFINE_INSTRUCTION (Xor)
 
 DEFINE_INSTRUCTION (Nor)
 
 DEFINE_INSTRUCTION2 (Neg)
 
 DEFINE_INSTRUCTION (Slt)
 
 DEFINE_INSTRUCTION (Sltu)
 
 DEFINE_INSTRUCTION (Sle)
 
 DEFINE_INSTRUCTION (Sleu)
 
 DEFINE_INSTRUCTION (Sgt)
 
 DEFINE_INSTRUCTION (Sgtu)
 
 DEFINE_INSTRUCTION (Sge)
 
 DEFINE_INSTRUCTION (Sgeu)
 
 DEFINE_INSTRUCTION (Ror)
 
 DEFINE_INSTRUCTION (Dror)
 
void SmiUntag (Register dst, const MemOperand &src)
 
void SmiUntag (Register dst, Register src)
 
void SmiUntag (Register reg)
 
void PrepareForTailCall (const ParameterCount &callee_args_count, Register caller_args_count_reg, Register scratch0, Register scratch1)
 
int CalculateStackPassedWords (int num_reg_arguments, int num_double_arguments)
 
void PrepareCallCFunction (int num_reg_arguments, int num_double_registers, Register scratch)
 
void PrepareCallCFunction (int num_reg_arguments, Register scratch)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void CallCFunction (ExternalReference function, int num_reg_arguments, int num_double_arguments)
 
void CallCFunction (Register function, int num_reg_arguments, int num_double_arguments)
 
void MovFromFloatResult (DoubleRegister dst)
 
void MovFromFloatParameter (DoubleRegister dst)
 
void MovToFloatParameter (DoubleRegister src)
 
void MovToFloatParameters (DoubleRegister src1, DoubleRegister src2)
 
void MovToFloatResult (DoubleRegister src)
 
void PrepareCEntryArgs (int num_args)
 
void PrepareCEntryFunction (const ExternalReference &ref)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met)
 
void CallRuntimeWithCEntry (Runtime::FunctionId fid, Register centry)
 
void TryInlineTruncateDoubleToI (Register result, DoubleRegister input, Label *done)
 
void TruncateDoubleToI (Isolate *isolate, Zone *zone, Register result, DoubleRegister double_input, StubCallMode stub_mode)
 
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 LoadZeroIfFPUCondition (Register dest)
 
void LoadZeroIfNotFPUCondition (Register dest)
 
void LoadZeroIfConditionNotZero (Register dest, Register condition)
 
void LoadZeroIfConditionZero (Register dest, Register condition)
 
void LoadZeroOnCondition (Register rd, Register rs, const Operand &rt, Condition cond)
 
void Clz (Register rd, Register rs)
 
void Ctz (Register rd, Register rs)
 
void Dctz (Register rd, Register rs)
 
void Popcnt (Register rd, Register rs)
 
void Dpopcnt (Register rd, Register rs)
 
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 Ins (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void Dins (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void ExtractBits (Register dest, Register source, Register pos, int size, bool sign_extend=false)
 
void InsertBits (Register dest, Register source, Register pos, int size)
 
void Neg_s (FPURegister fd, FPURegister fs)
 
void Neg_d (FPURegister fd, FPURegister fs)
 
void Bovc (Register rt, Register rs, Label *L)
 
void Bnvc (Register rt, Register rs, Label *L)
 
void Trunc_uw_s (FPURegister fd, FPURegister fs, FPURegister scratch)
 
void Trunc_uw_s (Register rd, FPURegister fs, FPURegister scratch)
 
void ByteSwapSigned (Register dest, Register src, int operand_size)
 
void ByteSwapUnsigned (Register dest, Register src, int operand_size)
 
void Ulh (Register rd, const MemOperand &rs)
 
void Ulhu (Register rd, const MemOperand &rs)
 
void Ush (Register rd, const MemOperand &rs, Register scratch)
 
void Ulw (Register rd, const MemOperand &rs)
 
void Ulwu (Register rd, const MemOperand &rs)
 
void Usw (Register rd, const MemOperand &rs)
 
void Uld (Register rd, const MemOperand &rs)
 
void Usd (Register rd, const MemOperand &rs)
 
void Ulwc1 (FPURegister fd, const MemOperand &rs, Register scratch)
 
void Uswc1 (FPURegister fd, const MemOperand &rs, Register scratch)
 
void Uldc1 (FPURegister fd, const MemOperand &rs, Register scratch)
 
void Usdc1 (FPURegister fd, const MemOperand &rs, Register scratch)
 
void Lb (Register rd, const MemOperand &rs)
 
void Lbu (Register rd, const MemOperand &rs)
 
void Sb (Register rd, const MemOperand &rs)
 
void Lh (Register rd, const MemOperand &rs)
 
void Lhu (Register rd, const MemOperand &rs)
 
void Sh (Register rd, const MemOperand &rs)
 
void Lw (Register rd, const MemOperand &rs)
 
void Lwu (Register rd, const MemOperand &rs)
 
void Sw (Register rd, const MemOperand &rs)
 
void Lwc1 (FPURegister fd, const MemOperand &src)
 
void Swc1 (FPURegister fs, const MemOperand &dst)
 
void Ldc1 (FPURegister fd, const MemOperand &src)
 
void Sdc1 (FPURegister fs, const MemOperand &dst)
 
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 Float32Max (FPURegister dst, FPURegister src1, FPURegister src2, Label *out_of_line)
 
void Float32Min (FPURegister dst, FPURegister src1, FPURegister src2, Label *out_of_line)
 
void Float64Max (FPURegister dst, FPURegister src1, FPURegister src2, Label *out_of_line)
 
void Float64Min (FPURegister dst, FPURegister src1, FPURegister src2, Label *out_of_line)
 
void Float32MaxOutOfLine (FPURegister dst, FPURegister src1, FPURegister src2)
 
void Float32MinOutOfLine (FPURegister dst, FPURegister src1, FPURegister src2)
 
void Float64MaxOutOfLine (FPURegister dst, FPURegister src1, FPURegister src2)
 
void Float64MinOutOfLine (FPURegister dst, FPURegister src1, FPURegister src2)
 
bool IsDoubleZeroRegSet ()
 
void mov (Register rd, Register rt)
 
void Move (Register dst, Handle< HeapObject > handle)
 
void Move (Register dst, Smi smi)
 
void Move (Register dst, Register src)
 
void Move (FPURegister dst, FPURegister src)
 
void Move (Register dst_low, Register dst_high, FPURegister src)
 
void Move (Register dst, FPURegister src)
 
void Move (FPURegister dst, Register src)
 
void FmoveHigh (Register dst_high, FPURegister src)
 
void FmoveHigh (FPURegister dst, Register src_high)
 
void FmoveLow (Register dst_low, FPURegister src)
 
void FmoveLow (FPURegister dst, Register src_low)
 
void Move (FPURegister dst, Register src_low, Register src_high)
 
void Move_d (FPURegister dst, FPURegister src)
 
void Move_s (FPURegister dst, FPURegister src)
 
void Move (FPURegister dst, float imm)
 
void Move (FPURegister dst, double imm)
 
void Move (FPURegister dst, uint32_t src)
 
void Move (FPURegister dst, uint64_t src)
 
void DaddOverflow (Register dst, Register left, const Operand &right, Register overflow)
 
void DsubOverflow (Register dst, Register left, const Operand &right, Register overflow)
 
void MulOverflow (Register dst, Register left, const Operand &right, Register overflow)
 
template<typename Func >
void GenerateSwitchTable (Register index, size_t case_count, Func GetLabelFunction)
 
void LoadRoot (Register destination, RootIndex index) override
 
void LoadRoot (Register destination, RootIndex index, Condition cond, Register src1, const Operand &src2)
 
void FPUCanonicalizeNaN (const DoubleRegister dst, const DoubleRegister src)
 
void Cvt_d_uw (FPURegister fd, FPURegister fs)
 
void Cvt_d_uw (FPURegister fd, Register rs)
 
void Cvt_d_ul (FPURegister fd, FPURegister fs)
 
void Cvt_d_ul (FPURegister fd, Register rs)
 
void Cvt_s_uw (FPURegister fd, FPURegister fs)
 
void Cvt_s_uw (FPURegister fd, Register rs)
 
void Cvt_s_ul (FPURegister fd, FPURegister fs)
 
void Cvt_s_ul (FPURegister fd, Register rs)
 
void Trunc_uw_d (FPURegister fd, FPURegister fs, FPURegister scratch)
 
void Trunc_uw_d (Register rd, FPURegister fs, FPURegister scratch)
 
void Trunc_ul_d (FPURegister fd, FPURegister fs, FPURegister scratch, Register result=no_reg)
 
void Trunc_ul_d (Register rd, FPURegister fs, FPURegister scratch, Register result=no_reg)
 
void Trunc_ul_s (FPURegister fd, FPURegister fs, FPURegister scratch, Register result=no_reg)
 
void Trunc_ul_s (Register rd, FPURegister fs, FPURegister scratch, Register result=no_reg)
 
void Trunc_d_d (FPURegister fd, FPURegister fs)
 
void Round_d_d (FPURegister fd, FPURegister fs)
 
void Floor_d_d (FPURegister fd, FPURegister fs)
 
void Ceil_d_d (FPURegister fd, FPURegister fs)
 
void Trunc_s_s (FPURegister fd, FPURegister fs)
 
void Round_s_s (FPURegister fd, FPURegister fs)
 
void Floor_s_s (FPURegister fd, FPURegister fs)
 
void Ceil_s_s (FPURegister fd, FPURegister fs)
 
void JumpIfSmi (Register value, Label *smi_label, Register scratch=at, BranchDelaySlot bd=PROTECT)
 
void JumpIfEqual (Register a, int32_t b, Label *dest)
 
void JumpIfLessThan (Register a, int32_t b, Label *dest)
 
void PushStandardFrame (Register function_reg)
 
void Lsa (Register rd, Register rs, Register rt, uint8_t sa, Register scratch=at)
 
void Dlsa (Register rd, Register rs, Register rt, uint8_t sa, Register scratch=at)
 
void ComputeCodeStartAddress (Register dst)
 
void ResetSpeculationPoisonRegister ()
 
 TurboAssembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
void ConvertIntToDouble (Register src, DoubleRegister dst)
 
void ConvertUnsignedIntToDouble (Register src, DoubleRegister dst)
 
void ConvertIntToFloat (Register src, DoubleRegister dst)
 
void ConvertUnsignedIntToFloat (Register src, DoubleRegister dst)
 
void ConvertDoubleToInt64 (const DoubleRegister double_input, const Register dst_hi, const Register dst, const DoubleRegister double_dst, FPRoundingMode rounding_mode=kRoundToZero)
 
void EnterFrame (StackFrame::Type type, bool load_constant_pool_pointer_reg=false)
 
int LeaveFrame (StackFrame::Type type, int stack_adjustment=0)
 
void PushCommonFrame (Register marker_reg=no_reg)
 
void StubPrologue (StackFrame::Type type)
 
void Prologue ()
 
void PushStandardFrame (Register function_reg)
 
void RestoreFrameStateForTailCall ()
 
void InitializeRootRegister ()
 
void LoadP (Register dst, const MemOperand &mem, Register scratch=no_reg)
 
void LoadPU (Register dst, const MemOperand &mem, Register scratch=no_reg)
 
void LoadWordArith (Register dst, const MemOperand &mem, Register scratch=no_reg)
 
void StoreP (Register src, const MemOperand &mem, Register scratch=no_reg)
 
void StorePU (Register src, const MemOperand &mem, Register scratch=no_reg)
 
void LoadDouble (DoubleRegister dst, const MemOperand &mem, Register scratch=no_reg)
 
void LoadDoubleLiteral (DoubleRegister result, Double value, Register scratch)
 
void LoadIntLiteral (Register dst, int value)
 
void LoadSmiLiteral (Register dst, Smi smi)
 
void LoadSingle (DoubleRegister dst, const MemOperand &mem, Register scratch=no_reg)
 
void LoadSingleU (DoubleRegister dst, const MemOperand &mem, Register scratch=no_reg)
 
void LoadPC (Register dst)
 
void ComputeCodeStartAddress (Register dst)
 
void StoreDouble (DoubleRegister src, const MemOperand &mem, Register scratch=no_reg)
 
void StoreDoubleU (DoubleRegister src, const MemOperand &mem, Register scratch=no_reg)
 
void StoreSingle (DoubleRegister src, const MemOperand &mem, Register scratch=no_reg)
 
void StoreSingleU (DoubleRegister src, const MemOperand &mem, Register scratch=no_reg)
 
void Cmpi (Register src1, const Operand &src2, Register scratch, CRegister cr=cr7)
 
void Cmpli (Register src1, const Operand &src2, Register scratch, CRegister cr=cr7)
 
void Cmpwi (Register src1, const Operand &src2, Register scratch, CRegister cr=cr7)
 
void SetRoundingMode (FPRoundingMode RN)
 
void ResetRoundingMode ()
 
void Add (Register dst, Register src, intptr_t value, Register scratch)
 
void Push (Register src)
 
void Push (Handle< HeapObject > handle)
 
void Push (Smi smi)
 
void Push (Register src1, Register src2)
 
void Push (Register src1, Register src2, Register src3)
 
void Push (Register src1, Register src2, Register src3, Register src4)
 
void Push (Register src1, Register src2, Register src3, Register src4, Register src5)
 
void Pop (Register dst)
 
void Pop (Register src1, Register src2)
 
void Pop (Register src1, Register src2, Register src3)
 
void Pop (Register src1, Register src2, Register src3, Register src4)
 
void Pop (Register src1, Register src2, Register src3, Register src4, Register src5)
 
void SaveRegisters (RegList registers)
 
void RestoreRegisters (RegList registers)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Address wasm_target)
 
void MultiPush (RegList regs, Register location=sp)
 
void MultiPop (RegList regs, Register location=sp)
 
void MultiPushDoubles (RegList dregs, Register location=sp)
 
void MultiPopDoubles (RegList dregs, Register location=sp)
 
int RequiredStackSizeForCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg) const
 
int PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
int PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void LoadRoot (Register destination, RootIndex index) override
 
void LoadRoot (Register destination, RootIndex index, Condition cond)
 
void SwapP (Register src, Register dst, Register scratch)
 
void SwapP (Register src, MemOperand dst, Register scratch)
 
void SwapP (MemOperand src, MemOperand dst, Register scratch_0, Register scratch_1)
 
void SwapFloat32 (DoubleRegister src, DoubleRegister dst, DoubleRegister scratch)
 
void SwapFloat32 (DoubleRegister src, MemOperand dst, DoubleRegister scratch)
 
void SwapFloat32 (MemOperand src, MemOperand dst, DoubleRegister scratch_0, DoubleRegister scratch_1)
 
void SwapDouble (DoubleRegister src, DoubleRegister dst, DoubleRegister scratch)
 
void SwapDouble (DoubleRegister src, MemOperand dst, DoubleRegister scratch)
 
void SwapDouble (MemOperand src, MemOperand dst, DoubleRegister scratch_0, DoubleRegister scratch_1)
 
void PrepareCallCFunction (int num_reg_arguments, int num_double_registers, Register scratch)
 
void PrepareCallCFunction (int num_reg_arguments, Register scratch)
 
void PrepareForTailCall (const ParameterCount &callee_args_count, Register caller_args_count_reg, Register scratch0, Register scratch1)
 
void MovToFloatParameter (DoubleRegister src)
 
void MovToFloatParameters (DoubleRegister src1, DoubleRegister src2)
 
void MovToFloatResult (DoubleRegister src)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void CallCFunction (ExternalReference function, int num_reg_arguments, int num_double_arguments)
 
void CallCFunction (Register function, int num_reg_arguments, int num_double_arguments)
 
void CallRuntimeWithCEntry (Runtime::FunctionId fid, Register centry)
 
void MovFromFloatParameter (DoubleRegister dst)
 
void MovFromFloatResult (DoubleRegister dst)
 
void Assert (Condition cond, AbortReason reason, CRegister cr=cr7)
 
void Check (Condition cond, AbortReason reason, CRegister cr=cr7)
 
void Abort (AbortReason reason)
 
bool AllowThisStubCall (CodeStub *stub)
 
void ShiftLeftPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register scratch, Register shift)
 
void ShiftLeftPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void ShiftRightPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register scratch, Register shift)
 
void ShiftRightPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void ShiftRightAlgPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register scratch, Register shift)
 
void ShiftRightAlgPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void LoadFromConstantsTable (Register destination, int constant_index) override
 
void LoadRootRegisterOffset (Register destination, intptr_t offset) override
 
void LoadRootRelative (Register destination, int32_t offset) override
 
void Jump (Register target)
 
void Jump (Address target, RelocInfo::Mode rmode, Condition cond=al, CRegister cr=cr7)
 
void Jump (Handle< Code > code, RelocInfo::Mode rmode, Condition cond=al, CRegister cr=cr7)
 
void Jump (intptr_t target, RelocInfo::Mode rmode, Condition cond=al, CRegister cr=cr7)
 
void Call (Register target)
 
void Call (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
void Call (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, Condition cond=al)
 
void Call (Label *target)
 
void CallForDeoptimization (Address target, int deopt_id, RelocInfo::Mode rmode)
 
void Drop (int count)
 
void Drop (Register count, Register scratch=r0)
 
void Ret ()
 
void Ret (Condition cond, CRegister cr=cr7)
 
void Ret (int drop)
 
void CanonicalizeNaN (const DoubleRegister dst, const DoubleRegister src)
 
void CanonicalizeNaN (const DoubleRegister value)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met)
 
void MovIntToDouble (DoubleRegister dst, Register src, Register scratch)
 
void MovUnsignedIntToDouble (DoubleRegister dst, Register src, Register scratch)
 
void MovInt64ToDouble (DoubleRegister dst, Register src_hi, Register src)
 
void InsertDoubleLow (DoubleRegister dst, Register src, Register scratch)
 
void InsertDoubleHigh (DoubleRegister dst, Register src, Register scratch)
 
void MovDoubleLowToInt (Register dst, DoubleRegister src)
 
void MovDoubleHighToInt (Register dst, DoubleRegister src)
 
void MovDoubleToInt64 (Register dst_hi, Register dst, DoubleRegister src)
 
void MovIntToFloat (DoubleRegister dst, Register src)
 
void MovFloatToInt (Register dst, DoubleRegister src)
 
void Move (Register dst, Smi smi)
 
void Move (Register dst, Handle< HeapObject > value)
 
void Move (Register dst, ExternalReference reference)
 
void Move (Register dst, Register src, Condition cond=al)
 
void Move (DoubleRegister dst, DoubleRegister src)
 
void SmiUntag (Register reg, RCBit rc=LeaveRC, int scale=0)
 
void SmiUntag (Register dst, Register src, RCBit rc=LeaveRC, int scale=0)
 
void ExtractBitRange (Register dst, Register src, int rangeStart, int rangeEnd, RCBit rc=LeaveRC, bool test=false)
 
void ExtractBit (Register dst, Register src, uint32_t bitNumber, RCBit rc=LeaveRC, bool test=false)
 
void ExtractBitMask (Register dst, Register src, uintptr_t mask, RCBit rc=LeaveRC, bool test=false)
 
void TestBit (Register value, int bitNumber, Register scratch=r0)
 
void TestBitMask (Register value, uintptr_t mask, Register scratch=r0)
 
void TestBitRange (Register value, int rangeStart, int rangeEnd, Register scratch=r0)
 
void TestIfSmi (Register value, Register scratch)
 
void JumpIfSmi (Register value, Label *smi_label)
 
void JumpIfEqual (Register x, int32_t y, Label *dest)
 
void JumpIfLessThan (Register x, int32_t y, Label *dest)
 
void TestIfInt32 (Register hi_word, Register lo_word, Register scratch, CRegister cr=cr7)
 
void AddAndCheckForOverflow (Register dst, Register left, Register right, Register overflow_dst, Register scratch=r0)
 
void AddAndCheckForOverflow (Register dst, Register left, intptr_t right, Register overflow_dst, Register scratch=r0)
 
void SubAndCheckForOverflow (Register dst, Register left, Register right, Register overflow_dst, Register scratch=r0)
 
void TryInlineTruncateDoubleToI (Register result, DoubleRegister input, Label *done)
 
void TruncateDoubleToI (Isolate *isolate, Zone *zone, Register result, DoubleRegister double_input, StubCallMode stub_mode)
 
void LoadConstantPoolPointerRegister ()
 
void LoadConstantPoolPointerRegisterFromCodeTargetAddress (Register code_target_address)
 
void AbortConstantPoolBuilding ()
 
void ResetSpeculationPoisonRegister ()
 
 TurboAssembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
void LoadFromConstantsTable (Register destination, int constant_index) override
 
void LoadRootRegisterOffset (Register destination, intptr_t offset) override
 
void LoadRootRelative (Register destination, int32_t offset) override
 
void Jump (Register target, Condition cond=al)
 
void Jump (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
void Jump (Handle< Code > code, RelocInfo::Mode rmode, Condition cond=al)
 
void JumpIfSmi (Register value, Label *smi_label)
 
void JumpIfEqual (Register x, int32_t y, Label *dest)
 
void JumpIfLessThan (Register x, int32_t y, Label *dest)
 
void Call (Register target)
 
void Call (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
void Call (Handle< Code > code, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET, Condition cond=al)
 
void Ret ()
 
void Ret (Condition cond)
 
void CallForDeoptimization (Address target, int deopt_id, RelocInfo::Mode rmode)
 
void Drop (int count)
 
void Drop (Register count, Register scratch=r0)
 
void Ret (int drop)
 
void Call (Label *target)
 
void Move (Register dst, Smi smi)
 
void Move (Register dst, Handle< HeapObject > value)
 
void Move (Register dst, ExternalReference reference)
 
void Move (Register dst, Register src, Condition cond=al)
 
void Move (DoubleRegister dst, DoubleRegister src)
 
void MoveChar (const MemOperand &opnd1, const MemOperand &opnd2, const Operand &length)
 
void CompareLogicalChar (const MemOperand &opnd1, const MemOperand &opnd2, const Operand &length)
 
void ExclusiveOrChar (const MemOperand &opnd1, const MemOperand &opnd2, const Operand &length)
 
void RotateInsertSelectBits (Register dst, Register src, const Operand &startBit, const Operand &endBit, const Operand &shiftAmt, bool zeroBits)
 
void BranchRelativeOnIdxHighP (Register dst, Register inc, Label *L)
 
void SaveRegisters (RegList registers)
 
void RestoreRegisters (RegList registers)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Address wasm_target)
 
void MultiPush (RegList regs, Register location=sp)
 
void MultiPop (RegList regs, Register location=sp)
 
void MultiPushDoubles (RegList dregs, Register location=sp)
 
void MultiPopDoubles (RegList dregs, Register location=sp)
 
int RequiredStackSizeForCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg) const
 
int PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
int PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void LoadRoot (Register destination, RootIndex index) override
 
void LoadRoot (Register destination, RootIndex index, Condition cond)
 
void Add32 (Register dst, const Operand &imm)
 
void Add32_RI (Register dst, const Operand &imm)
 
void AddP (Register dst, const Operand &imm)
 
void Add32 (Register dst, Register src, const Operand &imm)
 
void Add32_RRI (Register dst, Register src, const Operand &imm)
 
void AddP (Register dst, Register src, const Operand &imm)
 
void Add32 (Register dst, Register src)
 
void AddP (Register dst, Register src)
 
void AddP_ExtendSrc (Register dst, Register src)
 
void Add32 (Register dst, Register src1, Register src2)
 
void AddP (Register dst, Register src1, Register src2)
 
void AddP_ExtendSrc (Register dst, Register src1, Register src2)
 
void Add32 (Register dst, const MemOperand &opnd)
 
void AddP (Register dst, const MemOperand &opnd)
 
void AddP_ExtendSrc (Register dst, const MemOperand &opnd)
 
void Add32 (const MemOperand &opnd, const Operand &imm)
 
void AddP (const MemOperand &opnd, const Operand &imm)
 
void AddLogical32 (Register dst, Register src1, Register src2)
 
void AddLogicalWithCarry32 (Register dst, Register src1, Register src2)
 
void AddLogical (Register dst, const Operand &imm)
 
void AddLogicalP (Register dst, const Operand &imm)
 
void AddLogical (Register dst, const MemOperand &opnd)
 
void AddLogicalP (Register dst, const MemOperand &opnd)
 
void Sub32 (Register dst, const Operand &imm)
 
void Sub32_RI (Register dst, const Operand &imm)
 
void SubP (Register dst, const Operand &imm)
 
void Sub32 (Register dst, Register src, const Operand &imm)
 
void Sub32_RRI (Register dst, Register src, const Operand &imm)
 
void SubP (Register dst, Register src, const Operand &imm)
 
void Sub32 (Register dst, Register src)
 
void SubP (Register dst, Register src)
 
void SubP_ExtendSrc (Register dst, Register src)
 
void Sub32 (Register dst, Register src1, Register src2)
 
void SubP (Register dst, Register src1, Register src2)
 
void SubP_ExtendSrc (Register dst, Register src1, Register src2)
 
void Sub32 (Register dst, const MemOperand &opnd)
 
void SubP (Register dst, const MemOperand &opnd)
 
void SubP_ExtendSrc (Register dst, const MemOperand &opnd)
 
void LoadAndSub32 (Register dst, Register src, const MemOperand &opnd)
 
void LoadAndSub64 (Register dst, Register src, const MemOperand &opnd)
 
void SubLogical (Register dst, const MemOperand &opnd)
 
void SubLogicalP (Register dst, const MemOperand &opnd)
 
void SubLogicalP_ExtendSrc (Register dst, const MemOperand &opnd)
 
void SubLogical32 (Register dst, Register src1, Register src2)
 
void SubLogicalWithBorrow32 (Register dst, Register src1, Register src2)
 
void MulP (Register dst, const Operand &opnd)
 
void MulP (Register dst, Register src)
 
void MulP (Register dst, const MemOperand &opnd)
 
void Mul (Register dst, Register src1, Register src2)
 
void Mul32 (Register dst, const MemOperand &src1)
 
void Mul32 (Register dst, Register src1)
 
void Mul32 (Register dst, const Operand &src1)
 
void MulHigh32 (Register dst, Register src1, const MemOperand &src2)
 
void MulHigh32 (Register dst, Register src1, Register src2)
 
void MulHigh32 (Register dst, Register src1, const Operand &src2)
 
void MulHighU32 (Register dst, Register src1, const MemOperand &src2)
 
void MulHighU32 (Register dst, Register src1, Register src2)
 
void MulHighU32 (Register dst, Register src1, const Operand &src2)
 
void Mul32WithOverflowIfCCUnequal (Register dst, Register src1, const MemOperand &src2)
 
void Mul32WithOverflowIfCCUnequal (Register dst, Register src1, Register src2)
 
void Mul32WithOverflowIfCCUnequal (Register dst, Register src1, const Operand &src2)
 
void Mul64 (Register dst, const MemOperand &src1)
 
void Mul64 (Register dst, Register src1)
 
void Mul64 (Register dst, const Operand &src1)
 
void MulPWithCondition (Register dst, Register src1, Register src2)
 
void DivP (Register dividend, Register divider)
 
void Div32 (Register dst, Register src1, const MemOperand &src2)
 
void Div32 (Register dst, Register src1, Register src2)
 
void DivU32 (Register dst, Register src1, const MemOperand &src2)
 
void DivU32 (Register dst, Register src1, Register src2)
 
void Div64 (Register dst, Register src1, const MemOperand &src2)
 
void Div64 (Register dst, Register src1, Register src2)
 
void DivU64 (Register dst, Register src1, const MemOperand &src2)
 
void DivU64 (Register dst, Register src1, Register src2)
 
void Mod32 (Register dst, Register src1, const MemOperand &src2)
 
void Mod32 (Register dst, Register src1, Register src2)
 
void ModU32 (Register dst, Register src1, const MemOperand &src2)
 
void ModU32 (Register dst, Register src1, Register src2)
 
void Mod64 (Register dst, Register src1, const MemOperand &src2)
 
void Mod64 (Register dst, Register src1, Register src2)
 
void ModU64 (Register dst, Register src1, const MemOperand &src2)
 
void ModU64 (Register dst, Register src1, Register src2)
 
void Sqrt (DoubleRegister result, DoubleRegister input)
 
void Sqrt (DoubleRegister result, const MemOperand &input)
 
void Cmp32 (Register src1, Register src2)
 
void CmpP (Register src1, Register src2)
 
void Cmp32 (Register dst, const Operand &opnd)
 
void CmpP (Register dst, const Operand &opnd)
 
void Cmp32 (Register dst, const MemOperand &opnd)
 
void CmpP (Register dst, const MemOperand &opnd)
 
void CmpAndSwap (Register old_val, Register new_val, const MemOperand &opnd)
 
void CmpAndSwap64 (Register old_val, Register new_val, const MemOperand &opnd)
 
void CmpLogical32 (Register src1, Register src2)
 
void CmpLogicalP (Register src1, Register src2)
 
void CmpLogical32 (Register src1, const Operand &opnd)
 
void CmpLogicalP (Register src1, const Operand &opnd)
 
void CmpLogical32 (Register dst, const MemOperand &opnd)
 
void CmpLogicalP (Register dst, const MemOperand &opnd)
 
void CmpLogicalByte (const MemOperand &mem, const Operand &imm)
 
void Load (Register dst, const MemOperand &opnd)
 
void Load (Register dst, const Operand &opnd)
 
void LoadW (Register dst, const MemOperand &opnd, Register scratch=no_reg)
 
void LoadW (Register dst, Register src)
 
void LoadlW (Register dst, const MemOperand &opnd, Register scratch=no_reg)
 
void LoadlW (Register dst, Register src)
 
void LoadLogicalHalfWordP (Register dst, const MemOperand &opnd)
 
void LoadLogicalHalfWordP (Register dst, Register src)
 
void LoadB (Register dst, const MemOperand &opnd)
 
void LoadB (Register dst, Register src)
 
void LoadlB (Register dst, const MemOperand &opnd)
 
void LoadlB (Register dst, Register src)
 
void LoadLogicalReversedWordP (Register dst, const MemOperand &opnd)
 
void LoadLogicalReversedHalfWordP (Register dst, const MemOperand &opnd)
 
void LoadAndTest32 (Register dst, Register src)
 
void LoadAndTestP_ExtendSrc (Register dst, Register src)
 
void LoadAndTestP (Register dst, Register src)
 
void LoadAndTest32 (Register dst, const MemOperand &opnd)
 
void LoadAndTestP (Register dst, const MemOperand &opnd)
 
void LoadDouble (DoubleRegister dst, const MemOperand &opnd)
 
void LoadFloat32 (DoubleRegister dst, const MemOperand &opnd)
 
void LoadFloat32ConvertToDouble (DoubleRegister dst, const MemOperand &mem)
 
void AddFloat32 (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void AddFloat64 (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void SubFloat32 (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void SubFloat64 (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void MulFloat32 (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void MulFloat64 (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void DivFloat32 (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void DivFloat64 (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void LoadFloat32ToDouble (DoubleRegister dst, const MemOperand &opnd, DoubleRegister scratch)
 
void LoadOnConditionP (Condition cond, Register dst, Register src)
 
void LoadPositiveP (Register result, Register input)
 
void LoadPositive32 (Register result, Register input)
 
void StoreDouble (DoubleRegister dst, const MemOperand &opnd)
 
void StoreFloat32 (DoubleRegister dst, const MemOperand &opnd)
 
void StoreDoubleAsFloat32 (DoubleRegister src, const MemOperand &mem, DoubleRegister scratch)
 
void Branch (Condition c, const Operand &opnd)
 
void BranchOnCount (Register r1, Label *l)
 
void ShiftLeft (Register dst, Register src, Register val)
 
void ShiftLeft (Register dst, Register src, const Operand &val)
 
void ShiftRight (Register dst, Register src, Register val)
 
void ShiftRight (Register dst, Register src, const Operand &val)
 
void ShiftLeftArith (Register dst, Register src, Register shift)
 
void ShiftLeftArith (Register dst, Register src, const Operand &val)
 
void ShiftRightArith (Register dst, Register src, Register shift)
 
void ShiftRightArith (Register dst, Register src, const Operand &val)
 
void ClearRightImm (Register dst, Register src, const Operand &val)
 
void And (Register dst, Register src)
 
void AndP (Register dst, Register src)
 
void And (Register dst, Register src1, Register src2)
 
void AndP (Register dst, Register src1, Register src2)
 
void And (Register dst, const MemOperand &opnd)
 
void AndP (Register dst, const MemOperand &opnd)
 
void And (Register dst, const Operand &opnd)
 
void AndP (Register dst, const Operand &opnd)
 
void And (Register dst, Register src, const Operand &opnd)
 
void AndP (Register dst, Register src, const Operand &opnd)
 
void Or (Register dst, Register src)
 
void OrP (Register dst, Register src)
 
void Or (Register dst, Register src1, Register src2)
 
void OrP (Register dst, Register src1, Register src2)
 
void Or (Register dst, const MemOperand &opnd)
 
void OrP (Register dst, const MemOperand &opnd)
 
void Or (Register dst, const Operand &opnd)
 
void OrP (Register dst, const Operand &opnd)
 
void Or (Register dst, Register src, const Operand &opnd)
 
void OrP (Register dst, Register src, const Operand &opnd)
 
void Xor (Register dst, Register src)
 
void XorP (Register dst, Register src)
 
void Xor (Register dst, Register src1, Register src2)
 
void XorP (Register dst, Register src1, Register src2)
 
void Xor (Register dst, const MemOperand &opnd)
 
void XorP (Register dst, const MemOperand &opnd)
 
void Xor (Register dst, const Operand &opnd)
 
void XorP (Register dst, const Operand &opnd)
 
void Xor (Register dst, Register src, const Operand &opnd)
 
void XorP (Register dst, Register src, const Operand &opnd)
 
void Popcnt32 (Register dst, Register src)
 
void Not32 (Register dst, Register src=no_reg)
 
void Not64 (Register dst, Register src=no_reg)
 
void NotP (Register dst, Register src=no_reg)
 
void mov (Register dst, const Operand &src)
 
void CleanUInt32 (Register x)
 
void push (Register src)
 
void pop (Register dst)
 
void pop ()
 
void Push (Register src)
 
void Push (Handle< HeapObject > handle)
 
void Push (Smi smi)
 
void Push (Register src1, Register src2)
 
void Push (Register src1, Register src2, Register src3)
 
void Push (Register src1, Register src2, Register src3, Register src4)
 
void Push (Register src1, Register src2, Register src3, Register src4, Register src5)
 
void Pop (Register dst)
 
void Pop (Register src1, Register src2)
 
void Pop (Register src1, Register src2, Register src3)
 
void Pop (Register src1, Register src2, Register src3, Register src4)
 
void Pop (Register src1, Register src2, Register src3, Register src4, Register src5)
 
void PushCommonFrame (Register marker_reg=no_reg)
 
void PushStandardFrame (Register function_reg)
 
void PopCommonFrame (Register marker_reg=no_reg)
 
void RestoreFrameStateForTailCall ()
 
void InitializeRootRegister ()
 
void CanonicalizeNaN (const DoubleRegister dst, const DoubleRegister src)
 
void CanonicalizeNaN (const DoubleRegister value)
 
void ConvertIntToDouble (DoubleRegister dst, Register src)
 
void ConvertUnsignedIntToDouble (DoubleRegister dst, Register src)
 
void ConvertIntToFloat (DoubleRegister dst, Register src)
 
void ConvertUnsignedIntToFloat (DoubleRegister dst, Register src)
 
void ConvertInt64ToFloat (DoubleRegister double_dst, Register src)
 
void ConvertInt64ToDouble (DoubleRegister double_dst, Register src)
 
void ConvertUnsignedInt64ToFloat (DoubleRegister double_dst, Register src)
 
void ConvertUnsignedInt64ToDouble (DoubleRegister double_dst, Register src)
 
void MovIntToFloat (DoubleRegister dst, Register src)
 
void MovFloatToInt (Register dst, DoubleRegister src)
 
void MovDoubleToInt64 (Register dst, DoubleRegister src)
 
void MovInt64ToDouble (DoubleRegister dst, Register src)
 
void ConvertFloat32ToInt64 (const Register dst, const DoubleRegister double_input, FPRoundingMode rounding_mode=kRoundToZero)
 
void ConvertDoubleToInt64 (const Register dst, const DoubleRegister double_input, FPRoundingMode rounding_mode=kRoundToZero)
 
void ConvertDoubleToInt32 (const Register dst, const DoubleRegister double_input, FPRoundingMode rounding_mode=kRoundToZero)
 
void ConvertFloat32ToInt32 (const Register result, const DoubleRegister double_input, FPRoundingMode rounding_mode)
 
void ConvertFloat32ToUnsignedInt32 (const Register result, const DoubleRegister double_input, FPRoundingMode rounding_mode=kRoundToZero)
 
void ConvertDoubleToUnsignedInt64 (const Register dst, const DoubleRegister double_input, FPRoundingMode rounding_mode=kRoundToZero)
 
void ConvertDoubleToUnsignedInt32 (const Register dst, const DoubleRegister double_input, FPRoundingMode rounding_mode=kRoundToZero)
 
void ConvertFloat32ToUnsignedInt64 (const Register result, const DoubleRegister double_input, FPRoundingMode rounding_mode=kRoundToZero)
 
void ShiftLeftPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register scratch, Register shift)
 
void ShiftLeftPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void ShiftRightPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register scratch, Register shift)
 
void ShiftRightPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void ShiftRightArithPair (Register dst_low, Register dst_high, Register src_low, Register src_high, Register scratch, Register shift)
 
void ShiftRightArithPair (Register dst_low, Register dst_high, Register src_low, Register src_high, uint32_t shift)
 
void StubPrologue (StackFrame::Type type, Register base=no_reg, int prologue_offset=0)
 
void Prologue (Register base, int prologue_offset=0)
 
void LoadIntLiteral (Register dst, int value)
 
void LoadSmiLiteral (Register dst, Smi smi)
 
void LoadDoubleLiteral (DoubleRegister result, double value, Register scratch)
 
void LoadDoubleLiteral (DoubleRegister result, uint64_t value, Register scratch)
 
void LoadFloat32Literal (DoubleRegister result, float value, Register scratch)
 
void StoreW (Register src, const MemOperand &mem, Register scratch=no_reg)
 
void LoadHalfWordP (Register dst, Register src)
 
void LoadHalfWordP (Register dst, const MemOperand &mem, Register scratch=no_reg)
 
void StoreHalfWord (Register src, const MemOperand &mem, Register scratch=r0)
 
void StoreByte (Register src, const MemOperand &mem, Register scratch=r0)
 
void CmpSmiLiteral (Register src1, Smi smi, Register scratch)
 
void SetRoundingMode (FPRoundingMode RN)
 
void ResetRoundingMode ()
 
void LoadP (Register dst, const MemOperand &mem, Register scratch=no_reg)
 
void StoreP (Register src, const MemOperand &mem, Register scratch=no_reg)
 
void StoreP (const MemOperand &mem, const Operand &opnd, Register scratch=no_reg)
 
void LoadMultipleP (Register dst1, Register dst2, const MemOperand &mem)
 
void StoreMultipleP (Register dst1, Register dst2, const MemOperand &mem)
 
void LoadMultipleW (Register dst1, Register dst2, const MemOperand &mem)
 
void StoreMultipleW (Register dst1, Register dst2, const MemOperand &mem)
 
void SwapP (Register src, Register dst, Register scratch)
 
void SwapP (Register src, MemOperand dst, Register scratch)
 
void SwapP (MemOperand src, MemOperand dst, Register scratch_0, Register scratch_1)
 
void SwapFloat32 (DoubleRegister src, DoubleRegister dst, DoubleRegister scratch)
 
void SwapFloat32 (DoubleRegister src, MemOperand dst, DoubleRegister scratch)
 
void SwapFloat32 (MemOperand src, MemOperand dst, DoubleRegister scratch_0, DoubleRegister scratch_1)
 
void SwapDouble (DoubleRegister src, DoubleRegister dst, DoubleRegister scratch)
 
void SwapDouble (DoubleRegister src, MemOperand dst, DoubleRegister scratch)
 
void SwapDouble (MemOperand src, MemOperand dst, DoubleRegister scratch_0, DoubleRegister scratch_1)
 
void CleanseP (Register src)
 
void PrepareForTailCall (const ParameterCount &callee_args_count, Register caller_args_count_reg, Register scratch0, Register scratch1)
 
void CallRuntimeWithCEntry (Runtime::FunctionId fid, Register centry)
 
void PrepareCallCFunction (int num_reg_arguments, int num_double_registers, Register scratch)
 
void PrepareCallCFunction (int num_reg_arguments, Register scratch)
 
void MovToFloatParameter (DoubleRegister src)
 
void MovToFloatParameters (DoubleRegister src1, DoubleRegister src2)
 
void MovToFloatResult (DoubleRegister src)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
void CallCFunction (ExternalReference function, int num_reg_arguments, int num_double_arguments)
 
void CallCFunction (Register function, int num_reg_arguments, int num_double_arguments)
 
void MovFromFloatParameter (DoubleRegister dst)
 
void MovFromFloatResult (DoubleRegister dst)
 
void TruncateDoubleToI (Isolate *isolate, Zone *zone, Register result, DoubleRegister double_input, StubCallMode stub_mode)
 
void TryInlineTruncateDoubleToI (Register result, DoubleRegister double_input, Label *done)
 
void Assert (Condition cond, AbortReason reason, CRegister cr=cr7)
 
void Check (Condition cond, AbortReason reason, CRegister cr=cr7)
 
void Abort (AbortReason reason)
 
bool AllowThisStubCall (CodeStub *stub)
 
void ExtractBitRange (Register dst, Register src, int rangeStart, int rangeEnd)
 
void ExtractBit (Register dst, Register src, uint32_t bitNumber)
 
void ExtractBitMask (Register dst, Register src, uintptr_t mask, RCBit rc=LeaveRC)
 
void TestBit (Register value, int bitNumber, Register scratch=r0)
 
void TestBitRange (Register value, int rangeStart, int rangeEnd, Register scratch=r0)
 
void TestBitMask (Register value, uintptr_t mask, Register scratch=r0)
 
void TestIfSmi (Register value)
 
void TestIfSmi (MemOperand value)
 
void TestIfInt32 (Register value)
 
void SmiUntag (Register reg, int scale=0)
 
void SmiUntag (Register dst, Register src, int scale=0)
 
void EnterFrame (StackFrame::Type type, bool load_constant_pool_pointer_reg=false)
 
int LeaveFrame (StackFrame::Type type, int stack_adjustment=0)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met)
 
void ResetSpeculationPoisonRegister ()
 
void ComputeCodeStartAddress (Register dst)
 
 TurboAssembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssembler (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
void PushReturnAddressFrom (Register src)
 
void PopReturnAddressTo (Register dst)
 
void Ret ()
 
void Ret (int bytes_dropped, Register scratch)
 
void Set (Register dst, int64_t x)
 
void Set (Operand dst, intptr_t x)
 
void LoadRoot (Register destination, RootIndex index) override
 
void LoadRoot (Operand destination, RootIndex index)
 
void Push (Register src)
 
void Push (Operand src)
 
void Push (Immediate value)
 
void Push (Smi smi)
 
void Push (Handle< HeapObject > source)
 
void PrepareCallCFunction (int num_arguments)
 
void CallCFunction (ExternalReference function, int num_arguments)
 
void CallCFunction (Register function, int num_arguments)
 
int ArgumentStackSlotsForCFunctionCall (int num_arguments)
 
void CheckPageFlag (Register object, Register scratch, int mask, Condition cc, Label *condition_met, Label::Distance condition_met_distance=Label::kFar)
 
void Cvtss2sd (XMMRegister dst, XMMRegister src)
 
void Cvtss2sd (XMMRegister dst, Operand src)
 
void Cvtsd2ss (XMMRegister dst, XMMRegister src)
 
void Cvtsd2ss (XMMRegister dst, Operand src)
 
void Cvttsd2si (Register dst, XMMRegister src)
 
void Cvttsd2si (Register dst, Operand src)
 
void Cvttsd2siq (Register dst, XMMRegister src)
 
void Cvttsd2siq (Register dst, Operand src)
 
void Cvttss2si (Register dst, XMMRegister src)
 
void Cvttss2si (Register dst, Operand src)
 
void Cvttss2siq (Register dst, XMMRegister src)
 
void Cvttss2siq (Register dst, Operand src)
 
void Cvtqsi2ss (XMMRegister dst, Register src)
 
void Cvtqsi2ss (XMMRegister dst, Operand src)
 
void Cvtqsi2sd (XMMRegister dst, Register src)
 
void Cvtqsi2sd (XMMRegister dst, Operand src)
 
void Cvtlsi2ss (XMMRegister dst, Register src)
 
void Cvtlsi2ss (XMMRegister dst, Operand src)
 
void Cvtlui2ss (XMMRegister dst, Register src)
 
void Cvtlui2ss (XMMRegister dst, Operand src)
 
void Cvtlui2sd (XMMRegister dst, Register src)
 
void Cvtlui2sd (XMMRegister dst, Operand src)
 
void Cvtqui2ss (XMMRegister dst, Register src)
 
void Cvtqui2ss (XMMRegister dst, Operand src)
 
void Cvtqui2sd (XMMRegister dst, Register src)
 
void Cvtqui2sd (XMMRegister dst, Operand src)
 
void Cvttsd2uiq (Register dst, Operand src, Label *fail=nullptr)
 
void Cvttsd2uiq (Register dst, XMMRegister src, Label *fail=nullptr)
 
void Cvttss2uiq (Register dst, Operand src, Label *fail=nullptr)
 
void Cvttss2uiq (Register dst, XMMRegister src, Label *fail=nullptr)
 
void Cvtlsi2sd (XMMRegister dst, Register src)
 
void Cvtlsi2sd (XMMRegister 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 Tzcntq (Register dst, Register src)
 
void Tzcntq (Register dst, Operand src)
 
void Tzcntl (Register dst, Register src)
 
void Tzcntl (Register dst, Operand src)
 
void Popcntl (Register dst, Register src)
 
void Popcntl (Register dst, Operand src)
 
void Popcntq (Register dst, Register src)
 
void Popcntq (Register dst, Operand src)
 
Condition CheckSmi (Register src)
 
Condition CheckSmi (Operand src)
 
void JumpIfSmi (Register src, Label *on_smi, Label::Distance near_jump=Label::kFar)
 
void JumpIfEqual (Register a, int32_t b, Label *dest)
 
void JumpIfLessThan (Register a, int32_t b, Label *dest)
 
void Move (Register dst, Smi source)
 
void Move (Operand dst, Smi source)
 
void Move (Register dst, ExternalReference ext)
 
void Move (XMMRegister dst, uint32_t src)
 
void Move (XMMRegister dst, uint64_t src)
 
void Move (XMMRegister dst, float src)
 
void Move (XMMRegister dst, double src)
 
void Move (Register target, Register source)
 
void Move (Register dst, Handle< HeapObject > source, RelocInfo::Mode rmode=RelocInfo::EMBEDDED_OBJECT)
 
void Move (Operand dst, Handle< HeapObject > source, RelocInfo::Mode rmode=RelocInfo::EMBEDDED_OBJECT)
 
void Move (Register dst, Address ptr, RelocInfo::Mode rmode)
 
void MoveStringConstant (Register result, const StringConstantBase *string, RelocInfo::Mode rmode=RelocInfo::EMBEDDED_OBJECT)
 
void SmiUntag (Register dst, Register src)
 
void SmiUntag (Register dst, Operand src)
 
void LoadAddress (Register destination, ExternalReference source)
 
void LoadFromConstantsTable (Register destination, int constant_index) override
 
void LoadRootRegisterOffset (Register destination, intptr_t offset) override
 
void LoadRootRelative (Register destination, int32_t offset) override
 
Operand ExternalReferenceAsOperand (ExternalReference reference, Register scratch=kScratchRegister)
 
void Call (Register reg)
 
void Call (Operand op)
 
void Call (Handle< Code > code_object, RelocInfo::Mode rmode)
 
void Call (Address destination, RelocInfo::Mode rmode)
 
void Call (ExternalReference ext)
 
void Call (Label *target)
 
void RetpolineCall (Register reg)
 
void RetpolineCall (Address destination, RelocInfo::Mode rmode)
 
void Jump (Address destination, RelocInfo::Mode rmode)
 
void Jump (ExternalReference ext)
 
void Jump (Operand op)
 
void Jump (Handle< Code > code_object, RelocInfo::Mode rmode, Condition cc=always)
 
void RetpolineJump (Register reg)
 
void CallForDeoptimization (Address target, int deopt_id, RelocInfo::Mode rmode)
 
void Pextrd (Register dst, XMMRegister src, int8_t imm8)
 
void Pinsrd (XMMRegister dst, Register src, int8_t imm8)
 
void Pinsrd (XMMRegister dst, Operand src, int8_t imm8)
 
void CompareRoot (Register with, RootIndex index)
 
void CompareRoot (Operand with, RootIndex index)
 
void StubPrologue (StackFrame::Type type)
 
void Prologue ()
 
void Assert (Condition cc, AbortReason reason)
 
void AssertUnreachable (AbortReason reason)
 
void AssertZeroExtended (Register reg)
 
void Check (Condition cc, AbortReason reason)
 
void Abort (AbortReason msg)
 
void CheckStackAlignment ()
 
void EnterFrame (StackFrame::Type type)
 
void EnterFrame (StackFrame::Type type, bool load_constant_pool_pointer_reg)
 
void LeaveFrame (StackFrame::Type type)
 
void PrepareForTailCall (const ParameterCount &callee_args_count, Register caller_args_count_reg, Register scratch0, Register scratch1)
 
bool AllowThisStubCall (CodeStub *stub)
 
void CallRuntimeWithCEntry (Runtime::FunctionId fid, Register centry)
 
void InitializeRootRegister ()
 
void SaveRegisters (RegList registers)
 
void RestoreRegisters (RegList registers)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Address wasm_target)
 
void MoveNumber (Register dst, double value)
 
void MoveNonSmi (Register dst, double value)
 
int RequiredStackSizeForCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg) const
 
int PushCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
int PopCallerSaved (SaveFPRegsMode fp_mode, Register exclusion1=no_reg, Register exclusion2=no_reg, Register exclusion3=no_reg)
 
void ComputeCodeStartAddress (Register dst)
 
void ResetSpeculationPoisonRegister ()
 
void DecompressTaggedSigned (Register destination, Operand field_operand, Register scratch_for_debug)
 
void DecompressTaggedPointer (Register destination, Operand field_operand, Register scratch_for_debug)
 
void DecompressAnyTagged (Register destination, Operand field_operand, Register scratch, Register scratch_for_debug)
 
- Public Member Functions inherited from v8::internal::TurboAssemblerBase
Isolateisolate () const
 
Handle< HeapObjectCodeObject () const
 
bool root_array_available () const
 
void set_root_array_available (bool v)
 
bool trap_on_abort () const
 
bool should_abort_hard () const
 
void set_abort_hard (bool v)
 
void set_builtin_index (int i)
 
void set_has_frame (bool v)
 
bool has_frame () const
 
void IndirectLoadConstant (Register destination, Handle< HeapObject > object)
 
void IndirectLoadExternalReference (Register destination, ExternalReference reference)
 
- Public Member Functions inherited from v8::internal::Assembler
 Assembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
virtual void AbortedCodeGeneration ()
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void bind (Label *L)
 
int branch_offset (Label *L)
 
RegListGetScratchRegisterList ()
 
VfpRegList * GetScratchVfpRegisterList ()
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
void b (int branch_offset, Condition cond=al, RelocInfo::Mode rmode=RelocInfo::NONE)
 
void bl (int branch_offset, Condition cond=al, RelocInfo::Mode rmode=RelocInfo::NONE)
 
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 (const char *msg, 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, 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 vst1 (NeonSize size, const NeonListOperand &src, const NeonMemOperand &dst)
 
void vmovl (NeonDataType dt, QwNeonRegister dst, DwVfpRegister src)
 
void vqmovn (NeonDataType 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 (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 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 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 vmul (QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister src2)
 
void vmul (NeonSize size, QwNeonRegister dst, QwNeonRegister src1, QwNeonRegister 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 vshl (NeonDataType dt, QwNeonRegister dst, QwNeonRegister 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 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 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 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 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 RecordComment (const char *msg)
 
void RecordDeoptReason (DeoptimizeReason reason, 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)
 
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 AssemblerOptions &options, void *buffer, int buffer_size)
 
virtual void AbortedCodeGeneration ()
 
void Reset ()
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void Align (int m)
 
void DataAlign (int m)
 
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 (HeapObjectRequest request)
 
Handle< Codecode_target_object_handle_at (Address pc)
 
Address runtime_entry_at (Address pc)
 
uint64_t SizeOfGeneratedCode () const
 
uint64_t SizeOfCodeGeneratedSince (const Label *label)
 
uint64_t InstructionsGeneratedSince (const Label *label)
 
void StartBlockConstPool ()
 
void EndBlockConstPool ()
 
bool is_const_pool_blocked () const
 
void EmitPoolGuard ()
 
void StartBlockVeneerPool ()
 
void EndBlockVeneerPool ()
 
bool is_veneer_pool_blocked () const
 
void StartBlockPools ()
 
void EndBlockPools ()
 
void RecordComment (const char *msg)
 
void RecordDeoptReason (DeoptimizeReason reason, 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 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 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 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 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 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 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 EmitStringData (const char *string)
 
void debug (const char *message, uint32_t code, Instr params=BREAK)
 
void dd (uint32_t data)
 
void db (uint8_t data)
 
void dq (uint64_t data)
 
void dp (uintptr_t data)
 
bool IsConstPoolEmpty () const
 
Instructionpc () const
 
InstructionInstructionAt (ptrdiff_t offset) const
 
ptrdiff_t InstructionOffset (Instruction *instr) const
 
void CheckConstPool (bool force_emit, bool require_jump)
 
bool ShouldEmitVeneer (int max_reachable_pc, int margin=kVeneerDistanceMargin)
 
bool ShouldEmitVeneers (int margin=kVeneerDistanceMargin)
 
void RecordVeneerPool (int location_offset, int size)
 
void EmitVeneers (bool force_emit, bool need_protection, int margin=kVeneerDistanceMargin)
 
void EmitVeneersGuard ()
 
void CheckVeneerPool (bool force_emit, bool require_jump, int margin=kVeneerDistanceMargin)
 
 Assembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void Align (int m)
 
void DataAlign (int m)
 
void Nop (int bytes=1)
 
void CodeTargetAlign ()
 
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 enter (const Immediate &size)
 
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 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 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 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 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 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 call (CodeStub *stub)
 
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, byte *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 movups (XMMRegister dst, XMMRegister src)
 
void movups (XMMRegister dst, Operand src)
 
void movups (Operand dst, XMMRegister src)
 
void shufps (XMMRegister dst, XMMRegister src, byte imm8)
 
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 andps (XMMRegister dst, Operand src)
 
void andps (XMMRegister dst, XMMRegister src)
 
void xorps (XMMRegister dst, Operand src)
 
void xorps (XMMRegister dst, XMMRegister src)
 
void orps (XMMRegister dst, Operand src)
 
void orps (XMMRegister dst, XMMRegister src)
 
void addps (XMMRegister dst, Operand src)
 
void addps (XMMRegister dst, XMMRegister src)
 
void subps (XMMRegister dst, Operand src)
 
void subps (XMMRegister dst, XMMRegister src)
 
void mulps (XMMRegister dst, Operand src)
 
void mulps (XMMRegister dst, XMMRegister src)
 
void divps (XMMRegister dst, Operand src)
 
void divps (XMMRegister dst, XMMRegister src)
 
void rcpps (XMMRegister dst, Operand src)
 
void rcpps (XMMRegister dst, XMMRegister src)
 
void rsqrtps (XMMRegister dst, Operand src)
 
void rsqrtps (XMMRegister dst, XMMRegister src)
 
void haddps (XMMRegister dst, Operand src)
 
void haddps (XMMRegister dst, XMMRegister src)
 
void minps (XMMRegister dst, Operand src)
 
void minps (XMMRegister dst, XMMRegister src)
 
void maxps (XMMRegister dst, Operand src)
 
void maxps (XMMRegister dst, XMMRegister src)
 
void cmpps (XMMRegister dst, Operand src, uint8_t cmp)
 
 SSE_CMP_P (cmpeq, 0x0)
 
 SSE_CMP_P (cmplt, 0x1)
 
 SSE_CMP_P (cmple, 0x2)
 
 SSE_CMP_P (cmpneq, 0x4)
 
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 cvtsd2ss (XMMRegister dst, Operand src)
 
void cvtsd2ss (XMMRegister dst, XMMRegister src)
 
void cvtdq2ps (XMMRegister dst, XMMRegister src)
 
void cvtdq2ps (XMMRegister dst, Operand src)
 
void cvttps2dq (XMMRegister dst, XMMRegister src)
 
void cvttps2dq (XMMRegister dst, Operand src)
 
void addsd (XMMRegister dst, XMMRegister src)
 
void addsd (XMMRegister dst, Operand src)
 
void subsd (XMMRegister dst, XMMRegister src)
 
void subsd (XMMRegister dst, Operand src)
 
void mulsd (XMMRegister dst, XMMRegister src)
 
void mulsd (XMMRegister dst, Operand src)
 
void divsd (XMMRegister dst, XMMRegister src)
 
void divsd (XMMRegister dst, Operand src)
 
void xorpd (XMMRegister dst, XMMRegister src)
 
void xorpd (XMMRegister dst, Operand src)
 
void sqrtsd (XMMRegister dst, XMMRegister src)
 
void sqrtsd (XMMRegister dst, Operand src)
 
void andpd (XMMRegister dst, XMMRegister src)
 
void andpd (XMMRegister dst, Operand src)
 
void orpd (XMMRegister dst, XMMRegister src)
 
void orpd (XMMRegister dst, Operand 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 movmskpd (Register dst, XMMRegister src)
 
void movmskps (Register dst, XMMRegister src)
 
void cmpltsd (XMMRegister dst, XMMRegister src)
 
void maxsd (XMMRegister dst, XMMRegister src)
 
void maxsd (XMMRegister dst, Operand src)
 
void minsd (XMMRegister dst, XMMRegister src)
 
void minsd (XMMRegister dst, Operand src)
 
void movdqa (XMMRegister dst, Operand src)
 
void movdqa (Operand dst, XMMRegister src)
 
void movdqu (XMMRegister dst, Operand src)
 
void movdqu (Operand 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 (Register dst, XMMRegister src, byte imm8)
 
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 psllq (XMMRegister dst, XMMRegister src)
 
void psrlq (XMMRegister reg, uint8_t shift)
 
void psrlq (XMMRegister dst, XMMRegister src)
 
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 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 vfmadd132sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd213sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd231sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd132sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd213sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd231sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub132sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub213sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub231sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub132sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub213sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub231sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd132sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd213sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd231sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd132sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd213sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd231sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub132sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub213sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub231sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub132sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub213sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub231sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmasd (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd132ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd213ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd231ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd132ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd213ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd231ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub132ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub213ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub231ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub132ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub213ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub231ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd132ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd213ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd231ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd132ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd213ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd231ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub132ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub213ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub231ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub132ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub213ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub231ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmass (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vaddsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vaddsd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vsubsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vsubsd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmulsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmulsd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vdivsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vdivsd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmaxsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vmaxsd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vminsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vminsd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vsqrtsd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vsqrtsd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vsd (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
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 (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vrcpps (XMMRegister dst, XMMRegister src)
 
void vrcpps (XMMRegister dst, Operand src)
 
void vrsqrtps (XMMRegister dst, XMMRegister src)
 
void vrsqrtps (XMMRegister dst, Operand src)
 
void vhaddps (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vhaddps (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmovaps (XMMRegister dst, XMMRegister src)
 
void vshufps (XMMRegister dst, XMMRegister src1, XMMRegister src2, byte imm8)
 
void vshufps (XMMRegister dst, XMMRegister src1, Operand src2, byte imm8)
 
void vpsllw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpslld (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 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 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 vcvtdq2ps (XMMRegister dst, XMMRegister src)
 
void vcvtdq2ps (XMMRegister dst, Operand src)
 
void vcvttps2dq (XMMRegister dst, XMMRegister src)
 
void vcvttps2dq (XMMRegister dst, Operand 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 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, byte imm8)
 
void rorx (Register dst, Operand src, byte imm8)
 
 PACKED_OP_LIST (AVX_PACKED_OP_DECLARE)
 
void vps (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vpd (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vcmpps (XMMRegister dst, XMMRegister src1, Operand src2, uint8_t cmp)
 
 AVX_CMP_P (vcmpeq, 0x0)
 
 AVX_CMP_P (vcmplt, 0x1)
 
 AVX_CMP_P (vcmple, 0x2)
 
 AVX_CMP_P (vcmpneq, 0x4)
 
void prefetch (Operand src, int level)
 
int SizeOfCodeGeneratedSince (Label *label)
 
void RecordComment (const char *msg)
 
void RecordDeoptReason (DeoptimizeReason reason, 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 ()
 
byte byte_at (int pos)
 
void set_byte_at (int pos, byte value)
 
 Assembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
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)
 
uint32_t jump_address (Label *L)
 
uint32_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 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 j (int32_t target)
 
void jal (int32_t target)
 
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 addu (Register rd, Register rs, Register rt)
 
void subu (Register rd, Register rs, Register rt)
 
void mult (Register rs, Register rt)
 
void multu (Register rs, Register rt)
 
void div (Register rs, Register rt)
 
void divu (Register rs, Register rt)
 
void div (Register rd, Register rs, Register rt)
 
void divu (Register rd, Register rs, Register rt)
 
void mod (Register rd, Register rs, Register rt)
 
void modu (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 addiu (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 rs, Register rt, 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 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 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 ll (Register rd, const MemOperand &rs)
 
void sc (Register rd, const MemOperand &rs)
 
void llx (Register rd, const MemOperand &rs)
 
void scx (Register rd, const MemOperand &rs)
 
void addiupc (Register rs, int32_t imm19)
 
void lwpc (Register rs, int32_t offset19)
 
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 (const char *msg, 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 rd, Register rs, Register rt)
 
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 ins_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void ext_ (Register rt, Register rs, uint16_t pos, uint16_t size)
 
void bitswap (Register rd, Register rt)
 
void align (Register rd, Register rs, Register rt, uint8_t bp)
 
void wsbh (Register rd, Register rt)
 
void seh (Register rd, Register rt)
 
void seb (Register rd, Register rt)
 
void lwc1 (FPURegister fd, const MemOperand &src)
 
void swc1 (FPURegister fs, const MemOperand &dst)
 
void mtc1 (Register rt, FPURegister fs)
 
void mthc1 (Register rt, FPURegister fs)
 
void mfc1 (Register rt, FPURegister fs)
 
void mfhc1 (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 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_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 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 RecordComment (const char *msg)
 
void RecordDeoptReason (DeoptimizeReason reason, 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
 
int available_space () const
 
Instr instr_at (int pos)
 
void instr_at_put (int pos, Instr instr)
 
void CheckTrampolinePool ()
 
bool IsPrevInstrCompactBranch ()
 
V8_INLINE Handle< Coderelative_code_target_object_handle_at (Address pc_) const
 
int UnboundLabelsCount ()
 
 Assembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
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 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 (const char *msg, 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 RecordComment (const char *msg)
 
void RecordDeoptReason (DeoptimizeReason reason, 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)
 
void CheckTrampolinePool ()
 
bool IsPrevInstrCompactBranch ()
 
int UnboundLabelsCount ()
 
 Assembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void bind (Label *L)
 
int link (Label *L)
 
bool is_near (Label *L, Condition cond)
 
int branch_offset (Label *L)
 
void label_at_put (Label *L, int at_offset)
 
V8_INLINE void PatchConstantPoolAccessInstruction (int pc_offset, int offset, ConstantPoolEntry::Access access, ConstantPoolEntry::Type type)
 
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)
 
void xx3_form (Instr instr, DoubleRegister t, DoubleRegister a, DoubleRegister b)
 
void Align (int m)
 
void DataAlign (int m)
 
void CodeTargetAlign ()
 
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=cr7, LKBit lk=LeaveLK)
 
void bclr (Condition cond, CRegister cr=cr7, 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=cr7)
 
void b (Condition cond, Label *L, CRegister cr=cr7, LKBit lk=LeaveLK)
 
void bne (Label *L, CRegister cr=cr7, LKBit lk=LeaveLK)
 
void beq (Label *L, CRegister cr=cr7, LKBit lk=LeaveLK)
 
void blt (Label *L, CRegister cr=cr7, LKBit lk=LeaveLK)
 
void bge (Label *L, CRegister cr=cr7, LKBit lk=LeaveLK)
 
void ble (Label *L, CRegister cr=cr7, LKBit lk=LeaveLK)
 
void bgt (Label *L, CRegister cr=cr7, LKBit lk=LeaveLK)
 
void bunordered (Label *L, CRegister cr=cr7, LKBit lk=LeaveLK)
 
void bordered (Label *L, CRegister cr=cr7, 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 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=cr7)
 
void cmpli (Register src1, const Operand &src2, CRegister cr=cr7)
 
void cmpwi (Register src1, const Operand &src2, CRegister cr=cr7)
 
void cmplwi (Register src1, const Operand &src2, CRegister cr=cr7)
 
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 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 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 function_descriptor ()
 
void stop (const char *msg, Condition cond=al, int32_t code=kDefaultStopCode, CRegister cr=cr7)
 
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=cr7)
 
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 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 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 RecordComment (const char *msg)
 
void RecordDeoptReason (DeoptimizeReason reason, 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 &options, void *buffer, int buffer_size)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
void bind (Label *L)
 
int link (Label *L)
 
bool is_near (Label *L, Condition cond)
 
int branch_offset (Label *L)
 
void label_at_put (Label *L, int at_offset)
 
void load_label_offset (Register r1, Label *L)
 
Handle< Objectcode_target_object_handle_at (Address pc)
 
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 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)
 
 S390_RSY_A_OPCODE_LIST (DECLARE_S390_RSY_A_INSTRUCTIONS)
 
 S390_RSY_B_OPCODE_LIST (DECLARE_S390_RSY_B_INSTRUCTIONS)
 
void rs_format (Opcode op, int f1, int f2, int f3, const int f4)
 
 S390_RS_A_OPCODE_LIST (DECLARE_S390_RS_A_INSTRUCTIONS)
 
 S390_RS_B_OPCODE_LIST (DECLARE_S390_RS_B_INSTRUCTIONS)
 
void rxe_format (Opcode op, int f1, int f2, int f3, int f4, int f5=0)
 
 S390_RXE_OPCODE_LIST (DECLARE_S390_RXE_INSTRUCTIONS)
 
void ri_format (Opcode opcode, int f1, int f2)
 
 S390_RI_A_OPCODE_LIST (DECLARE_S390_RI_A_INSTRUCTIONS)
 
 S390_RI_B_OPCODE_LIST (DECLARE_S390_RI_B_INSTRUCTIONS)
 
 S390_RI_C_OPCODE_LIST (DECLARE_S390_RI_C_INSTRUCTIONS)
 
void rrf_format (Opcode op, int f1, int f2, int f3, int f4)
 
 S390_RRF_A_OPCODE_LIST (DECLARE_S390_RRF_A_INSTRUCTIONS)
 
 S390_RRF_B_OPCODE_LIST (DECLARE_S390_RRF_B_INSTRUCTIONS)
 
 S390_RRF_C_OPCODE_LIST (DECLARE_S390_RRF_C_INSTRUCTIONS)
 
 S390_RRF_D_OPCODE_LIST (DECLARE_S390_RRF_D_INSTRUCTIONS)
 
 S390_RRF_E_OPCODE_LIST (DECLARE_S390_RRF_E_INSTRUCTIONS)
 
void rsi_format (Opcode op, int f1, int f2, int f3)
 
 S390_RSI_OPCODE_LIST (DECLARE_S390_RSI_INSTRUCTIONS)
 
void rsl_format (Opcode op, uint16_t f1, int f2, int f3, int f4, int f5)
 
 S390_RSL_A_OPCODE_LIST (DECLARE_S390_RSL_A_INSTRUCTIONS)
 
 S390_RSL_B_OPCODE_LIST (DECLARE_S390_RSL_B_INSTRUCTIONS)
 
void s_format (Opcode op, int f1, int f2)
 
 S390_S_OPCODE_LIST (DECLARE_S390_S_INSTRUCTIONS)
 
void si_format (Opcode op, int f1, int f2, int f3)
 
 S390_SI_OPCODE_LIST (DECLARE_S390_SI_INSTRUCTIONS)
 
void siy_format (Opcode op, int f1, int f2, int f3)
 
 S390_SIY_OPCODE_LIST (DECLARE_S390_SIY_INSTRUCTIONS)
 
void rrs_format (Opcode op, int f1, int f2, int f3, int f4, int f5)
 
 S390_RRS_OPCODE_LIST (DECLARE_S390_RRS_INSTRUCTIONS)
 
void ris_format (Opcode op, int f1, int f2, int f3, int f4, int f5)
 
 S390_RIS_OPCODE_LIST (DECLARE_S390_RIS_INSTRUCTIONS)
 
void sil_format (Opcode op, int f1, int f2, int f3)
 
 S390_SIL_OPCODE_LIST (DECLARE_S390_SIL_INSTRUCTIONS)
 
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)
 
void b (Condition cond, Label *l, Label::Distance dist=Label::kFar)
 
void bc_short (Condition cond, Label *l, Label::Distance dist=Label::kFar)
 
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 breakpoint (bool do_print)
 
void call (Handle< Code > target, RelocInfo::Mode rmode)
 
void call (CodeStub *stub)
 
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 stop (const char *msg, 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 RecordComment (const char *msg)
 
void RecordDeoptReason (DeoptimizeReason reason, SourcePosition position, int id)
 
void db (uint8_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)
 
byte * buffer_pos () const
 
 Assembler (const AssemblerOptions &options, void *buffer, int buffer_size)
 
void GetCode (Isolate *isolate, CodeDesc *desc)
 
Handle< Codecode_target_object_handle_at (Address pc)
 
Address runtime_entry_at (Address pc)
 
 STATIC_ASSERT (kPointerSize==kInt64Size||kPointerSize==kInt32Size)
 
void Align (int m)
 
void DataAlign (int m)
 
void Nop (int bytes=1)
 
void CodeTargetAlign ()
 
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 enter (Immediate size)
 
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 movp (Register dst, Address ptr, RelocInfo::Mode rmode)
 
void movp_heap_number (Register dst, double value)
 
void movp_string (Register dst, const StringConstantBase *str)
 
void movq (Register dst, int64_t value, RelocInfo::Mode rmode=RelocInfo::NONE)
 
void movq (Register dst, uint64_t value, RelocInfo::Mode rmode=RelocInfo::NONE)
 
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 repmovsp ()
 
void repmovsl ()
 
void repmovsq ()
 
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 cmpb_al (Immediate src)
 
void cmpb (Register dst, Register src)
 
void cmpb (Register dst, Operand src)
 
void cmpb (Operand dst, Register src)
 
void cmpb (Operand dst, Immediate src)
 
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 testb (Register reg, Operand op)
 
void 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 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 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 testb (Register reg, Immediate mask)
 
void testb (Operand op, Immediate mask)
 
void testb (Operand op, Register reg)
 
void testw (Register dst, Register src)
 
void testw (Register reg, Immediate mask)
 
void testw (Operand op, Immediate mask)
 
void 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 pshufw (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void pshufw (XMMRegister dst, Operand src, uint8_t shuffle)
 
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 bind (Label *L)
 
void call (Label *L)
 
void call (Address entry, RelocInfo::Mode rmode)
 
void near_call (Address entry, RelocInfo::Mode rmode)
 
void near_jmp (Address entry, RelocInfo::Mode rmode)
 
void call (CodeStub *stub)
 
void call (Handle< Code > target, RelocInfo::Mode rmode=RelocInfo::CODE_TARGET)
 
void call (Address target)
 
void call (Register adr)
 
void jmp (Label *L, Label::Distance distance=Label::kFar)
 
void jmp (Handle< Code > target, RelocInfo::Mode rmode)
 
void jmp (Register adr)
 
void jmp (Operand src)
 
void 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 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 maxss (XMMRegister dst, XMMRegister src)
 
void maxss (XMMRegister dst, Operand src)
 
void minss (XMMRegister dst, XMMRegister src)
 
void minss (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 movss (XMMRegister dst, XMMRegister src)
 
void movss (XMMRegister dst, Operand src)
 
void movss (Operand dst, XMMRegister src)
 
void shufps (XMMRegister dst, XMMRegister src, byte 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 andps (XMMRegister dst, XMMRegister src)
 
void andps (XMMRegister dst, Operand src)
 
void orps (XMMRegister dst, XMMRegister src)
 
void orps (XMMRegister dst, Operand src)
 
void xorps (XMMRegister dst, XMMRegister src)
 
void xorps (XMMRegister dst, Operand src)
 
void addps (XMMRegister dst, XMMRegister src)
 
void addps (XMMRegister dst, Operand src)
 
void subps (XMMRegister dst, XMMRegister src)
 
void subps (XMMRegister dst, Operand src)
 
void mulps (XMMRegister dst, XMMRegister src)
 
void mulps (XMMRegister dst, Operand src)
 
void divps (XMMRegister dst, XMMRegister src)
 
void divps (XMMRegister dst, Operand src)
 
void movmskps (Register dst, XMMRegister src)
 
void vinstr (byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2, SIMDPrefix pp, LeadingOpcode m, VexW w)
 
void vinstr (byte op, XMMRegister dst, XMMRegister src1, Operand src2, SIMDPrefix pp, LeadingOpcode m, VexW w)
 
void sse2_instr (XMMRegister dst, XMMRegister src, byte prefix, byte escape, byte opcode)
 
void sse2_instr (XMMRegister dst, Operand src, byte prefix, byte escape, byte opcode)
 
void lddqu (XMMRegister dst, Operand src)
 
void ssse3_instr (XMMRegister dst, XMMRegister src, byte prefix, byte escape1, byte escape2, byte opcode)
 
void ssse3_instr (XMMRegister dst, Operand src, byte prefix, byte escape1, byte escape2, byte opcode)
 
void sse4_instr (XMMRegister dst, XMMRegister src, byte prefix, byte escape1, byte escape2, byte opcode)
 
void sse4_instr (XMMRegister dst, Operand src, byte prefix, byte escape1, byte escape2, byte opcode)
 
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 (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 movdqu (Operand dst, XMMRegister src)
 
void movdqu (XMMRegister dst, Operand src)
 
void movapd (XMMRegister dst, XMMRegister src)
 
void movupd (XMMRegister dst, Operand src)
 
void movupd (Operand dst, XMMRegister src)
 
void psllq (XMMRegister reg, byte imm8)
 
void psrlq (XMMRegister reg, byte imm8)
 
void psllw (XMMRegister reg, byte imm8)
 
void pslld (XMMRegister reg, byte imm8)
 
void psrlw (XMMRegister reg, byte imm8)
 
void psrld (XMMRegister reg, byte imm8)
 
void psraw (XMMRegister reg, byte imm8)
 
void psrad (XMMRegister reg, byte imm8)
 
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 cvtss2sd (XMMRegister dst, XMMRegister src)
 
void cvtss2sd (XMMRegister dst, Operand src)
 
void cvtsd2ss (XMMRegister dst, XMMRegister src)
 
void cvtsd2ss (XMMRegister dst, Operand src)
 
void cvtsd2si (Register dst, XMMRegister src)
 
void cvtsd2siq (Register dst, XMMRegister src)
 
void addsd (XMMRegister dst, XMMRegister src)
 
void addsd (XMMRegister dst, Operand src)
 
void subsd (XMMRegister dst, XMMRegister src)
 
void subsd (XMMRegister dst, Operand src)
 
void mulsd (XMMRegister dst, XMMRegister src)
 
void mulsd (XMMRegister dst, Operand src)
 
void divsd (XMMRegister dst, XMMRegister src)
 
void divsd (XMMRegister dst, Operand src)
 
void maxsd (XMMRegister dst, XMMRegister src)
 
void maxsd (XMMRegister dst, Operand src)
 
void minsd (XMMRegister dst, XMMRegister src)
 
void minsd (XMMRegister dst, Operand src)
 
void andpd (XMMRegister dst, XMMRegister src)
 
void andpd (XMMRegister dst, Operand src)
 
void orpd (XMMRegister dst, XMMRegister src)
 
void orpd (XMMRegister dst, Operand src)
 
void xorpd (XMMRegister dst, XMMRegister src)
 
void xorpd (XMMRegister dst, Operand src)
 
void sqrtsd (XMMRegister dst, XMMRegister src)
 
void sqrtsd (XMMRegister dst, Operand src)
 
void haddps (XMMRegister dst, XMMRegister src)
 
void haddps (XMMRegister dst, Operand src)
 
void ucomisd (XMMRegister dst, XMMRegister src)
 
void ucomisd (XMMRegister dst, Operand src)
 
void cmpltsd (XMMRegister dst, XMMRegister src)
 
void movmskpd (Register dst, XMMRegister src)
 
void insertps (XMMRegister dst, XMMRegister src, byte imm8)
 
void extractps (Register dst, XMMRegister src, byte imm8)
 
void pextrb (Register dst, XMMRegister src, int8_t imm8)
 
void pextrb (Operand dst, XMMRegister src, int8_t imm8)
 
void pextrw (Register dst, XMMRegister src, int8_t imm8)
 
void pextrw (Operand dst, XMMRegister src, int8_t imm8)
 
void pextrd (Register dst, XMMRegister src, int8_t imm8)
 
void pextrd (Operand dst, XMMRegister src, int8_t imm8)
 
void pinsrb (XMMRegister dst, Register src, int8_t imm8)
 
void pinsrb (XMMRegister dst, Operand src, int8_t imm8)
 
void pinsrw (XMMRegister dst, Register src, int8_t imm8)
 
void pinsrw (XMMRegister dst, Operand src, int8_t imm8)
 
void pinsrd (XMMRegister dst, Register src, int8_t imm8)
 
void pinsrd (XMMRegister dst, Operand src, int8_t imm8)
 
void roundss (XMMRegister dst, XMMRegister src, RoundingMode mode)
 
void roundsd (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)
 
 SSE_CMP_P (cmpeq, 0x0)
 
 SSE_CMP_P (cmplt, 0x1)
 
 SSE_CMP_P (cmple, 0x2)
 
 SSE_CMP_P (cmpneq, 0x4)
 
 SSE_CMP_P (cmpnlt, 0x5)
 
 SSE_CMP_P (cmpnle, 0x6)
 
void minps (XMMRegister dst, XMMRegister src)
 
void minps (XMMRegister dst, Operand src)
 
void maxps (XMMRegister dst, XMMRegister src)
 
void maxps (XMMRegister dst, Operand src)
 
void rcpps (XMMRegister dst, XMMRegister src)
 
void rcpps (XMMRegister dst, Operand src)
 
void rsqrtps (XMMRegister dst, XMMRegister src)
 
void rsqrtps (XMMRegister dst, Operand src)
 
void sqrtps (XMMRegister dst, XMMRegister src)
 
void sqrtps (XMMRegister dst, Operand src)
 
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 pshuflw (XMMRegister dst, XMMRegister src, uint8_t shuffle)
 
void cvtdq2ps (XMMRegister dst, XMMRegister src)
 
void cvtdq2ps (XMMRegister dst, Operand src)
 
void vfmadd132sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd213sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd231sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd132sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd213sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd231sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub132sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub213sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub231sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub132sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub213sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub231sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd132sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd213sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd231sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd132sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd213sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd231sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub132sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub213sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub231sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub132sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub213sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub231sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmasd (byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmasd (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd132ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd213ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd231ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmadd132ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd213ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmadd231ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub132ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub213ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub231ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmsub132ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub213ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmsub231ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd132ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd213ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd231ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmadd132ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd213ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmadd231ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub132ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub213ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub231ss (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfnmsub132ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub213ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfnmsub231ss (XMMRegister dst, XMMRegister src1, Operand src2)
 
void vfmass (byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vfmass (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
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)
 
 AVX_SP_3 (vsqrt, 0x51)
 
 AVX_SP_3 (vadd, 0x58)
 
 AVX_SP_3 (vsub, 0x5c)
 
 AVX_SP_3 (vmul, 0x59)
 
 AVX_SP_3 (vdiv, 0x5e)
 
 AVX_SP_3 (vmin, 0x5d)
 
 AVX_SP_3 (vmax, 0x5f)
 
 AVX_P_3 (vand, 0x54)
 
 AVX_P_3 (vor, 0x56)
 
 AVX_P_3 (vxor, 0x57)
 
 AVX_3 (vcvtsd2ss, 0x5a, vsd)
 
 AVX_3 (vhaddps, 0x7c, vsd)
 
void vpsrlq (XMMRegister dst, XMMRegister src, byte imm8)
 
void vpsllq (XMMRegister dst, XMMRegister src, byte imm8)
 
void vcvtss2sd (XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vcvtss2sd (XMMRegister dst, XMMRegister src1, Operand src2)
 
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 vucomisd (XMMRegister dst, XMMRegister src)
 
void vucomisd (XMMRegister dst, Operand src)
 
void vroundss (XMMRegister dst, XMMRegister src1, XMMRegister src2, RoundingMode mode)
 
void vroundsd (XMMRegister dst, XMMRegister src1, XMMRegister src2, RoundingMode mode)
 
void vsd (byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vsd (byte op, XMMRegister dst, XMMRegister src1, Operand 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 (byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vss (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vmovaps (XMMRegister dst, XMMRegister src)
 
void vmovups (XMMRegister dst, XMMRegister src)
 
void vmovups (XMMRegister dst, Operand src)
 
void vmovups (Operand dst, XMMRegister src)
 
void vmovapd (XMMRegister dst, XMMRegister src)
 
void vmovupd (XMMRegister dst, Operand src)
 
void vmovupd (Operand dst, XMMRegister src)
 
void vmovmskps (Register dst, XMMRegister src)
 
void vmovmskpd (Register dst, XMMRegister src)
 
void vcmpps (XMMRegister dst, XMMRegister src1, XMMRegister src2, int8_t cmp)
 
void vcmpps (XMMRegister dst, XMMRegister src1, Operand src2, int8_t cmp)
 
void vcmppd (XMMRegister dst, XMMRegister src1, XMMRegister src2, int8_t cmp)
 
void vcmppd (XMMRegister dst, XMMRegister src1, Operand src2, int8_t cmp)
 
 AVX_CMP_P (vcmpeq, 0x0)
 
 AVX_CMP_P (vcmplt, 0x1)
 
 AVX_CMP_P (vcmple, 0x2)
 
 AVX_CMP_P (vcmpneq, 0x4)
 
 AVX_CMP_P (vcmpnlt, 0x5)
 
 AVX_CMP_P (vcmpnle, 0x6)
 
void vlddqu (XMMRegister dst, Operand src)
 
void vpsllw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsrlw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsraw (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpslld (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsrld (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpsrad (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vpextrb (Register dst, XMMRegister src, uint8_t imm8)
 
void vpextrb (Operand dst, XMMRegister src, uint8_t imm8)
 
void vpextrw (Register dst, XMMRegister src, uint8_t imm8)
 
void vpextrw (Operand dst, XMMRegister src, uint8_t imm8)
 
void vpextrd (Register dst, XMMRegister src, uint8_t imm8)
 
void vpextrd (Operand dst, XMMRegister src, uint8_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 vpshufd (XMMRegister dst, XMMRegister src, uint8_t imm8)
 
void vps (byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vps (byte op, XMMRegister dst, XMMRegister src1, Operand src2)
 
void vpd (byte op, XMMRegister dst, XMMRegister src1, XMMRegister src2)
 
void vpd (byte op, XMMRegister dst, XMMRegister src1, Operand 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, byte imm8)
 
void rorxq (Register dst, Operand src, byte imm8)
 
void rorxl (Register dst, Register src, byte imm8)
 
void rorxl (Register dst, Operand src, byte imm8)
 
void lfence ()
 
void pause ()
 
int SizeOfCodeGeneratedSince (Label *label)
 
void RecordComment (const char *msg)
 
void RecordDeoptReason (DeoptimizeReason reason, 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 PatchConstPool ()
 
bool buffer_overflow () const
 
int available_space () const
 
byte byte_at (int pos)
 
void set_byte_at (int pos, byte value)
 
template<>
void EmitHelper (uint8_t x)
 
- Public Member Functions inherited from v8::internal::AssemblerBase
 AssemblerBase (const AssemblerOptions &options, void *buffer, int buffer_size)
 
const AssemblerOptionsoptions () const
 
bool emit_debug_code () const
 
void set_emit_debug_code (bool value)
 
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)
 
int pc_offset () const
 
void Print (Isolate *isolate)
 
- Public Member Functions inherited from v8::internal::Malloced
void * operator new (size_t size)
 
void operator delete (void *p)
 

Static Public Member Functions

static int SafepointRegisterStackIndex (int reg_code)
 
static int SafepointRegisterStackIndex (Register reg)
 
static int CallSizeNotPredictableCodeSize (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
static int CallSizeNotPredictableCodeSize (Address target, RelocInfo::Mode rmode, Condition cond=al)
 
static int SafepointRegisterStackIndex (Register reg)
 
- Static Public Member Functions inherited from v8::internal::TurboAssembler
static int ActivationFrameAlignment ()
 
static bool IsNearCallOffset (int64_t offset)
 
static unsigned CountClearHalfWords (uint64_t imm, unsigned reg_size)
 
static CPURegList DefaultTmpList ()
 
static CPURegList DefaultFPTmpList ()
 
static bool IsImmMovn (uint64_t imm, unsigned reg_size)
 
static bool IsImmMovz (uint64_t imm, unsigned reg_size)
 
static int ActivationFrameAlignment ()
 
static int InstrCountForLi64Bit (int64_t value)
 
static int ActivationFrameAlignment ()
 
static int ActivationFrameAlignment ()
 
static int ActivationFrameAlignment ()
 
- Static Public Member Functions inherited from v8::internal::TurboAssemblerBase
static int32_t RootRegisterOffsetForRootIndex (RootIndex root_index)
 
static int32_t RootRegisterOffsetForBuiltinIndex (int builtin_index)
 
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 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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static V8_INLINE Address target_address_from_return_address (Address pc)
 
static V8_INLINE Address return_address_from_call_start (Address pc)
 
static void deserialization_set_special_target_at (Address constant_pool_entry, Code code, Address target)
 
static int deserialization_special_target_size (Address location)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
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 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 void set_target_address_at (Address pc, Address constant_pool, Address target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address location, Code code, Address target)
 
static int deserialization_special_target_size (Address location)
 
static void deserialization_set_target_internal_reference_at (Address pc, Address target, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static bool IsConstantPoolAt (Instruction *instr)
 
static int ConstantPoolSizeAt (Instruction *instr)
 
static const charGetSpecialRegisterName (int code)
 
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 bool IsImmAddSub (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 CalcLSDataSize (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 bool IsImmLSUnscaled (int64_t offset)
 
static bool IsImmLSScaled (int64_t offset, unsigned size)
 
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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, 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, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static bool IsNop (Address addr)
 
static Address target_address_at (Address pc)
 
static V8_INLINE void set_target_address_at (Address pc, Address target, 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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void set_target_value_at (Address pc, uint32_t target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static void QuietNaN (HeapObject *nan)
 
static void deserialization_set_special_target_at (Address instruction_payload, 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, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
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)
 
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 IsJicOrJialc (Instr instr)
 
static bool IsMov (Instr instr, Register rd, Register rs)
 
static bool IsJump (Instr instr)
 
static bool IsJ (Instr instr)
 
static bool IsLui (Instr instr)
 
static bool IsOri (Instr instr)
 
static bool IsAddu (Instr instr, Register rd, Register rs, Register rt)
 
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 int16_t GetJicOrJialcOffset (Instr instr)
 
static int16_t GetLuiOffset (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 uint32_t CreateTargetAddress (Instr instr_lui, Instr instr_jic)
 
static void UnpackTargetAddress (uint32_t address, int16_t &lui_offset, int16_t &jic_offset)
 
static void UnpackTargetAddressUnsigned (uint32_t address, uint32_t &lui_offset, uint32_t &jic_offset)
 
static bool IsAndImmediate (Instr instr)
 
static bool IsEmittedConstant (Instr instr)
 
static bool IsCompactBranchSupported ()
 
static Address target_address_at (Address pc)
 
static V8_INLINE void set_target_address_at (Address pc, Address target, 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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static void set_target_value_at (Address pc, uint64_t target, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static void JumpLabelToJumpRegister (Address pc)
 
static void QuietNaN (HeapObject *nan)
 
static void deserialization_set_special_target_at (Address instruction_payload, 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, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static int RelocateInternalReference (RelocInfo::Mode rmode, Address pc, intptr_t pc_delta)
 
static Instr instr_at (Address pc)
 
static void instr_at_put (Address pc, Instr instr)
 
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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static V8_INLINE Address return_address_from_call_start (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, 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, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
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 Is32BitLoadIntoR12 (Instr instr1, Instr instr2)
 
static bool IsCmpRegister (Instr instr)
 
static bool IsCmpImmediate (Instr instr)
 
static bool IsRlwinm (Instr instr)
 
static bool IsAndi (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 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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static V8_INLINE Address return_address_from_call_start (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, 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, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static SixByteInstr instr_at (byte *pc)
 
static Condition GetCondition (Instr instr)
 
static bool IsBranch (Instr instr)
 
static bool Is32BitLoadIntoIP (SixByteInstr instr)
 
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, ICacheFlushMode icache_flush_mode=FLUSH_ICACHE_IF_NEEDED)
 
static Address target_address_from_return_address (Address pc)
 
static void deserialization_set_special_target_at (Address instruction_payload, 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, RelocInfo::Mode mode=RelocInfo::INTERNAL_REFERENCE)
 
static bool UseConstPoolFor (RelocInfo::Mode rmode)
 
static bool IsNop (Address addr)
 
- Static Public Member Functions inherited from v8::internal::AssemblerBase
static void QuietNaN (HeapObject *nan)
 
static void FlushICache (void *start, size_t size)
 
static void FlushICache (Address start, size_t size)
 
static const charGetSpecialRegisterName (int code)
 
- Static Public Member Functions inherited from v8::internal::Malloced
static void * New (size_t size)
 
static void Delete (void *p)
 

Friends

class StandardFrame
 

Additional Inherited Members

- Public Types inherited from v8::internal::TurboAssembler
enum  CopyDoubleWordsMode { kDstLessThanSrc, kSrcLessThanDst }
 
enum  ArgumentsCountMode { kCountIncludesReceiver, kCountExcludesReceiver }
 
enum  AdrHint { kAdrNear, kAdrFar }
 
- 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, 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, 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, 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, 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, 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, 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, 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  FIDBRA_FLAGS {
  FIDBRA_CURRENT_ROUNDING_MODE = 0, FIDBRA_ROUND_TO_NEAREST_AWAY_FROM_0 = 1, FIDBRA_ROUND_TOWARD_0 = 5, FIDBRA_ROUND_TOWARD_POS_INF = 6,
  FIDBRA_ROUND_TOWARD_NEG_INF = 7
}
 
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, 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
 
enum  VectorLength
 
enum  VexW
 
enum  LeadingOpcode
 
- Static Public Attributes inherited from v8::internal::TurboAssembler
static constexpr int kSwitchTablePrologueSize = 10
 
static const int kSwitchTablePrologueSize = 11
 
- Static Public Attributes inherited from v8::internal::Assembler
static constexpr int kSpecialTargetSize = kPointerSize
 
static constexpr int kMaxDistToIntPool = 4 * KB
 
static constexpr int kMinNumPendingConstants = 4
 
static constexpr int kMaxNumPending32Constants
 
static constexpr int kMaxVeneerCodeSize = 1 * kInstrSize
 
static constexpr int kCallTargetAddressOffset = kPointerSize
 
static constexpr byte kTestAlByte = 0xA8
 
static constexpr byte kNopByte = 0x90
 
static constexpr byte kJmpShortOpcode = 0xEB
 
static constexpr byte kJccShortPrefix = 0x70
 
static constexpr byte kJncShortOpcode = kJccShortPrefix | not_carry
 
static constexpr byte kJcShortOpcode = kJccShortPrefix | carry
 
static constexpr byte kJnzShortOpcode = kJccShortPrefix | not_zero
 
static constexpr byte kJzShortOpcode = kJccShortPrefix | zero
 
static constexpr int kMaximalBufferSize = 512 * MB
 
static constexpr int kBranchPCOffset = kInstrSize
 
static constexpr int kLongBranchPCOffset = 3 * kInstrSize
 
static constexpr int kOptimizedBranchAndLinkLongReturnOffset = 3 * kInstrSize
 
static constexpr int kRelativeJumpForBuiltinsOffset = 1 * kInstrSize
 
static constexpr int kRelativeCallForBuiltinsOffset = 3 * kInstrSize
 
static constexpr int kInstructionsFor32BitConstant = 2
 
static constexpr int kMaxBranchOffset = (1 << (18 - 1)) - 1
 
static constexpr int kMaxCompactBranchOffset = (1 << (28 - 1)) - 1
 
static constexpr int kTrampolineSlotsSize
 
static constexpr int kInstructionsFor64BitConstant = 4
 
static constexpr int kPcLoadDelta = 4
 
static constexpr int kMovInstructionsConstantPool = 1
 
static constexpr int kMovInstructionsNoConstantPool = 2
 
static constexpr int kTaggedLoadInstructions = 1
 
static constexpr int kMovInstructions
 
static constexpr int kBytesForPtrConstant = 6
 
static constexpr int kCallSequenceLength = 8
 
static constexpr int kCallScratchRegisterInstructionLength = 3
 
static constexpr int kMoveAddressIntoScratchRegisterInstructionLength
 
static constexpr byte kTestEaxByte = 0xA9
 
- Static Public Attributes inherited from v8::internal::AssemblerBase
static const int kMinimalBufferSize = 4*KB
 
- Protected Types inherited from v8::internal::Assembler
enum  OffsetAccessType : bool { SINGLE_ACCESS = false, TWO_ACCESSES = true, SINGLE_ACCESS = false, TWO_ACCESSES = true }
 
enum  OffsetAccessType : bool { SINGLE_ACCESS = false, TWO_ACCESSES = true, SINGLE_ACCESS = false, TWO_ACCESSES = true }
 
- Protected Member Functions inherited from v8::internal::TurboAssembler
void PushHelper (int count, int size, const CPURegister &src0, const CPURegister &src1, const CPURegister &src2, const CPURegister &src3)
 
void PopHelper (int count, int size, const CPURegister &dst0, const CPURegister &dst1, const CPURegister &dst2, const CPURegister &dst3)
 
void ConditionalCompareMacro (const Register &rn, const Operand &operand, StatusFlags nzcv, Condition cond, ConditionalCompareOp op)
 
void AddSubWithCarryMacro (const Register &rd, const Register &rn, const Operand &operand, FlagsUpdate S, AddSubWithCarryOp op)
 
void CallPrintf (int arg_count=0, const CPURegister *args=nullptr)
 
void BranchLong (Label *L, BranchDelaySlot bdslot)
 
Register GetRtAsRegisterHelper (const Operand &rt, Register scratch)
 
int32_t GetOffset (int32_t offset, Label *L, OffsetSize bits)
 
Register GetRtAsRegisterHelper (const Operand &rt, Register scratch)
 
int32_t GetOffset (int32_t offset, Label *L, OffsetSize bits)
 
Register GetSmiConstant (Smi value)
 
void CallRecordWriteStub (Register object, Register address, RememberedSetAction remembered_set_action, SaveFPRegsMode fp_mode, Handle< Code > code_target, Address wasm_target)
 
- Protected Member Functions inherited from v8::internal::TurboAssemblerBase
 TurboAssemblerBase (const AssemblerOptions &options, void *buffer, int buffer_size)
 
 TurboAssemblerBase (Isolate *isolate, const AssemblerOptions &options, void *buffer, int buffer_size, CodeObjectRequired create_code_object)
 
void RecordCommentForOffHeapTrampoline (int builtin_index)
 
 DISALLOW_IMPLICIT_CONSTRUCTORS (TurboAssemblerBase)
 
- 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 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 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 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)
 
byte * addr_at (int pos)
 
void lsa (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)
 
int32_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 EmitForbiddenSlotInstruction ()
 
void CheckTrampolinePoolQuick (int extra_instructions=0)
 
void CheckBuffer ()
 
void GenPCRelativeJump (Register tf, Register ts, int32_t imm32, RelocInfo::Mode rmode, BranchDelaySlot bdslot)
 
void GenPCRelativeJumpAndLink (Register t, int32_t imm32, RelocInfo::Mode rmode, BranchDelaySlot bdslot)
 
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
 
bool is_trampoline_emitted () const
 
void StartBlockGrowBuffer ()
 
void EndBlockGrowBuffer ()
 
bool is_buffer_growth_blocked () const
 
void EmitForbiddenSlotInstruction ()
 
void CheckTrampolinePoolQuick (int extra_instructions=0)
 
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 (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
 
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 (Handle< Code > target)
 
Handle< CodeGetCodeTarget (intptr_t code_target_index) const
 
void UpdateCodeTarget (intptr_t code_target_index, Handle< Code > target)
 
void ReserveCodeTargetSpace (size_t num_of_code_targets)
 
void set_constant_pool_available (bool available)
 
void RequestHeapObject (HeapObjectRequest request)
 
bool ShouldRecordRelocInfo (RelocInfo::Mode rmode) const
 
- Static Protected Member Functions inherited from v8::internal::Assembler
static bool IsImmLSPair (int64_t offset, unsigned size)
 
static bool IsImmConditionalCompare (int64_t immediate)
 
static bool IsImmFP32 (float imm)
 
static bool IsImmFP64 (double imm)
 
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 int32_t GetLuiOriImmediate (Instr instr1, Instr instr2)
 
static void set_target_internal_reference_encoded_at (Address pc, Address target)
 
- Protected Attributes inherited from v8::internal::TurboAssembler
int smi_count = 0
 
int heap_object_count = 0
 
- Protected Attributes inherited from v8::internal::TurboAssemblerBase
Isolate *const isolate_ = nullptr
 
Handle< HeapObjectcode_object_
 
bool root_array_available_ = true
 
bool trap_on_abort_ = FLAG_trap_on_abort
 
bool hard_abort_ = false
 
int maybe_builtin_index_ = Builtins::kNoBuiltinId
 
bool has_frame_ = false
 
- Protected Attributes inherited from v8::internal::Assembler
RelocInfoWriter reloc_info_writer
 
std::vector< ConstantPoolEntrypending_32_bit_constants_
 
RegList scratch_register_list_
 
VfpRegList scratch_vfp_register_list_
 
std::multimap< int, FarBranchInfounresolved_branches_
 
int next_veneer_pool_check_
 
- Protected Attributes inherited from v8::internal::AssemblerBase
byte * buffer_
 
int buffer_size_
 
bool own_buffer_
 
std::forward_list< HeapObjectRequestheap_object_requests_
 
byte * pc_
 
- 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 582 of file macro-assembler-arm.h.


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