LLDB mainline
lldb_private::Executor Class Reference

Public Types

enum  F_CMP { FEQ , FLT , FLE }

Public Member Functions

 Executor (EmulateInstructionRISCV &emulator, bool ignoreCond, bool is_rvc)
bool operator() (LUI inst)
bool operator() (AUIPC inst)
bool operator() (JAL inst)
bool operator() (JALR inst)
bool operator() (B inst)
bool operator() (LB inst)
bool operator() (LH inst)
bool operator() (LW inst)
bool operator() (LBU inst)
bool operator() (LHU inst)
bool operator() (SB inst)
bool operator() (SH inst)
bool operator() (SW inst)
bool operator() (ADDI inst)
bool operator() (SLTI inst)
bool operator() (SLTIU inst)
bool operator() (XORI inst)
bool operator() (ORI inst)
bool operator() (ANDI inst)
bool operator() (ADD inst)
bool operator() (SUB inst)
bool operator() (SLL inst)
bool operator() (SLT inst)
bool operator() (SLTU inst)
bool operator() (XOR inst)
bool operator() (SRL inst)
bool operator() (SRA inst)
bool operator() (OR inst)
bool operator() (AND inst)
bool operator() (LWU inst)
bool operator() (LD inst)
bool operator() (SD inst)
bool operator() (SLLI inst)
bool operator() (SRLI inst)
bool operator() (SRAI inst)
bool operator() (ADDIW inst)
bool operator() (SLLIW inst)
bool operator() (SRLIW inst)
bool operator() (SRAIW inst)
bool operator() (ADDW inst)
bool operator() (SUBW inst)
bool operator() (SLLW inst)
bool operator() (SRLW inst)
bool operator() (SRAW inst)
bool operator() (MUL inst)
bool operator() (MULH inst)
bool operator() (MULHSU inst)
bool operator() (MULHU inst)
bool operator() (DIV inst)
bool operator() (DIVU inst)
bool operator() (REM inst)
bool operator() (REMU inst)
bool operator() (MULW inst)
bool operator() (DIVW inst)
bool operator() (DIVUW inst)
bool operator() (REMW inst)
bool operator() (REMUW inst)
bool operator() (LR_W)
bool operator() (LR_D)
bool operator() (SC_W)
bool operator() (SC_D)
bool operator() (AMOSWAP_W inst)
bool operator() (AMOADD_W inst)
bool operator() (AMOXOR_W inst)
bool operator() (AMOAND_W inst)
bool operator() (AMOOR_W inst)
bool operator() (AMOMIN_W inst)
bool operator() (AMOMAX_W inst)
bool operator() (AMOMINU_W inst)
bool operator() (AMOMAXU_W inst)
bool operator() (AMOSWAP_D inst)
bool operator() (AMOADD_D inst)
bool operator() (AMOXOR_D inst)
bool operator() (AMOAND_D inst)
bool operator() (AMOOR_D inst)
bool operator() (AMOMIN_D inst)
bool operator() (AMOMAX_D inst)
bool operator() (AMOMINU_D inst)
bool operator() (AMOMAXU_D inst)
template<typename I, typename T>
bool F_Load (I inst, const fltSemantics &(*semantics)())
bool operator() (FLW inst)
template<typename I, typename T>
bool F_Store (I inst, bool isDouble)
bool operator() (FSW inst)
std::tuple< bool, APFloat > FusedMultiplyAdd (APFloat rs1, APFloat rs2, APFloat rs3)
template<typename T>
bool FMA (T inst, bool isDouble, float rs2_sign, float rs3_sign)
bool operator() (FMADD_S inst)
bool operator() (FMSUB_S inst)
bool operator() (FNMSUB_S inst)
bool operator() (FNMADD_S inst)
template<typename T>
bool F_Op (T inst, bool isDouble, APFloat::opStatus(APFloat::*f)(const APFloat &RHS, APFloat::roundingMode RM))
bool operator() (FADD_S inst)
bool operator() (FSUB_S inst)
bool operator() (FMUL_S inst)
bool operator() (FDIV_S inst)
bool operator() (FSQRT_S inst)
template<typename T>
bool F_SignInj (T inst, bool isDouble, bool isNegate)
bool operator() (FSGNJ_S inst)
bool operator() (FSGNJN_S inst)
template<typename T>
bool F_SignInjXor (T inst, bool isDouble)
bool operator() (FSGNJX_S inst)
template<typename T>
bool F_MAX_MIN (T inst, bool isDouble, APFloat(*f)(const APFloat &A, const APFloat &B))
bool operator() (FMIN_S inst)
bool operator() (FMAX_S inst)
bool operator() (FCVT_W_S inst)
bool operator() (FCVT_WU_S inst)
template<typename T>
bool FMV_f2i (T inst, bool isDouble)
bool operator() (FMV_X_W inst)
template<typename T>
bool F_Compare (T inst, bool isDouble, F_CMP cmp)
bool operator() (FEQ_S inst)
bool operator() (FLT_S inst)
bool operator() (FLE_S inst)
template<typename T>
bool FCLASS (T inst, bool isDouble)
bool operator() (FCLASS_S inst)
template<typename T, typename E>
bool FCVT_f2i (T inst, std::optional< E >(Rs::*f)(EmulateInstructionRISCV &emu), const fltSemantics &semantics)
bool operator() (FCVT_S_W inst)
bool operator() (FCVT_S_WU inst)
template<typename T, typename E>
bool FMV_i2f (T inst, unsigned int numBits, E(APInt::*f)() const)
bool operator() (FMV_W_X inst)
template<typename I, typename E, typename T>
bool FCVT_i2f (I inst, bool isDouble, T(APFloat::*f)() const)
bool operator() (FCVT_L_S inst)
bool operator() (FCVT_LU_S inst)
bool operator() (FCVT_S_L inst)
bool operator() (FCVT_S_LU inst)
bool operator() (FLD inst)
bool operator() (FSD inst)
bool operator() (FMADD_D inst)
bool operator() (FMSUB_D inst)
bool operator() (FNMSUB_D inst)
bool operator() (FNMADD_D inst)
bool operator() (FADD_D inst)
bool operator() (FSUB_D inst)
bool operator() (FMUL_D inst)
bool operator() (FDIV_D inst)
bool operator() (FSQRT_D inst)
bool operator() (FSGNJ_D inst)
bool operator() (FSGNJN_D inst)
bool operator() (FSGNJX_D inst)
bool operator() (FMIN_D inst)
bool operator() (FMAX_D inst)
bool operator() (FCVT_S_D inst)
bool operator() (FCVT_D_S inst)
bool operator() (FEQ_D inst)
bool operator() (FLT_D inst)
bool operator() (FLE_D inst)
bool operator() (FCLASS_D inst)
bool operator() (FCVT_W_D inst)
bool operator() (FCVT_WU_D inst)
bool operator() (FCVT_D_W inst)
bool operator() (FCVT_D_WU inst)
bool operator() (FCVT_L_D inst)
bool operator() (FCVT_LU_D inst)
bool operator() (FMV_X_D inst)
bool operator() (FCVT_D_L inst)
bool operator() (FCVT_D_LU inst)
bool operator() (FMV_D_X inst)
bool operator() (INVALID inst)
bool operator() (RESERVED inst)
bool operator() (EBREAK inst)
bool operator() (HINT inst)
bool operator() (NOP inst)

