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 Arm Limited All rights reserved.
std::shared_ptr< GPUDynInst > GPUDynInstPtr
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.