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 732 of file EmulateInstructionRISCV.cpp.

Member Enumeration Documentation

◆ F_CMP

Enumerator
FEQ 
FLT 
FLE 

Definition at line 1495 of file EmulateInstructionRISCV.cpp.

Constructor & Destructor Documentation

◆ Executor()

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

Definition at line 745 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 742 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 1334 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 1445 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 1410 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 1424 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 1349 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 1536 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 1476 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 1588 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 1363 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [1/146]

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

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

References m_emu.

◆ operator()() [4/146]

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

Definition at line 1030 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 962 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 878 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [25/146]

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

Definition at line 749 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 1121 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 1137 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 1202 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 1186 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 1702 of file EmulateInstructionRISCV.cpp.

◆ operator()() [32/146]

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

Definition at line 1633 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [33/146]

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

Definition at line 1402 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [34/146]

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

Definition at line 1667 of file EmulateInstructionRISCV.cpp.

References FCLASS().

◆ operator()() [35/146]

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

Definition at line 1570 of file EmulateInstructionRISCV.cpp.

References FCLASS().

◆ operator()() [36/146]

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

Definition at line 1691 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 1694 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 1655 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [39/146]

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

Definition at line 1676 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 1679 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 1682 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [42/146]

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

Definition at line 1611 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [43/146]

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

Definition at line 1686 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [44/146]

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

Definition at line 1615 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [45/146]

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

Definition at line 1646 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [46/146]

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

Definition at line 1619 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 1622 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 1581 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 1584 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 1668 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [51/146]

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

Definition at line 1468 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [52/146]

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

Definition at line 1672 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [53/146]

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

Definition at line 1472 of file EmulateInstructionRISCV.cpp.

References FCVT_i2f().

◆ operator()() [54/146]

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

Definition at line 1636 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [55/146]

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

Definition at line 1405 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [56/146]

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

Definition at line 1664 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FEQ.

◆ operator()() [57/146]

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

Definition at line 1533 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FEQ.

◆ operator()() [58/146]

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

Definition at line 1625 of file EmulateInstructionRISCV.cpp.

References F_Load().

◆ operator()() [59/146]

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

Definition at line 1666 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLE.

◆ operator()() [60/146]

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

Definition at line 1535 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLE.

◆ operator()() [61/146]

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

Definition at line 1665 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLT.

◆ operator()() [62/146]

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

Definition at line 1534 of file EmulateInstructionRISCV.cpp.

References F_Compare(), and FLT.

◆ operator()() [63/146]

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

Definition at line 1346 of file EmulateInstructionRISCV.cpp.

References F_Load().

◆ operator()() [64/146]

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

Definition at line 1629 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [65/146]

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

Definition at line 1383 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [66/146]

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

Definition at line 1645 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [67/146]

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

Definition at line 1467 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [68/146]

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

Definition at line 1644 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [69/146]

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

Definition at line 1466 of file EmulateInstructionRISCV.cpp.

References F_MAX_MIN().

◆ operator()() [70/146]

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

Definition at line 1630 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [71/146]

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

Definition at line 1384 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [72/146]

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

Definition at line 1635 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [73/146]

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

Definition at line 1404 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [74/146]

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

Definition at line 1697 of file EmulateInstructionRISCV.cpp.

References FMV_i2f().

◆ operator()() [75/146]

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

Definition at line 1599 of file EmulateInstructionRISCV.cpp.

References FMV_i2f().

◆ operator()() [76/146]

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

Definition at line 1690 of file EmulateInstructionRISCV.cpp.

References FMV_f2i().

◆ operator()() [77/146]

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

Definition at line 1494 of file EmulateInstructionRISCV.cpp.

References FMV_f2i().

◆ operator()() [78/146]

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

Definition at line 1632 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [79/146]

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

Definition at line 1386 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [80/146]

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

Definition at line 1631 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [81/146]

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

Definition at line 1385 of file EmulateInstructionRISCV.cpp.

References FMA().

◆ operator()() [82/146]

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

Definition at line 1628 of file EmulateInstructionRISCV.cpp.

References F_Store().

◆ operator()() [83/146]

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

Definition at line 1641 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [84/146]

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

Definition at line 1422 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [85/146]

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

Definition at line 1642 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [86/146]

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

Definition at line 1423 of file EmulateInstructionRISCV.cpp.

References F_SignInj().

◆ operator()() [87/146]

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

Definition at line 1643 of file EmulateInstructionRISCV.cpp.

References F_SignInjXor().

◆ operator()() [88/146]

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

Definition at line 1443 of file EmulateInstructionRISCV.cpp.

References F_SignInjXor().

◆ operator()() [89/146]

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

Definition at line 1637 of file EmulateInstructionRISCV.cpp.

◆ operator()() [90/146]

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

Definition at line 1406 of file EmulateInstructionRISCV.cpp.

◆ operator()() [91/146]

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

Definition at line 1634 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [92/146]

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

Definition at line 1403 of file EmulateInstructionRISCV.cpp.

References F_Op().

◆ operator()() [93/146]

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

Definition at line 1362 of file EmulateInstructionRISCV.cpp.

References F_Store().

◆ operator()() [94/146]

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

Definition at line 1703 of file EmulateInstructionRISCV.cpp.

◆ operator()() [95/146]

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

Definition at line 1700 of file EmulateInstructionRISCV.cpp.

◆ operator()() [96/146]

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

Definition at line 757 of file EmulateInstructionRISCV.cpp.

References m_emu, and pc.

◆ operator()() [97/146]

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

Definition at line 765 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 787 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 796 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 973 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 790 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 799 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 1246 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 1245 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 748 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 793 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 970 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 1076 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 1084 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 1096 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 1109 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 1177 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 1704 of file EmulateInstructionRISCV.cpp.

◆ operator()() [114/146]

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

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

References m_emu.

◆ operator()() [116/146]

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

Definition at line 1149 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 1165 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 1231 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 1215 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 1701 of file EmulateInstructionRISCV.cpp.

◆ operator()() [121/146]

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

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

◆ operator()() [123/146]

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

Definition at line 1247 of file EmulateInstructionRISCV.cpp.

◆ operator()() [124/146]

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

Definition at line 976 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 803 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 902 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 977 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [128/146]

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

Definition at line 1006 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [129/146]

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

Definition at line 1048 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 911 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 846 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [132/146]

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

Definition at line 854 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [133/146]

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

Definition at line 920 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 945 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 991 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [136/146]

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

Definition at line 1022 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [137/146]

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

Definition at line 1066 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 936 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 984 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [140/146]

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

Definition at line 1014 of file EmulateInstructionRISCV.cpp.

References m_emu.

◆ operator()() [141/146]

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

Definition at line 1057 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 894 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 1039 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 804 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 928 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 862 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 734 of file EmulateInstructionRISCV.cpp.

Referenced by Executor().

◆ m_is_rvc

bool lldb_private::Executor::m_is_rvc
private

Definition at line 735 of file EmulateInstructionRISCV.cpp.

Referenced by delta(), and Executor().


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