Static Public Member Functions

static uint64_t size (bool is_rvc)

Private Member Functions

uint64_t delta ()

Private Attributes

EmulateInstructionRISCVm_emu
bool m_ignore_cond
bool m_is_rvc

Detailed Description

Definition at line 733 of file EmulateInstructionRISCV.cpp.

Member Enumeration Documentation

◆ F_CMP

Enumerator
FEQ 
FLT 
FLE 

Definition at line 1496 of file EmulateInstructionRISCV.cpp.

Constructor & Destructor Documentation

◆ Executor()

lldb_private::Executor::Executor ( EmulateInstructionRISCV & emulator,
bool ignoreCond,
bool is_rvc )
inline

Definition at line 746 of file EmulateInstructionRISCV.cpp.

References m_emu, m_ignore_cond, and m_is_rvc.

Member Function Documentation

◆ delta()

uint64_t lldb_private::Executor::delta ( )
inlineprivate

Definition at line 743 of file EmulateInstructionRISCV.cpp.

References m_is_rvc, and size().

◆ F_Compare()

template<typename T>
bool lldb_private::Executor::F_Compare ( T inst,
bool isDouble,
F_CMP cmp )
inline

◆ F_Load()

template<typename I, typename T>
bool lldb_private::Executor::F_Load ( I inst,
const fltSemantics &(* semantics )() )
inline

