699 sdst = sext<std::numeric_limits<ScalarRegI8>::digits>(
726 sdst = sext<std::numeric_limits<ScalarRegI16>::digits>(
853 Addr pc = gpuDynInst->pc();
1003 scc = wf->
execMask().any() ? 1 : 0;
1030 Wavefront *wf = gpuDynInst->wavefront();
1039 scc = wf->
execMask().any() ? 1 : 0;
1048 :
Inst_SOP1(iFmt,
"s_andn2_saveexec_b64")
1066 Wavefront *wf = gpuDynInst->wavefront();
1075 scc = wf->
execMask().any() ? 1 : 0;
1084 :
Inst_SOP1(iFmt,
"s_orn2_saveexec_b64")
1102 Wavefront *wf = gpuDynInst->wavefront();
1111 scc = wf->
execMask().any() ? 1 : 0;
1120 :
Inst_SOP1(iFmt,
"s_nand_saveexec_b64")
1138 Wavefront *wf = gpuDynInst->wavefront();
1147 scc = wf->
execMask().any() ? 1 : 0;
1174 Wavefront *wf = gpuDynInst->wavefront();
1183 scc = wf->
execMask().any() ? 1 : 0;
1192 :
Inst_SOP1(iFmt,
"s_xnor_saveexec_b64")
1210 Wavefront *wf = gpuDynInst->wavefront();
1219 scc = wf->
execMask().any() ? 1 : 0;
1456 sdst = std::abs(src.
rawData());
Base class for branch operations.
Inst_SOP1__S_ABS_I32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_ANDN2_SAVEEXEC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_ANDN2_SAVEEXEC_B64()
Inst_SOP1__S_AND_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_SOP1__S_AND_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BCNT0_I32_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BCNT0_I32_B32()
Inst_SOP1__S_BCNT0_I32_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BCNT0_I32_B64()
Inst_SOP1__S_BCNT1_I32_B32(InFmt_SOP1 *)
~Inst_SOP1__S_BCNT1_I32_B32()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BCNT1_I32_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BCNT1_I32_B64()
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BITSET0_B32()
Inst_SOP1__S_BITSET0_B32(InFmt_SOP1 *)
Inst_SOP1__S_BITSET0_B64(InFmt_SOP1 *)
~Inst_SOP1__S_BITSET0_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BITSET1_B32()
Inst_SOP1__S_BITSET1_B32(InFmt_SOP1 *)
Inst_SOP1__S_BITSET1_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BITSET1_B64()
Inst_SOP1__S_BREV_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BREV_B64(InFmt_SOP1 *)
Inst_SOP1__S_CBRANCH_JOIN(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_CBRANCH_JOIN()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_CMOV_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_CMOV_B64(InFmt_SOP1 *)
Inst_SOP1__S_FF0_I32_B32(InFmt_SOP1 *)
~Inst_SOP1__S_FF0_I32_B32()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FF0_I32_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_FF0_I32_B64()
~Inst_SOP1__S_FF1_I32_B32()
Inst_SOP1__S_FF1_I32_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FF1_I32_B64(InFmt_SOP1 *)
~Inst_SOP1__S_FF1_I32_B64()
~Inst_SOP1__S_FLBIT_I32_B32()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FLBIT_I32_B32(InFmt_SOP1 *)
~Inst_SOP1__S_FLBIT_I32_B64()
Inst_SOP1__S_FLBIT_I32_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FLBIT_I32_I64(InFmt_SOP1 *)
~Inst_SOP1__S_FLBIT_I32_I64()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FLBIT_I32(InFmt_SOP1 *)
~Inst_SOP1__S_FLBIT_I32()
Inst_SOP1__S_GETPC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_GETPC_B64()
Inst_SOP1__S_MOVRELD_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_MOVRELD_B32()
~Inst_SOP1__S_MOVRELD_B64()
Inst_SOP1__S_MOVRELD_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_MOVRELS_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_MOVRELS_B32()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_MOVRELS_B64(InFmt_SOP1 *)
~Inst_SOP1__S_MOVRELS_B64()
Inst_SOP1__S_MOV_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_MOV_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_MOV_FED_B32(InFmt_SOP1 *)
~Inst_SOP1__S_MOV_FED_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_NAND_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_SOP1__S_NAND_SAVEEXEC_B64()
Inst_SOP1__S_NOR_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_SOP1__S_NOR_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_NOT_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_NOT_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_ORN2_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_ORN2_SAVEEXEC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_OR_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_SOP1__S_OR_SAVEEXEC_B64()
~Inst_SOP1__S_QUADMASK_B32()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_QUADMASK_B32(InFmt_SOP1 *)
~Inst_SOP1__S_QUADMASK_B64()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_QUADMASK_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_RFE_B64(InFmt_SOP1 *)
~Inst_SOP1__S_SETPC_B64()
Inst_SOP1__S_SETPC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_SET_GPR_IDX_IDX()
Inst_SOP1__S_SET_GPR_IDX_IDX(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_SEXT_I32_I16()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_SEXT_I32_I16(InFmt_SOP1 *)
Inst_SOP1__S_SEXT_I32_I8(InFmt_SOP1 *)
~Inst_SOP1__S_SEXT_I32_I8()
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_SWAPPC_B64()
Inst_SOP1__S_SWAPPC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_WQM_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_WQM_B64(InFmt_SOP1 *)
~Inst_SOP1__S_XNOR_SAVEEXEC_B64()
Inst_SOP1__S_XNOR_SAVEEXEC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_XOR_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_SOP1__S_XOR_SAVEEXEC_B64()
void read() override
read from and write to the underlying register(s) that this operand is referring to.
std::enable_if< Condition, DataType >::type rawData() const
we store scalar data in a std::array, however if we need the full operand data we use this method to ...
std::enable_if< Condition, void >::type setBit(int bit, int bit_val)
bit access to scalar data.
void panicUnimplemented() const
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
constexpr int popCount(uint64_t val)
Returns the number of set ones in the provided value.
std::enable_if_t< std::is_integral_v< T >, T > reverseBits(T val, size_t size=sizeof(T))
Takes a value and returns the bit reversed version.
ScalarRegI32 countZeroBitsMsb(T val)
ScalarRegI32 firstOppositeSignBit(ScalarRegI32 val)
ScalarRegI32 findFirstZero(T val)
ScalarRegI32 findFirstOne(T val)
ScalarRegI32 countZeroBits(T val)
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< GPUDynInst > GPUDynInstPtr
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.