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 T>
bool F_Load (T inst, const fltSemantics &(*semantics)(), unsigned int numBits)
bool operator() (FLW inst)
template<typename T>
bool F_Store (T 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 730 of file EmulateInstructionRISCV.cpp.

Member Enumeration Documentation

◆ F_CMP

Enumerator
FEQ 
FLT 
FLE 

Definition at line 1489 of file EmulateInstructionRISCV.cpp.

Constructor & Destructor Documentation

◆ Executor()

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

Definition at line 743 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 740 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 T>
bool lldb_private::Executor::F_Load ( T inst,
const fltSemantics &(* semantics )(),
unsigned int numBits )
inline

Definition at line 1332 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 1439 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 1404 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 1418 of file EmulateInstructionRISCV.cpp.

References m_emu, and lldb_private::zipOpt().

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

◆ F_Store()

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

Definition at line 1344 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 1530 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 1470 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 1582 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 1357 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [1/146]

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

Definition at line 884 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 996 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [4/146]

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

Definition at line 1028 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 960 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 876 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [25/146]

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

Definition at line 747 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 1119 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 1135 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 1200 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 1184 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 1694 of file EmulateInstructionRISCV.cpp.

◆ operator()() [32/146]

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

Definition at line 1625 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [33/146]

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

Definition at line 1396 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [34/146]

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

Definition at line 1659 of file EmulateInstructionRISCV.cpp.

References FCLASS().

◆ operator()() [35/146]

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

Definition at line 1564 of file EmulateInstructionRISCV.cpp.

References FCLASS().

◆ operator()() [36/146]

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

Definition at line 1683 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 1686 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 1647 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [39/146]

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

Definition at line 1668 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 1671 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 1674 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [42/146]

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

Definition at line 1605 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [43/146]

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

Definition at line 1678 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [44/146]

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

Definition at line 1609 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [45/146]

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

Definition at line 1638 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [46/146]

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

Definition at line 1613 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 1616 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 1575 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 1578 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 1660 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [51/146]

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

Definition at line 1462 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [52/146]

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

Definition at line 1664 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [53/146]

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

Definition at line 1466 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [54/146]

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

Definition at line 1628 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [55/146]

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

Definition at line 1399 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [56/146]

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

Definition at line 1656 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FEQ.

◆ operator()() [57/146]

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

Definition at line 1527 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FEQ.

◆ operator()() [58/146]

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

Definition at line 1619 of file EmulateInstructionRISCV.cpp.

References F_Load().

◆ operator()() [59/146]

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

Definition at line 1658 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLE.

◆ operator()() [60/146]

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

Definition at line 1529 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLE.

◆ operator()() [61/146]

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

Definition at line 1657 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLT.

◆ operator()() [62/146]

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

Definition at line 1528 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLT.

◆ operator()() [63/146]

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

Definition at line 1343 of file EmulateInstructionRISCV.cpp.

References F_Load().

◆ operator()() [64/146]

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

Definition at line 1621 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [65/146]

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

Definition at line 1377 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [66/146]

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

Definition at line 1637 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [67/146]

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

Definition at line 1461 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [68/146]

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

Definition at line 1636 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [69/146]

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

Definition at line 1460 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [70/146]

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

Definition at line 1622 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [71/146]

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

Definition at line 1378 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [72/146]

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

Definition at line 1627 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [73/146]

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

Definition at line 1398 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [74/146]

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

Definition at line 1689 of file EmulateInstructionRISCV.cpp.

References FMV_i2f().

◆ operator()() [75/146]

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

Definition at line 1593 of file EmulateInstructionRISCV.cpp.

References FMV_i2f().

◆ operator()() [76/146]

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

Definition at line 1682 of file EmulateInstructionRISCV.cpp.

References FMV_f2i().

◆ operator()() [77/146]

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

Definition at line 1488 of file EmulateInstructionRISCV.cpp.

References FMV_f2i().

◆ operator()() [78/146]

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

Definition at line 1624 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [79/146]

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

Definition at line 1380 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [80/146]

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

Definition at line 1623 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [81/146]

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

Definition at line 1379 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [82/146]

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

Definition at line 1620 of file EmulateInstructionRISCV.cpp.

References F_Store().

◆ operator()() [83/146]

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

Definition at line 1633 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [84/146]

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

Definition at line 1416 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [85/146]

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

Definition at line 1634 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [86/146]

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

Definition at line 1417 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [87/146]

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

Definition at line 1635 of file EmulateInstructionRISCV.cpp.

References F_SignInjXor().

◆ operator()() [88/146]

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

Definition at line 1437 of file EmulateInstructionRISCV.cpp.

References F_SignInjXor().

◆ operator()() [89/146]

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

Definition at line 1629 of file EmulateInstructionRISCV.cpp.

◆ operator()() [90/146]

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

Definition at line 1400 of file EmulateInstructionRISCV.cpp.

◆ operator()() [91/146]

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

Definition at line 1626 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [92/146]

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

Definition at line 1397 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [93/146]

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

Definition at line 1356 of file EmulateInstructionRISCV.cpp.

References F_Store().

◆ operator()() [94/146]

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

Definition at line 1695 of file EmulateInstructionRISCV.cpp.

◆ operator()() [95/146]

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

Definition at line 1692 of file EmulateInstructionRISCV.cpp.

◆ operator()() [96/146]

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

Definition at line 755 of file EmulateInstructionRISCV.cpp.

References m_emu, and pc.

◆ operator()() [97/146]

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

Definition at line 763 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 785 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 794 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 971 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 788 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 797 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 1244 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 1243 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 746 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 791 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 968 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 1074 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 1082 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 1094 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 1107 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 1175 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 1696 of file EmulateInstructionRISCV.cpp.

◆ operator()() [114/146]

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

Definition at line 952 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 868 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [116/146]

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

Definition at line 1147 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 1163 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 1229 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 1213 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 1693 of file EmulateInstructionRISCV.cpp.

◆ operator()() [121/146]

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

Definition at line 800 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 1248 of file EmulateInstructionRISCV.cpp.

◆ operator()() [123/146]

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

Definition at line 1245 of file EmulateInstructionRISCV.cpp.

◆ operator()() [124/146]

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

Definition at line 974 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 801 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 900 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 975 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [128/146]

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

Definition at line 1004 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [129/146]

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

Definition at line 1046 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 909 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 844 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [132/146]

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

Definition at line 852 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [133/146]

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

Definition at line 918 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 943 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 989 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [136/146]

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

Definition at line 1020 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [137/146]

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

Definition at line 1064 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 934 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 982 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [140/146]

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

Definition at line 1012 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [141/146]

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

Definition at line 1055 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 892 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 1037 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 802 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 926 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 860 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 732 of file EmulateInstructionRISCV.cpp.

Referenced by Executor().

◆ m_is_rvc

bool lldb_private::Executor::m_is_rvc
private

Definition at line 733 of file EmulateInstructionRISCV.cpp.

Referenced by delta(), and Executor().


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