Definition at line 1335 of file EmulateInstructionRISCV.cpp.

References m_emu.

Referenced by operator()(), and operator()().

◆ F_MAX_MIN()

template<typename T>
bool lldb_private::Executor::F_MAX_MIN ( T inst,
bool isDouble,
APFloat(* )(const APFloat &A, const APFloat &B) )
inline

Definition at line 1446 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

Referenced by operator()(), operator()(), operator()(), and operator()().

◆ F_Op()

template<typename T>
bool lldb_private::Executor::F_Op ( T inst,
bool isDouble,
APFloat::opStatus(APFloat::* )(const APFloat &RHS, APFloat::roundingMode RM) )
inline

◆ F_SignInj()

template<typename T>
bool lldb_private::Executor::F_SignInj ( T inst,
bool isDouble,
bool isNegate )
inline

Definition at line 1411 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

Referenced by operator()(), operator()(), operator()(), and operator()().

◆ F_SignInjXor()

template<typename T>
bool lldb_private::Executor::F_SignInjXor ( T inst,
bool isDouble )
inline

Definition at line 1425 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

Referenced by operator()(), and operator()().

◆ F_Store()

template<typename I, typename T>
bool lldb_private::Executor::F_Store ( I inst,
bool isDouble )
inline

Definition at line 1350 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

Referenced by operator()(), and operator()().

◆ FCLASS()

template<typename T>
bool lldb_private::Executor::FCLASS ( T inst,
bool isDouble )
inline

Definition at line 1537 of file EmulateInstructionRISCV.cpp.

References m_emu.

Referenced by operator()(), and operator()().

◆ FCVT_f2i()

template<typename T, typename E>
bool lldb_private::Executor::FCVT_f2i ( T inst,
std::optional< E >(Rs::* )(EmulateInstructionRISCV &emu),
const fltSemantics & semantics )
inline

◆ FCVT_i2f()

template<typename I, typename E, typename T>
bool lldb_private::Executor::FCVT_i2f ( I inst,
bool isDouble,
T(APFloat::* )() const )
inline

◆ FMA()

template<typename T>
bool lldb_private::Executor::FMA ( T inst,
bool isDouble,
float rs2_sign,
float rs3_sign )
inline

◆ FMV_f2i()

template<typename T>
bool lldb_private::Executor::FMV_f2i ( T inst,
bool isDouble )
inline

Definition at line 1477 of file EmulateInstructionRISCV.cpp.

References lldb_private::bits(), and m_emu.

Referenced by operator()(), and operator()().

◆ FMV_i2f()

template<typename T, typename E>
bool lldb_private::Executor::FMV_i2f ( T inst,
unsigned int numBits,
E(APInt::* )() const )
inline

Definition at line 1589 of file EmulateInstructionRISCV.cpp.

References m_emu.

Referenced by operator()(), and operator()().

◆ FusedMultiplyAdd()

std::tuple< bool, APFloat > lldb_private::Executor::FusedMultiplyAdd ( APFloat rs1,
APFloat rs2,
APFloat rs3 )
inline

Definition at line 1364 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [1/146]

bool lldb_private::Executor::operator() ( ADD inst)
inline

Definition at line 887 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [2/146]

◆ operator()() [3/146]

bool lldb_private::Executor::operator() ( ADDIW inst)
inline

Definition at line 999 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [4/146]

bool lldb_private::Executor::operator() ( ADDW inst)
inline

Definition at line 1031 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [5/146]

bool lldb_private::Executor::operator() ( AMOADD_D inst)
inline

◆ operator()() [6/146]

bool lldb_private::Executor::operator() ( AMOADD_W inst)
inline

◆ operator()() [7/146]

bool lldb_private::Executor::operator() ( AMOAND_D inst)
inline

◆ operator()() [8/146]

bool lldb_private::Executor::operator() ( AMOAND_W inst)
inline

◆ operator()() [9/146]

bool lldb_private::Executor::operator() ( AMOMAX_D inst)
inline

◆ operator()() [10/146]

bool lldb_private::Executor::operator() ( AMOMAX_W inst)
inline

◆ operator()() [11/146]

bool lldb_private::Executor::operator() ( AMOMAXU_D inst)
inline

◆ operator()() [12/146]

bool lldb_private::Executor::operator() ( AMOMAXU_W inst)
inline

◆ operator()() [13/146]

bool lldb_private::Executor::operator() ( AMOMIN_D inst)
inline

◆ operator()() [14/146]

bool lldb_private::Executor::operator() ( AMOMIN_W inst)
inline

◆ operator()() [15/146]

bool lldb_private::Executor::operator() ( AMOMINU_D inst)
inline

◆ operator()() [16/146]

bool lldb_private::Executor::operator() ( AMOMINU_W inst)
inline

◆ operator()() [17/146]

bool lldb_private::Executor::operator() ( AMOOR_D inst)
inline

◆ operator()() [18/146]

bool lldb_private::Executor::operator() ( AMOOR_W inst)
inline

◆ operator()() [19/146]

bool lldb_private::Executor::operator() ( AMOSWAP_D inst)
inline

◆ operator()() [20/146]

bool lldb_private::Executor::operator() ( AMOSWAP_W inst)
inline

◆ operator()() [21/146]

bool lldb_private::Executor::operator() ( AMOXOR_D inst)
inline

◆ operator()() [22/146]

bool lldb_private::Executor::operator() ( AMOXOR_W inst)
inline

◆ operator()() [23/146]

bool lldb_private::Executor::operator() ( AND inst)
inline

Definition at line 963 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [24/146]

bool lldb_private::Executor::operator() ( ANDI inst)
inline

Definition at line 879 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [25/146]

bool lldb_private::Executor::operator() ( AUIPC inst)
inline

Definition at line 750 of file EmulateInstructionRISCV.cpp.

References m_emu, and pc.

◆ operator()() [26/146]

bool lldb_private::Executor::operator() ( B inst)
inline

◆ operator()() [27/146]

bool lldb_private::Executor::operator() ( DIV inst)
inline

Definition at line 1122 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [28/146]

bool lldb_private::Executor::operator() ( DIVU inst)
inline

Definition at line 1138 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [29/146]

bool lldb_private::Executor::operator() ( DIVUW inst)
inline

Definition at line 1203 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [30/146]

bool lldb_private::Executor::operator() ( DIVW inst)
inline

Definition at line 1187 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [31/146]

bool lldb_private::Executor::operator() ( EBREAK inst)
inline

Definition at line 1703 of file EmulateInstructionRISCV.cpp.

◆ operator()() [32/146]

bool lldb_private::Executor::operator() ( FADD_D inst)
inline

Definition at line 1634 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [33/146]

bool lldb_private::Executor::operator() ( FADD_S inst)
inline

Definition at line 1403 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [34/146]

bool lldb_private::Executor::operator() ( FCLASS_D inst)
inline

Definition at line 1668 of file EmulateInstructionRISCV.cpp.

References FCLASS().

◆ operator()() [35/146]

bool lldb_private::Executor::operator() ( FCLASS_S inst)
inline

Definition at line 1571 of file EmulateInstructionRISCV.cpp.

References FCLASS().

◆ operator()() [36/146]

bool lldb_private::Executor::operator() ( FCVT_D_L inst)
inline

Definition at line 1692 of file EmulateInstructionRISCV.cpp.

References FCVT_f2i(), and lldb_private::Rs::ReadI64().

◆ operator()() [37/146]

bool lldb_private::Executor::operator() ( FCVT_D_LU inst)
inline

Definition at line 1695 of file EmulateInstructionRISCV.cpp.

References FCVT_f2i(), and lldb_private::Rs::Read().

◆ operator()() [38/146]

bool lldb_private::Executor::operator() ( FCVT_D_S inst)
inline

Definition at line 1656 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [39/146]

bool lldb_private::Executor::operator() ( FCVT_D_W inst)
inline

Definition at line 1677 of file EmulateInstructionRISCV.cpp.

References FCVT_f2i(), and lldb_private::Rs::ReadI32().

◆ operator()() [40/146]

bool lldb_private::Executor::operator() ( FCVT_D_WU inst)
inline

Definition at line 1680 of file EmulateInstructionRISCV.cpp.

References FCVT_f2i(), and lldb_private::Rs::ReadU32().

◆ operator()() [41/146]

bool lldb_private::Executor::operator() ( FCVT_L_D inst)
inline

Definition at line 1683 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [42/146]

bool lldb_private::Executor::operator() ( FCVT_L_S inst)
inline

Definition at line 1612 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [43/146]

bool lldb_private::Executor::operator() ( FCVT_LU_D inst)
inline

Definition at line 1687 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [44/146]

bool lldb_private::Executor::operator() ( FCVT_LU_S inst)
inline

Definition at line 1616 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [45/146]

bool lldb_private::Executor::operator() ( FCVT_S_D inst)
inline

Definition at line 1647 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [46/146]

bool lldb_private::Executor::operator() ( FCVT_S_L inst)
inline

Definition at line 1620 of file EmulateInstructionRISCV.cpp.

References FCVT_f2i(), and lldb_private::Rs::ReadI64().

◆ operator()() [47/146]

bool lldb_private::Executor::operator() ( FCVT_S_LU inst)
inline

Definition at line 1623 of file EmulateInstructionRISCV.cpp.

References FCVT_f2i(), and lldb_private::Rs::Read().

◆ operator()() [48/146]

bool lldb_private::Executor::operator() ( FCVT_S_W inst)
inline

Definition at line 1582 of file EmulateInstructionRISCV.cpp.

References FCVT_f2i(), and lldb_private::Rs::ReadI32().

◆ operator()() [49/146]

bool lldb_private::Executor::operator() ( FCVT_S_WU inst)
inline

Definition at line 1585 of file EmulateInstructionRISCV.cpp.

References FCVT_f2i(), and lldb_private::Rs::ReadU32().

◆ operator()() [50/146]

bool lldb_private::Executor::operator() ( FCVT_W_D inst)
inline

Definition at line 1669 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [51/146]

bool lldb_private::Executor::operator() ( FCVT_W_S inst)
inline

Definition at line 1469 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [52/146]

bool lldb_private::Executor::operator() ( FCVT_WU_D inst)
inline

Definition at line 1673 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [53/146]

bool lldb_private::Executor::operator() ( FCVT_WU_S inst)
inline

Definition at line 1473 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [54/146]

bool lldb_private::Executor::operator() ( FDIV_D inst)
inline

Definition at line 1637 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [55/146]

bool lldb_private::Executor::operator() ( FDIV_S inst)
inline

Definition at line 1406 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [56/146]

bool lldb_private::Executor::operator() ( FEQ_D inst)
inline

Definition at line 1665 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FEQ.

◆ operator()() [57/146]

bool lldb_private::Executor::operator() ( FEQ_S inst)
inline

Definition at line 1534 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FEQ.

◆ operator()() [58/146]

bool lldb_private::Executor::operator() ( FLD inst)
inline

Definition at line 1626 of file EmulateInstructionRISCV.cpp.

References F_Load().

◆ operator()() [59/146]

bool lldb_private::Executor::operator() ( FLE_D inst)
inline

Definition at line 1667 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLE.

◆ operator()() [60/146]

bool lldb_private::Executor::operator() ( FLE_S inst)
inline

Definition at line 1536 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLE.

◆ operator()() [61/146]

bool lldb_private::Executor::operator() ( FLT_D inst)
inline

Definition at line 1666 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLT.

◆ operator()() [62/146]

bool lldb_private::Executor::operator() ( FLT_S inst)
inline

Definition at line 1535 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLT.

◆ operator()() [63/146]

bool lldb_private::Executor::operator() ( FLW inst)
inline

Definition at line 1347 of file EmulateInstructionRISCV.cpp.

References F_Load().

◆ operator()() [64/146]

bool lldb_private::Executor::operator() ( FMADD_D inst)
inline

Definition at line 1630 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [65/146]

bool lldb_private::Executor::operator() ( FMADD_S inst)
inline

Definition at line 1384 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [66/146]

bool lldb_private::Executor::operator() ( FMAX_D inst)
inline

Definition at line 1646 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [67/146]

bool lldb_private::Executor::operator() ( FMAX_S inst)
inline

Definition at line 1468 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [68/146]

bool lldb_private::Executor::operator() ( FMIN_D inst)
inline

Definition at line 1645 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [69/146]

bool lldb_private::Executor::operator() ( FMIN_S inst)
inline

Definition at line 1467 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [70/146]

bool lldb_private::Executor::operator() ( FMSUB_D inst)
inline

Definition at line 1631 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [71/146]

bool lldb_private::Executor::operator() ( FMSUB_S inst)
inline

Definition at line 1385 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [72/146]

bool lldb_private::Executor::operator() ( FMUL_D inst)
inline

Definition at line 1636 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [73/146]

bool lldb_private::Executor::operator() ( FMUL_S inst)
inline

Definition at line 1405 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [74/146]

bool lldb_private::Executor::operator() ( FMV_D_X inst)
inline

Definition at line 1698 of file EmulateInstructionRISCV.cpp.

References FMV_i2f().

◆ operator()() [75/146]

bool lldb_private::Executor::operator() ( FMV_W_X inst)
inline

Definition at line 1600 of file EmulateInstructionRISCV.cpp.

References FMV_i2f().

◆ operator()() [76/146]

bool lldb_private::Executor::operator() ( FMV_X_D inst)
inline

Definition at line 1691 of file EmulateInstructionRISCV.cpp.

References FMV_f2i().

◆ operator()() [77/146]

bool lldb_private::Executor::operator() ( FMV_X_W inst)
inline

Definition at line 1495 of file EmulateInstructionRISCV.cpp.

References FMV_f2i().

◆ operator()() [78/146]

bool lldb_private::Executor::operator() ( FNMADD_D inst)
inline

Definition at line 1633 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [79/146]

bool lldb_private::Executor::operator() ( FNMADD_S inst)
inline

Definition at line 1387 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [80/146]

bool lldb_private::Executor::operator() ( FNMSUB_D inst)
inline

Definition at line 1632 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [81/146]

bool lldb_private::Executor::operator() ( FNMSUB_S inst)
inline

Definition at line 1386 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [82/146]

bool lldb_private::Executor::operator() ( FSD inst)
inline

Definition at line 1629 of file EmulateInstructionRISCV.cpp.

References F_Store().

◆ operator()() [83/146]

bool lldb_private::Executor::operator() ( FSGNJ_D inst)
inline

Definition at line 1642 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [84/146]

bool lldb_private::Executor::operator() ( FSGNJ_S inst)
inline

Definition at line 1423 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [85/146]

bool lldb_private::Executor::operator() ( FSGNJN_D inst)
inline

Definition at line 1643 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [86/146]

bool lldb_private::Executor::operator() ( FSGNJN_S inst)
inline

Definition at line 1424 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [87/146]

bool lldb_private::Executor::operator() ( FSGNJX_D inst)
inline

Definition at line 1644 of file EmulateInstructionRISCV.cpp.

References F_SignInjXor().

◆ operator()() [88/146]

bool lldb_private::Executor::operator() ( FSGNJX_S inst)
inline

Definition at line 1444 of file EmulateInstructionRISCV.cpp.

References F_SignInjXor().

◆ operator()() [89/146]

bool lldb_private::Executor::operator() ( FSQRT_D inst)
inline

Definition at line 1638 of file EmulateInstructionRISCV.cpp.

◆ operator()() [90/146]

bool lldb_private::Executor::operator() ( FSQRT_S inst)
inline

Definition at line 1407 of file EmulateInstructionRISCV.cpp.

◆ operator()() [91/146]

bool lldb_private::Executor::operator() ( FSUB_D inst)
inline

Definition at line 1635 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [92/146]

bool lldb_private::Executor::operator() ( FSUB_S inst)
inline

Definition at line 1404 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [93/146]

bool lldb_private::Executor::operator() ( FSW inst)
inline

Definition at line 1363 of file EmulateInstructionRISCV.cpp.

References F_Store().

◆ operator()() [94/146]

bool lldb_private::Executor::operator() ( HINT inst)
inline

Definition at line 1704 of file EmulateInstructionRISCV.cpp.

◆ operator()() [95/146]

bool lldb_private::Executor::operator() ( INVALID inst)
inline

Definition at line 1701 of file EmulateInstructionRISCV.cpp.

◆ operator()() [96/146]

bool lldb_private::Executor::operator() ( JAL inst)
inline

Definition at line 758 of file EmulateInstructionRISCV.cpp.

References m_emu, and pc.

◆ operator()() [97/146]

bool lldb_private::Executor::operator() ( JALR inst)
inline

Definition at line 766 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [98/146]

bool lldb_private::Executor::operator() ( LB inst)
inline

Definition at line 788 of file EmulateInstructionRISCV.cpp.

References lldb_private::Load(), m_emu, and lldb_private::SextW().

◆ operator()() [99/146]

bool lldb_private::Executor::operator() ( LBU inst)
inline

Definition at line 797 of file EmulateInstructionRISCV.cpp.

References lldb_private::Load(), m_emu, and lldb_private::ZextD().

◆ operator()() [100/146]

bool lldb_private::Executor::operator() ( LD inst)
inline

Definition at line 974 of file EmulateInstructionRISCV.cpp.

References lldb_private::Load(), m_emu, and lldb_private::ZextD().

◆ operator()() [101/146]

bool lldb_private::Executor::operator() ( LH inst)
inline

Definition at line 791 of file EmulateInstructionRISCV.cpp.

References lldb_private::Load(), m_emu, and lldb_private::SextW().

◆ operator()() [102/146]

bool lldb_private::Executor::operator() ( LHU inst)
inline

Definition at line 800 of file EmulateInstructionRISCV.cpp.

References lldb_private::Load(), m_emu, and lldb_private::ZextD().

◆ operator()() [103/146]

bool lldb_private::Executor::operator() ( LR_D )
inline

Definition at line 1247 of file EmulateInstructionRISCV.cpp.

References lldb_private::AtomicSequence(), and m_emu.

◆ operator()() [104/146]

bool lldb_private::Executor::operator() ( LR_W )
inline

Definition at line 1246 of file EmulateInstructionRISCV.cpp.

References lldb_private::AtomicSequence(), and m_emu.

◆ operator()() [105/146]

bool lldb_private::Executor::operator() ( LUI inst)
inline

Definition at line 749 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::SignExt().

◆ operator()() [106/146]

bool lldb_private::Executor::operator() ( LW inst)
inline

Definition at line 794 of file EmulateInstructionRISCV.cpp.

References lldb_private::Load(), m_emu, and lldb_private::SextW().

◆ operator()() [107/146]

bool lldb_private::Executor::operator() ( LWU inst)
inline

Definition at line 971 of file EmulateInstructionRISCV.cpp.

References lldb_private::Load(), m_emu, and lldb_private::ZextD().

◆ operator()() [108/146]

bool lldb_private::Executor::operator() ( MUL inst)
inline

Definition at line 1077 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [109/146]

bool lldb_private::Executor::operator() ( MULH inst)
inline

Definition at line 1085 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [110/146]

bool lldb_private::Executor::operator() ( MULHSU inst)
inline

Definition at line 1097 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [111/146]

bool lldb_private::Executor::operator() ( MULHU inst)
inline

Definition at line 1110 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [112/146]

bool lldb_private::Executor::operator() ( MULW inst)
inline

Definition at line 1178 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [113/146]

bool lldb_private::Executor::operator() ( NOP inst)
inline

Definition at line 1705 of file EmulateInstructionRISCV.cpp.

◆ operator()() [114/146]

bool lldb_private::Executor::operator() ( OR inst)
inline

Definition at line 955 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [115/146]

bool lldb_private::Executor::operator() ( ORI inst)
inline

Definition at line 871 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [116/146]

bool lldb_private::Executor::operator() ( REM inst)
inline

Definition at line 1150 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [117/146]

bool lldb_private::Executor::operator() ( REMU inst)
inline

Definition at line 1166 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [118/146]

bool lldb_private::Executor::operator() ( REMUW inst)
inline

Definition at line 1232 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [119/146]

bool lldb_private::Executor::operator() ( REMW inst)
inline

Definition at line 1216 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [120/146]

bool lldb_private::Executor::operator() ( RESERVED inst)
inline

Definition at line 1702 of file EmulateInstructionRISCV.cpp.

◆ operator()() [121/146]

bool lldb_private::Executor::operator() ( SB inst)
inline

Definition at line 803 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::Store().

◆ operator()() [122/146]

bool lldb_private::Executor::operator() ( SC_D )
inline

Definition at line 1251 of file EmulateInstructionRISCV.cpp.

◆ operator()() [123/146]

bool lldb_private::Executor::operator() ( SC_W )
inline

Definition at line 1248 of file EmulateInstructionRISCV.cpp.

◆ operator()() [124/146]

bool lldb_private::Executor::operator() ( SD inst)
inline

Definition at line 977 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::Store().

◆ operator()() [125/146]

bool lldb_private::Executor::operator() ( SH inst)
inline

Definition at line 804 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::Store().

◆ operator()() [126/146]

bool lldb_private::Executor::operator() ( SLL inst)
inline

Definition at line 903 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [127/146]

bool lldb_private::Executor::operator() ( SLLI inst)
inline

Definition at line 978 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [128/146]

bool lldb_private::Executor::operator() ( SLLIW inst)
inline

Definition at line 1007 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [129/146]

bool lldb_private::Executor::operator() ( SLLW inst)
inline

Definition at line 1049 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [130/146]

bool lldb_private::Executor::operator() ( SLT inst)
inline

Definition at line 912 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [131/146]

bool lldb_private::Executor::operator() ( SLTI inst)
inline

Definition at line 847 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [132/146]

bool lldb_private::Executor::operator() ( SLTIU inst)
inline

Definition at line 855 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [133/146]

bool lldb_private::Executor::operator() ( SLTU inst)
inline

Definition at line 921 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [134/146]

bool lldb_private::Executor::operator() ( SRA inst)
inline

Definition at line 946 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [135/146]

bool lldb_private::Executor::operator() ( SRAI inst)
inline

Definition at line 992 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [136/146]

bool lldb_private::Executor::operator() ( SRAIW inst)
inline

Definition at line 1023 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [137/146]

bool lldb_private::Executor::operator() ( SRAW inst)
inline

Definition at line 1067 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [138/146]

bool lldb_private::Executor::operator() ( SRL inst)
inline

Definition at line 937 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [139/146]

bool lldb_private::Executor::operator() ( SRLI inst)
inline

Definition at line 985 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [140/146]

bool lldb_private::Executor::operator() ( SRLIW inst)
inline

Definition at line 1015 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [141/146]

bool lldb_private::Executor::operator() ( SRLW inst)
inline

Definition at line 1058 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [142/146]

bool lldb_private::Executor::operator() ( SUB inst)
inline

Definition at line 895 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [143/146]

bool lldb_private::Executor::operator() ( SUBW inst)
inline

Definition at line 1040 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [144/146]

bool lldb_private::Executor::operator() ( SW inst)
inline

Definition at line 805 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::Store().

◆ operator()() [145/146]

bool lldb_private::Executor::operator() ( XOR inst)
inline

Definition at line 929 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

◆ operator()() [146/146]

bool lldb_private::Executor::operator() ( XORI inst)
inline

Definition at line 863 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ size()

uint64_t lldb_private::Executor::size ( bool is_rvc)
inlinestatic

Member Data Documentation

◆ m_emu

◆ m_ignore_cond

bool lldb_private::Executor::m_ignore_cond
private

Definition at line 735 of file EmulateInstructionRISCV.cpp.

Referenced by Executor().

◆ m_is_rvc

bool lldb_private::Executor::m_is_rvc
private

Definition at line 736 of file EmulateInstructionRISCV.cpp.

Referenced by delta(), and Executor().


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