Go to the documentation of this file.
37 #include "debug/VEGA.hh"
38 #include "debug/GPUSync.hh"
76 >= 0x100000000ULL ? 1 : 0;
663 sdst = src0.
rawData() &~ src1.rawData();
695 sdst = src0.
rawData() &~ src1.rawData();
727 sdst = src0.
rawData() |~ src1.rawData();
759 sdst = src0.
rawData() |~ src1.rawData();
1397 | 0xffffffffffffffff <<
bits(src1.
rawData(), 22, 16);
1526 sdst = (tmp_dst >> 32);
1555 sext<std::numeric_limits<VecElemI64>::digits>(src0.
rawData());
1557 sext<std::numeric_limits<VecElemI64>::digits>(src1.
rawData());
1558 sdst = (
VecElemI32)((tmp_src0 * tmp_src1) >> 32);
1639 scc = (src.
rawData() == simm16) ? 1 : 0;
1666 scc = (src.
rawData() != simm16) ? 1 : 0;
1693 scc = (src.
rawData() > simm16) ? 1 : 0;
1720 scc = (src.
rawData() >= simm16) ? 1 : 0;
1747 scc = (src.
rawData() < simm16) ? 1 : 0;
1774 scc = (src.
rawData() <= simm16) ? 1 : 0;
1801 scc = (src.rawData() == simm16) ? 1 : 0;
1828 scc = (src.rawData() != simm16) ? 1 : 0;
1855 scc = (src.rawData() > simm16) ? 1 : 0;
1882 scc = (src.rawData() >= simm16) ? 1 : 0;
1909 scc = (src.rawData() < simm16) ? 1 : 0;
1936 scc = (src.rawData() <= simm16) ? 1 : 0;
2065 gpuDynInst->computeUnit()->shader->getHwReg(hwregId);
2100 gpuDynInst->computeUnit()->shader->getHwReg(hwregId);
2107 gpuDynInst->computeUnit()->shader->setHwReg(hwregId, hwreg);
2111 if (hwregId==1 && size==2
2113 warn_once(
"Be cautious that s_setreg_b32 has no real effect "
2114 "on FP modes: %s\n", gpuDynInst->disassemble());
2148 gpuDynInst->computeUnit()->shader->getHwReg(hwregId);
2154 gpuDynInst->computeUnit()->shader->setHwReg(hwregId, hwreg);
2160 warn_once(
"Be cautious that s_setreg_imm32_b32 has no real effect "
2161 "on FP modes: %s\n", gpuDynInst->disassemble());
2827 sdst = sext<std::numeric_limits<ScalarRegI8>::digits>(
2854 sdst = sext<std::numeric_limits<ScalarRegI16>::digits>(
2981 Addr pc = gpuDynInst->pc();
3006 Wavefront *wf = gpuDynInst->wavefront();
3031 Wavefront *wf = gpuDynInst->wavefront();
3032 Addr pc = gpuDynInst->pc();
3086 Wavefront *wf = gpuDynInst->wavefront();
3095 scc = wf->
execMask().any() ? 1 : 0;
3122 Wavefront *wf = gpuDynInst->wavefront();
3131 scc = wf->
execMask().any() ? 1 : 0;
3158 Wavefront *wf = gpuDynInst->wavefront();
3167 scc = wf->
execMask().any() ? 1 : 0;
3176 :
Inst_SOP1(iFmt,
"s_andn2_saveexec_b64")
3194 Wavefront *wf = gpuDynInst->wavefront();
3203 scc = wf->
execMask().any() ? 1 : 0;
3212 :
Inst_SOP1(iFmt,
"s_orn2_saveexec_b64")
3230 Wavefront *wf = gpuDynInst->wavefront();
3239 scc = wf->
execMask().any() ? 1 : 0;
3248 :
Inst_SOP1(iFmt,
"s_nand_saveexec_b64")
3266 Wavefront *wf = gpuDynInst->wavefront();
3275 scc = wf->
execMask().any() ? 1 : 0;
3302 Wavefront *wf = gpuDynInst->wavefront();
3311 scc = wf->
execMask().any() ? 1 : 0;
3320 :
Inst_SOP1(iFmt,
"s_xnor_saveexec_b64")
3338 Wavefront *wf = gpuDynInst->wavefront();
3347 scc = wf->
execMask().any() ? 1 : 0;
3584 sdst = std::abs(src.
rawData());
4232 Wavefront *wf = gpuDynInst->wavefront();
4262 DPRINTF(GPUSync,
"CU[%d] WF[%d][%d] Wave[%d] - Exiting the "
4263 "program and decrementing max barrier count for "
4264 "barrier Id%d. New max count: %d.\n", cu->
cu_id,
4269 DPRINTF(GPUExec,
"CU%d: decrease ref ctr WG[%d] to [%d]\n",
4279 DPRINTF(GPUExec,
"Doing return for CU%d: WF[%d][%d][%d]\n",
4299 DPRINTF(GPUSync,
"CU[%d] WF[%d][%d] Wave[%d] - All waves are "
4300 "now complete. Releasing barrier Id%d.\n", cu->
cu_id,
4323 if (!kernelEnd || !relNeeded) {
4343 gpuDynInst->simdId = wf->
simdId;
4344 gpuDynInst->wfSlotId = wf->
wfSlotId;
4345 gpuDynInst->wfDynId = wf->
wfDynId;
4347 DPRINTF(GPUExec,
"inject global memory fence for CU%d: "
4378 Wavefront *wf = gpuDynInst->wavefront();
4379 Addr pc = gpuDynInst->pc();
4432 Wavefront *wf = gpuDynInst->wavefront();
4433 Addr pc = gpuDynInst->pc();
4463 Wavefront *wf = gpuDynInst->wavefront();
4464 Addr pc = gpuDynInst->pc();
4495 Wavefront *wf = gpuDynInst->wavefront();
4497 Addr pc = gpuDynInst->pc();
4527 Wavefront *wf = gpuDynInst->wavefront();
4533 Addr pc = gpuDynInst->pc();
4558 Wavefront *wf = gpuDynInst->wavefront();
4561 Addr pc = gpuDynInst->pc();
4586 Wavefront *wf = gpuDynInst->wavefront();
4589 Addr pc = gpuDynInst->pc();
4617 Wavefront *wf = gpuDynInst->wavefront();
4624 DPRINTF(GPUSync,
"CU[%d] WF[%d][%d] Wave[%d] - Stalling at "
4625 "barrier Id%d. %d waves now at barrier, %d waves "
4679 gpuDynInst->wavefront()->setWaitCnts(vm_cnt, exp_cnt, lgkm_cnt);
4724 gpuDynInst->wavefront()->setSleepTime(64 * simm16);
4934 :
Inst_SOPP(iFmt,
"s_cbranch_cdbgsys_or_user")
4957 :
Inst_SOPP(iFmt,
"s_cbranch_cdbgsys_and_user")
5066 Wavefront *wf = gpuDynInst->wavefront();
5068 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5069 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5085 gpuDynInst->computeUnit()->scalarMemoryPipe
5086 .issueRequest(gpuDynInst);
5092 initMemRead<1>(gpuDynInst);
5121 Wavefront *wf = gpuDynInst->wavefront();
5123 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5124 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5140 gpuDynInst->computeUnit()->scalarMemoryPipe.
5141 issueRequest(gpuDynInst);
5147 initMemRead<2>(gpuDynInst);
5175 Wavefront *wf = gpuDynInst->wavefront();
5177 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5178 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5194 gpuDynInst->computeUnit()->scalarMemoryPipe.
5195 issueRequest(gpuDynInst);
5201 initMemRead<4>(gpuDynInst);
5229 Wavefront *wf = gpuDynInst->wavefront();
5231 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5232 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5248 gpuDynInst->computeUnit()->scalarMemoryPipe.
5249 issueRequest(gpuDynInst);
5255 initMemRead<8>(gpuDynInst);
5283 Wavefront *wf = gpuDynInst->wavefront();
5285 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5286 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5302 gpuDynInst->computeUnit()->scalarMemoryPipe.
5303 issueRequest(gpuDynInst);
5309 initMemRead<16>(gpuDynInst);
5322 :
Inst_SMEM(iFmt,
"s_buffer_load_dword")
5338 Wavefront *wf = gpuDynInst->wavefront();
5340 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5341 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5357 gpuDynInst->computeUnit()->scalarMemoryPipe
5358 .issueRequest(gpuDynInst);
5364 initMemRead<1>(gpuDynInst);
5378 :
Inst_SMEM(iFmt,
"s_buffer_load_dwordx2")
5394 Wavefront *wf = gpuDynInst->wavefront();
5396 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5397 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5413 gpuDynInst->computeUnit()->scalarMemoryPipe
5414 .issueRequest(gpuDynInst);
5420 initMemRead<2>(gpuDynInst);
5434 :
Inst_SMEM(iFmt,
"s_buffer_load_dwordx4")
5450 Wavefront *wf = gpuDynInst->wavefront();
5452 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5453 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5469 gpuDynInst->computeUnit()->scalarMemoryPipe
5470 .issueRequest(gpuDynInst);
5476 initMemRead<4>(gpuDynInst);
5490 :
Inst_SMEM(iFmt,
"s_buffer_load_dwordx8")
5506 Wavefront *wf = gpuDynInst->wavefront();
5508 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5509 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5525 gpuDynInst->computeUnit()->scalarMemoryPipe
5526 .issueRequest(gpuDynInst);
5532 initMemRead<8>(gpuDynInst);
5546 :
Inst_SMEM(iFmt,
"s_buffer_load_dwordx16")
5562 Wavefront *wf = gpuDynInst->wavefront();
5564 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5565 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5581 gpuDynInst->computeUnit()->scalarMemoryPipe
5582 .issueRequest(gpuDynInst);
5588 initMemRead<16>(gpuDynInst);
5620 Wavefront *wf = gpuDynInst->wavefront();
5622 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5623 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5631 std::memcpy((
void*)gpuDynInst->scalar_data, sdata.
rawDataPtr(),
5644 gpuDynInst->computeUnit()->scalarMemoryPipe.
5645 issueRequest(gpuDynInst);
5651 initMemWrite<1>(gpuDynInst);
5677 Wavefront *wf = gpuDynInst->wavefront();
5679 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5680 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5688 std::memcpy((
void*)gpuDynInst->scalar_data, sdata.
rawDataPtr(),
5701 gpuDynInst->computeUnit()->scalarMemoryPipe.
5702 issueRequest(gpuDynInst);
5708 initMemWrite<2>(gpuDynInst);
5734 Wavefront *wf = gpuDynInst->wavefront();
5736 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5737 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5745 std::memcpy((
void*)gpuDynInst->scalar_data, sdata.
rawDataPtr(),
5746 sizeof(gpuDynInst->scalar_data));
5758 gpuDynInst->computeUnit()->scalarMemoryPipe.
5759 issueRequest(gpuDynInst);
5765 initMemWrite<4>(gpuDynInst);
5776 :
Inst_SMEM(iFmt,
"s_buffer_store_dword")
5808 :
Inst_SMEM(iFmt,
"s_buffer_store_dwordx2")
5840 :
Inst_SMEM(iFmt,
"s_buffer_store_dwordx4")
5959 sdst = (
ScalarRegU64)gpuDynInst->computeUnit()->curCycle();
6036 Wavefront *wf = gpuDynInst->wavefront();
6049 =
bits(vcc.
rawData(), lane) ? src1[lane] : src0[lane];
6073 Wavefront *wf = gpuDynInst->wavefront();
6085 DPRINTF(VEGA,
"Handling V_ADD_F32 SRC DPP. SRC0: register v[%d], "
6086 "DPP_CTRL: 0x%#x, SRC0_ABS: %d, SRC0_NEG: %d, "
6087 "SRC1_ABS: %d, SRC1_NEG: %d, BC: %d, "
6102 vdst[lane] = src0_dpp[lane] + src1[lane];
6108 vdst[lane] = src0[lane] + src1[lane];
6134 Wavefront *wf = gpuDynInst->wavefront();
6144 vdst[lane] = src0[lane] - src1[lane];
6169 Wavefront *wf = gpuDynInst->wavefront();
6179 vdst[lane] = src1[lane] - src0[lane];
6203 Wavefront *wf = gpuDynInst->wavefront();
6213 vdst[lane] = src0[lane] * src1[lane];
6237 Wavefront *wf = gpuDynInst->wavefront();
6247 if (std::isnan(src0[lane]) ||
6248 std::isnan(src1[lane])) {
6250 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
6251 std::fpclassify(src0[lane]) == FP_ZERO) &&
6252 !std::signbit(src0[lane])) {
6253 if (std::isinf(src1[lane])) {
6255 }
else if (!std::signbit(src1[lane])) {
6260 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
6261 std::fpclassify(src0[lane]) == FP_ZERO) &&
6262 std::signbit(src0[lane])) {
6263 if (std::isinf(src1[lane])) {
6265 }
else if (std::signbit(src1[lane])) {
6270 }
else if (std::isinf(src0[lane]) &&
6271 !std::signbit(src0[lane])) {
6272 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
6273 std::fpclassify(src1[lane]) == FP_ZERO) {
6275 }
else if (!std::signbit(src1[lane])) {
6276 vdst[lane] = +INFINITY;
6278 vdst[lane] = -INFINITY;
6280 }
else if (std::isinf(src0[lane]) &&
6281 std::signbit(src0[lane])) {
6282 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
6283 std::fpclassify(src1[lane]) == FP_ZERO) {
6285 }
else if (std::signbit(src1[lane])) {
6286 vdst[lane] = +INFINITY;
6288 vdst[lane] = -INFINITY;
6291 vdst[lane] = src0[lane] * src1[lane];
6315 Wavefront *wf = gpuDynInst->wavefront();
6325 vdst[lane] = sext<24>(
bits(src0[lane], 23, 0))
6326 * sext<24>(
bits(src1[lane], 23, 0));
6349 Wavefront *wf = gpuDynInst->wavefront();
6364 vdst[lane] = (
VecElemI32)((tmp_src0 * tmp_src1) >> 32);
6390 if (wf->execMask(lane)) {
6391 vdst[lane] =
bits(src0[lane], 23, 0) *
6392 bits(src1[lane], 23, 0);
6397 vop2Helper<VecOperandU32>(gpuDynInst, opImpl);
6416 Wavefront *wf = gpuDynInst->wavefront();
6428 vdst[lane] = (
VecElemU32)((tmp_src0 * tmp_src1) >> 32);
6452 Wavefront *wf = gpuDynInst->wavefront();
6462 vdst[lane] = std::fmin(src0[lane], src1[lane]);
6486 Wavefront *wf = gpuDynInst->wavefront();
6496 vdst[lane] = std::fmax(src0[lane], src1[lane]);
6519 Wavefront *wf = gpuDynInst->wavefront();
6529 vdst[lane] = std::min(src0[lane], src1[lane]);
6552 Wavefront *wf = gpuDynInst->wavefront();
6562 vdst[lane] = std::max(src0[lane], src1[lane]);
6585 Wavefront *wf = gpuDynInst->wavefront();
6595 vdst[lane] = std::min(src0[lane], src1[lane]);
6618 Wavefront *wf = gpuDynInst->wavefront();
6628 vdst[lane] = std::max(src0[lane], src1[lane]);
6653 Wavefront *wf = gpuDynInst->wavefront();
6663 vdst[lane] = src1[lane] >>
bits(src0[lane], 4, 0);
6688 Wavefront *wf = gpuDynInst->wavefront();
6698 vdst[lane] = src1[lane] >>
bits(src0[lane], 4, 0);
6722 Wavefront *wf = gpuDynInst->wavefront();
6739 origSrc0_sdwa.
read();
6742 DPRINTF(VEGA,
"Handling V_LSHLREV_B32 SRC SDWA. SRC0: register "
6743 "v[%d], DST_SEL: %d, DST_U: %d, CLMP: %d, SRC0_SEL: "
6744 "%d, SRC0_SEXT: %d, SRC0_NEG: %d, SRC0_ABS: %d, SRC1_SEL: "
6745 "%d, SRC1_SEXT: %d, SRC1_NEG: %d, SRC1_ABS: %d\n",
6763 vdst[lane] = src1[lane] <<
bits(src0_sdwa[lane], 4, 0);
6764 origVdst[lane] = vdst[lane];
6772 vdst[lane] = src1[lane] <<
bits(src0[lane], 4, 0);
6797 Wavefront *wf = gpuDynInst->wavefront();
6809 DPRINTF(VEGA,
"Handling V_AND_B32 SRC DPP. SRC0: register v[%d], "
6810 "DPP_CTRL: 0x%#x, SRC0_ABS: %d, SRC0_NEG: %d, "
6811 "SRC1_ABS: %d, SRC1_NEG: %d, BC: %d, "
6826 vdst[lane] = src0_dpp[lane] & src1[lane];
6832 vdst[lane] = src0[lane] & src1[lane];
6857 Wavefront *wf = gpuDynInst->wavefront();
6874 origSrc0_sdwa.
read();
6877 DPRINTF(VEGA,
"Handling V_OR_B32 SRC SDWA. SRC0: register v[%d], "
6878 "DST_SEL: %d, DST_U: %d, CLMP: %d, SRC0_SEL: %d, "
6879 "SRC0_SEXT: %d, SRC0_NEG: %d, SRC0_ABS: %d, SRC1_SEL: %d, "
6880 "SRC1_SEXT: %d, SRC1_NEG: %d, SRC1_ABS: %d\n",
6898 vdst[lane] = src0_sdwa[lane] | src1[lane];
6899 origVdst[lane] = vdst[lane];
6907 vdst[lane] = src0[lane] | src1[lane];
6932 Wavefront *wf = gpuDynInst->wavefront();
6942 vdst[lane] = src0[lane] ^ src1[lane];
6968 Wavefront *wf = gpuDynInst->wavefront();
6981 DPRINTF(VEGA,
"Handling V_MAC_F32 SRC DPP. SRC0: register v[%d], "
6982 "DPP_CTRL: 0x%#x, SRC0_ABS: %d, SRC0_NEG: %d, "
6983 "SRC1_ABS: %d, SRC1_NEG: %d, BC: %d, "
6998 vdst[lane] = std::fma(src0_dpp[lane], src1[lane],
7005 vdst[lane] = std::fma(src0[lane], src1[lane], vdst[lane]);
7034 Wavefront *wf = gpuDynInst->wavefront();
7045 vdst[lane] = std::fma(src0[lane],
k, src1[lane]);
7073 Wavefront *wf = gpuDynInst->wavefront();
7084 vdst[lane] = std::fma(src0[lane], src1[lane],
k);
7111 Wavefront *wf = gpuDynInst->wavefront();
7129 origSrc0_sdwa.
read();
7132 DPRINTF(VEGA,
"Handling V_ADD_CO_U32 SRC SDWA. SRC0: register "
7133 "v[%d], DST_SEL: %d, DST_U: %d, CLMP: %d, SRC0_SEL: %d, "
7134 "SRC0_SEXT: %d, SRC0_NEG: %d, SRC0_ABS: %d, SRC1_SEL: %d, "
7135 "SRC1_SEXT: %d, SRC1_NEG: %d, SRC1_ABS: %d\n",
7153 vdst[lane] = src0_sdwa[lane] + src1[lane];
7154 origVdst[lane] = vdst[lane];
7156 + (
VecElemU64)src1[lane] >= 0x100000000ULL) ? 1 : 0);
7164 vdst[lane] = src0[lane] + src1[lane];
7166 + (
VecElemU64)src1[lane] >= 0x100000000ULL) ? 1 : 0);
7195 Wavefront *wf = gpuDynInst->wavefront();
7206 vdst[lane] = src0[lane] - src1[lane];
7207 vcc.
setBit(lane, src1[lane] > src0[lane] ? 1 : 0);
7235 Wavefront *wf = gpuDynInst->wavefront();
7246 vdst[lane] = src1[lane] - src0[lane];
7247 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
7277 Wavefront *wf = gpuDynInst->wavefront();
7289 vdst[lane] = src0[lane] + src1[lane]
7294 >= 0x100000000 ? 1 : 0);
7324 Wavefront *wf = gpuDynInst->wavefront();
7337 = src0[lane] - src1[lane] -
bits(vcc.
rawData(), lane);
7339 > src0[lane] ? 1 : 0);
7370 Wavefront *wf = gpuDynInst->wavefront();
7383 = src1[lane] - src0[lane] -
bits(vcc.
rawData(), lane);
7385 > src1[lane] ? 1 : 0);
7569 Wavefront *wf = gpuDynInst->wavefront();
7579 vdst[lane] = src0[lane] + src1[lane];
7603 Wavefront *wf = gpuDynInst->wavefront();
7613 vdst[lane] = src0[lane] - src1[lane];
7638 Wavefront *wf = gpuDynInst->wavefront();
7648 vdst[lane] = src1[lane] - src0[lane];
7672 Wavefront *wf = gpuDynInst->wavefront();
7682 vdst[lane] = src0[lane] * src1[lane];
7706 Wavefront *wf = gpuDynInst->wavefront();
7716 vdst[lane] = src1[lane] <<
bits(src0[lane], 3, 0);
7741 Wavefront *wf = gpuDynInst->wavefront();
7751 vdst[lane] = src1[lane] >> src0[lane];
7776 Wavefront *wf = gpuDynInst->wavefront();
7786 vdst[lane] = src1[lane] >> src0[lane];
7853 Wavefront *wf = gpuDynInst->wavefront();
7863 vdst[lane] = std::max(src0[lane], src1[lane]);
7886 Wavefront *wf = gpuDynInst->wavefront();
7896 vdst[lane] = std::max(src0[lane], src1[lane]);
7919 Wavefront *wf = gpuDynInst->wavefront();
7929 vdst[lane] = std::min(src0[lane], src1[lane]);
7952 Wavefront *wf = gpuDynInst->wavefront();
7962 vdst[lane] = std::min(src0[lane], src1[lane]);
8005 Wavefront *wf = gpuDynInst->wavefront();
8022 origSrc0_sdwa.
read();
8025 DPRINTF(VEGA,
"Handling V_ADD_U32 SRC SDWA. SRC0: register v[%d], "
8026 "DST_SEL: %d, DST_U: %d, CLMP: %d, SRC0_SEL: %d, "
8027 "SRC0_SEXT: %d, SRC0_NEG: %d, SRC0_ABS: %d, SRC1_SEL: %d, "
8028 "SRC1_SEXT: %d, SRC1_NEG: %d, SRC1_ABS: %d\n",
8046 vdst[lane] = src0_sdwa[lane] + src1[lane];
8047 origVdst[lane] = vdst[lane];
8055 vdst[lane] = src0[lane] + src1[lane];
8079 Wavefront *wf = gpuDynInst->wavefront();
8089 vdst[lane] = src0[lane] - src1[lane];
8112 Wavefront *wf = gpuDynInst->wavefront();
8122 vdst[lane] = src1[lane] - src0[lane];
8165 Wavefront *wf = gpuDynInst->wavefront();
8175 DPRINTF(VEGA,
"Handling V_MOV_B32 SRC DPP. SRC0: register v[%d], "
8176 "DPP_CTRL: 0x%#x, SRC0_ABS: %d, SRC0_NEG: %d, "
8177 "SRC1_ABS: %d, SRC1_NEG: %d, BC: %d, "
8196 vdst[lane] = src_dpp[lane];
8202 vdst[lane] = src[lane];
8213 :
Inst_VOP1(iFmt,
"v_readfirstlane_b32")
8231 Wavefront *wf = gpuDynInst->wavefront();
8243 sdst = src[src_lane];
8267 Wavefront *wf = gpuDynInst->wavefront();
8276 std::frexp(src[lane],&exp);
8277 if (std::isnan(src[lane])) {
8279 }
else if (std::isinf(src[lane]) || exp > 30) {
8280 if (std::signbit(src[lane])) {
8281 vdst[lane] = INT_MIN;
8283 vdst[lane] = INT_MAX;
8311 Wavefront *wf = gpuDynInst->wavefront();
8343 Wavefront *wf = gpuDynInst->wavefront();
8375 Wavefront *wf = gpuDynInst->wavefront();
8409 Wavefront *wf = gpuDynInst->wavefront();
8418 std::frexp(src[lane],&exp);
8419 if (std::isnan(src[lane])) {
8421 }
else if (std::isinf(src[lane])) {
8422 if (std::signbit(src[lane])) {
8425 vdst[lane] = UINT_MAX;
8427 }
else if (exp > 31) {
8428 vdst[lane] = UINT_MAX;
8457 Wavefront *wf = gpuDynInst->wavefront();
8466 std::frexp(src[lane],&exp);
8467 if (std::isnan(src[lane])) {
8469 }
else if (std::isinf(src[lane]) || exp > 30) {
8470 if (std::signbit(src[lane])) {
8471 vdst[lane] = INT_MIN;
8473 vdst[lane] = INT_MAX;
8566 Wavefront *wf = gpuDynInst->wavefront();
8574 vdst[lane] = (
VecElemI32)std::floor(src[lane] + 0.5);
8599 Wavefront *wf = gpuDynInst->wavefront();
8607 vdst[lane] = (
VecElemI32)std::floor(src[lane]);
8652 Wavefront *wf = gpuDynInst->wavefront();
8684 Wavefront *wf = gpuDynInst->wavefront();
8716 Wavefront *wf = gpuDynInst->wavefront();
8748 Wavefront *wf = gpuDynInst->wavefront();
8780 Wavefront *wf = gpuDynInst->wavefront();
8812 Wavefront *wf = gpuDynInst->wavefront();
8846 Wavefront *wf = gpuDynInst->wavefront();
8855 std::frexp(src[lane],&exp);
8856 if (std::isnan(src[lane])) {
8858 }
else if (std::isinf(src[lane])) {
8859 if (std::signbit(src[lane])) {
8862 vdst[lane] = UINT_MAX;
8864 }
else if (exp > 31) {
8865 vdst[lane] = UINT_MAX;
8892 Wavefront *wf = gpuDynInst->wavefront();
8924 Wavefront *wf = gpuDynInst->wavefront();
8932 vdst[lane] = std::trunc(src[lane]);
8957 Wavefront *wf = gpuDynInst->wavefront();
8965 vdst[lane] = std::ceil(src[lane]);
8989 Wavefront *wf = gpuDynInst->wavefront();
9022 Wavefront *wf = gpuDynInst->wavefront();
9030 vdst[lane] = std::floor(src[lane]);
9054 Wavefront *wf = gpuDynInst->wavefront();
9063 vdst[lane] = std::modf(src[lane], &int_part);
9087 Wavefront *wf = gpuDynInst->wavefront();
9095 vdst[lane] = std::trunc(src[lane]);
9120 Wavefront *wf = gpuDynInst->wavefront();
9128 vdst[lane] = std::ceil(src[lane]);
9152 Wavefront *wf = gpuDynInst->wavefront();
9185 Wavefront *wf = gpuDynInst->wavefront();
9193 vdst[lane] = std::floor(src[lane]);
9217 Wavefront *wf = gpuDynInst->wavefront();
9225 vdst[lane] = std::pow(2.0, src[lane]);
9249 Wavefront *wf = gpuDynInst->wavefront();
9257 vdst[lane] = std::log2(src[lane]);
9281 Wavefront *wf = gpuDynInst->wavefront();
9289 vdst[lane] = 1.0 / src[lane];
9315 Wavefront *wf = gpuDynInst->wavefront();
9323 vdst[lane] = 1.0 / src[lane];
9347 Wavefront *wf = gpuDynInst->wavefront();
9355 vdst[lane] = 1.0 / std::sqrt(src[lane]);
9379 Wavefront *wf = gpuDynInst->wavefront();
9387 if (std::fpclassify(src[lane]) == FP_ZERO) {
9388 vdst[lane] = +INFINITY;
9389 }
else if (std::isnan(src[lane])) {
9391 }
else if (std::isinf(src[lane])) {
9392 if (std::signbit(src[lane])) {
9398 vdst[lane] = 1.0 / src[lane];
9423 Wavefront *wf = gpuDynInst->wavefront();
9431 if (std::fpclassify(src[lane]) == FP_ZERO) {
9432 vdst[lane] = +INFINITY;
9433 }
else if (std::isnan(src[lane])) {
9435 }
else if (std::isinf(src[lane])
9436 && !std::signbit(src[lane])) {
9438 }
else if (std::signbit(src[lane])) {
9441 vdst[lane] = 1.0 / std::sqrt(src[lane]);
9466 Wavefront *wf = gpuDynInst->wavefront();
9474 vdst[lane] = std::sqrt(src[lane]);
9498 Wavefront *wf = gpuDynInst->wavefront();
9506 vdst[lane] = std::sqrt(src[lane]);
9532 Wavefront *wf = gpuDynInst->wavefront();
9542 if (src[lane] < -256.0 || src[lane] > 256.0) {
9545 vdst[lane] = std::sin(src[lane] * 2.0 * pi.
rawData());
9572 Wavefront *wf = gpuDynInst->wavefront();
9582 if (src[lane] < -256.0 || src[lane] > 256.0) {
9585 vdst[lane] = std::cos(src[lane] * 2.0 * pi.
rawData());
9610 Wavefront *wf = gpuDynInst->wavefront();
9618 vdst[lane] = ~src[lane];
9642 Wavefront *wf = gpuDynInst->wavefront();
9674 Wavefront *wf = gpuDynInst->wavefront();
9706 Wavefront *wf = gpuDynInst->wavefront();
9738 Wavefront *wf = gpuDynInst->wavefront();
9756 :
Inst_VOP1(iFmt,
"v_frexp_exp_i32_f64")
9771 Wavefront *wf = gpuDynInst->wavefront();
9779 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
9783 std::frexp(src[lane], &exp);
9809 Wavefront *wf = gpuDynInst->wavefront();
9817 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
9818 vdst[lane] = src[lane];
9821 vdst[lane] = std::frexp(src[lane], &exp);
9846 Wavefront *wf = gpuDynInst->wavefront();
9855 vdst[lane] = std::modf(src[lane], &int_part);
9865 :
Inst_VOP1(iFmt,
"v_frexp_exp_i32_f32")
9884 Wavefront *wf = gpuDynInst->wavefront();
9892 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
9896 std::frexp(src[lane], &exp);
9927 Wavefront *wf = gpuDynInst->wavefront();
9935 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
9936 vdst[lane] = src[lane];
9939 vdst[lane] = std::frexp(src[lane], &exp);
10195 :
Inst_VOP1(iFmt,
"v_frexp_exp_i16_f16")
10381 Wavefront *wf = gpuDynInst->wavefront();
10389 vdst[lane] = std::pow(2.0, src[lane]);
10413 Wavefront *wf = gpuDynInst->wavefront();
10421 vdst[lane] = std::log2(src[lane]);
10457 Wavefront *wf = gpuDynInst->wavefront();
10467 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
10469 if (std::isnan(src0[lane])) {
10474 if (
bits(src1[lane], 2)) {
10476 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
10481 if (
bits(src1[lane], 3)) {
10483 if (std::isnormal(src0[lane])
10484 && std::signbit(src0[lane])) {
10489 if (
bits(src1[lane], 4)) {
10491 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
10492 && std::signbit(src0[lane])) {
10497 if (
bits(src1[lane], 5)) {
10499 if (std::fpclassify(src0[lane]) == FP_ZERO
10500 && std::signbit(src0[lane])) {
10505 if (
bits(src1[lane], 6)) {
10507 if (std::fpclassify(src0[lane]) == FP_ZERO
10508 && !std::signbit(src0[lane])) {
10513 if (
bits(src1[lane], 7)) {
10515 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
10516 && !std::signbit(src0[lane])) {
10521 if (
bits(src1[lane], 8)) {
10523 if (std::isnormal(src0[lane])
10524 && !std::signbit(src0[lane])) {
10529 if (
bits(src1[lane], 9)) {
10531 if (std::isinf(src0[lane]) && !std::signbit(src0[lane])) {
10572 Wavefront *wf = gpuDynInst->wavefront();
10582 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
10584 if (std::isnan(src0[lane])) {
10589 if (
bits(src1[lane], 2)) {
10591 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
10596 if (
bits(src1[lane], 3)) {
10598 if (std::isnormal(src0[lane])
10599 && std::signbit(src0[lane])) {
10604 if (
bits(src1[lane], 4)) {
10606 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
10607 && std::signbit(src0[lane])) {
10612 if (
bits(src1[lane], 5)) {
10614 if (std::fpclassify(src0[lane]) == FP_ZERO
10615 && std::signbit(src0[lane])) {
10620 if (
bits(src1[lane], 6)) {
10622 if (std::fpclassify(src0[lane]) == FP_ZERO
10623 && !std::signbit(src0[lane])) {
10628 if (
bits(src1[lane], 7)) {
10630 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
10631 && !std::signbit(src0[lane])) {
10636 if (
bits(src1[lane], 8)) {
10638 if (std::isnormal(src0[lane])
10639 && !std::signbit(src0[lane])) {
10644 if (
bits(src1[lane], 9)) {
10646 if (std::isinf(src0[lane]) && !std::signbit(src0[lane])) {
10687 Wavefront *wf = gpuDynInst->wavefront();
10697 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
10699 if (std::isnan(src0[lane])) {
10704 if (
bits(src1[lane], 2)) {
10706 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
10711 if (
bits(src1[lane], 3)) {
10713 if (std::isnormal(src0[lane])
10714 && std::signbit(src0[lane])) {
10719 if (
bits(src1[lane], 4)) {
10721 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
10722 && std::signbit(src0[lane])) {
10727 if (
bits(src1[lane], 5)) {
10729 if (std::fpclassify(src0[lane]) == FP_ZERO
10730 && std::signbit(src0[lane])) {
10735 if (
bits(src1[lane], 6)) {
10737 if (std::fpclassify(src0[lane]) == FP_ZERO
10738 && !std::signbit(src0[lane])) {
10743 if (
bits(src1[lane], 7)) {
10745 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
10746 && !std::signbit(src0[lane])) {
10751 if (
bits(src1[lane], 8)) {
10753 if (std::isnormal(src0[lane])
10754 && !std::signbit(src0[lane])) {
10759 if (
bits(src1[lane], 9)) {
10761 if (std::isinf(src0[lane])
10762 && !std::signbit(src0[lane])) {
10803 Wavefront *wf = gpuDynInst->wavefront();
10813 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
10815 if (std::isnan(src0[lane])) {
10820 if (
bits(src1[lane], 2)) {
10822 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
10827 if (
bits(src1[lane], 3)) {
10829 if (std::isnormal(src0[lane])
10830 && std::signbit(src0[lane])) {
10835 if (
bits(src1[lane], 4)) {
10837 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
10838 && std::signbit(src0[lane])) {
10843 if (
bits(src1[lane], 5)) {
10845 if (std::fpclassify(src0[lane]) == FP_ZERO
10846 && std::signbit(src0[lane])) {
10851 if (
bits(src1[lane], 6)) {
10853 if (std::fpclassify(src0[lane]) == FP_ZERO
10854 && !std::signbit(src0[lane])) {
10859 if (
bits(src1[lane], 7)) {
10861 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
10862 && !std::signbit(src0[lane])) {
10867 if (
bits(src1[lane], 8)) {
10869 if (std::isnormal(src0[lane])
10870 && !std::signbit(src0[lane])) {
10875 if (
bits(src1[lane], 9)) {
10877 if (std::isinf(src0[lane])
10878 && !std::signbit(src0[lane])) {
11631 Wavefront *wf = gpuDynInst->wavefront();
11660 Wavefront *wf = gpuDynInst->wavefront();
11670 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
11694 Wavefront *wf = gpuDynInst->wavefront();
11704 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
11728 Wavefront *wf = gpuDynInst->wavefront();
11738 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
11762 Wavefront *wf = gpuDynInst->wavefront();
11772 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
11796 Wavefront *wf = gpuDynInst->wavefront();
11806 vcc.
setBit(lane, (src0[lane] < src1[lane]
11807 || src0[lane] > src1[lane]) ? 1 : 0);
11831 Wavefront *wf = gpuDynInst->wavefront();
11841 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
11865 Wavefront *wf = gpuDynInst->wavefront();
11875 vcc.
setBit(lane, (!std::isnan(src0[lane])
11876 && !std::isnan(src1[lane])) ? 1 : 0);
11900 Wavefront *wf = gpuDynInst->wavefront();
11910 vcc.
setBit(lane, (std::isnan(src0[lane])
11911 || std::isnan(src1[lane])) ? 1 : 0);
11935 Wavefront *wf = gpuDynInst->wavefront();
11945 vcc.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
11969 Wavefront *wf = gpuDynInst->wavefront();
11979 vcc.
setBit(lane, !(src0[lane] < src1[lane]
11980 || src0[lane] > src1[lane]) ? 1 : 0);
12004 Wavefront *wf = gpuDynInst->wavefront();
12014 vcc.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
12038 Wavefront *wf = gpuDynInst->wavefront();
12048 vcc.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
12072 Wavefront *wf = gpuDynInst->wavefront();
12082 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
12106 Wavefront *wf = gpuDynInst->wavefront();
12116 vcc.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
12140 Wavefront *wf = gpuDynInst->wavefront();
12170 Wavefront *wf = gpuDynInst->wavefront();
12201 Wavefront *wf = gpuDynInst->wavefront();
12211 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
12237 Wavefront *wf = gpuDynInst->wavefront();
12247 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
12273 Wavefront *wf = gpuDynInst->wavefront();
12283 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
12309 Wavefront *wf = gpuDynInst->wavefront();
12319 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
12345 Wavefront *wf = gpuDynInst->wavefront();
12355 vcc.
setBit(lane, (src0[lane] < src1[lane]
12356 || src0[lane] > src1[lane]) ? 1 : 0);
12382 Wavefront *wf = gpuDynInst->wavefront();
12392 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
12419 Wavefront *wf = gpuDynInst->wavefront();
12429 vcc.
setBit(lane, (!std::isnan(src0[lane])
12430 && !std::isnan(src1[lane])) ? 1 : 0);
12457 Wavefront *wf = gpuDynInst->wavefront();
12467 vcc.
setBit(lane, (std::isnan(src0[lane])
12468 || std::isnan(src1[lane])) ? 1 : 0);
12494 Wavefront *wf = gpuDynInst->wavefront();
12504 vcc.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
12530 Wavefront *wf = gpuDynInst->wavefront();
12540 vcc.
setBit(lane, !(src0[lane] < src1[lane]
12541 || src0[lane] > src1[lane]) ? 1 : 0);
12567 Wavefront *wf = gpuDynInst->wavefront();
12577 vcc.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
12603 Wavefront *wf = gpuDynInst->wavefront();
12613 vcc.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
12639 Wavefront *wf = gpuDynInst->wavefront();
12649 vcc.
setBit(lane, !(src0[lane] == src1[lane]) ? 1 : 0);
12675 Wavefront *wf = gpuDynInst->wavefront();
12685 vcc.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
12711 Wavefront *wf = gpuDynInst->wavefront();
12741 Wavefront *wf = gpuDynInst->wavefront();
12770 Wavefront *wf = gpuDynInst->wavefront();
12780 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
12804 Wavefront *wf = gpuDynInst->wavefront();
12814 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
12838 Wavefront *wf = gpuDynInst->wavefront();
12848 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
12872 Wavefront *wf = gpuDynInst->wavefront();
12882 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
12906 Wavefront *wf = gpuDynInst->wavefront();
12916 vcc.
setBit(lane, (src0[lane] < src1[lane]
12917 || src0[lane] > src1[lane]) ? 1 : 0);
12941 Wavefront *wf = gpuDynInst->wavefront();
12951 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
12975 Wavefront *wf = gpuDynInst->wavefront();
12985 vcc.
setBit(lane, (!std::isnan(src0[lane])
12986 && !std::isnan(src1[lane])) ? 1 : 0);
13010 Wavefront *wf = gpuDynInst->wavefront();
13020 vcc.
setBit(lane, (std::isnan(src0[lane])
13021 || std::isnan(src1[lane])) ? 1 : 0);
13045 Wavefront *wf = gpuDynInst->wavefront();
13055 vcc.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
13079 Wavefront *wf = gpuDynInst->wavefront();
13089 vcc.
setBit(lane, !(src0[lane] < src1[lane]
13090 || src0[lane] > src1[lane]) ? 1 : 0);
13114 Wavefront *wf = gpuDynInst->wavefront();
13124 vcc.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
13148 Wavefront *wf = gpuDynInst->wavefront();
13158 vcc.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
13182 Wavefront *wf = gpuDynInst->wavefront();
13192 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
13216 Wavefront *wf = gpuDynInst->wavefront();
13226 vcc.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
13250 Wavefront *wf = gpuDynInst->wavefront();
13280 Wavefront *wf = gpuDynInst->wavefront();
13311 Wavefront *wf = gpuDynInst->wavefront();
13321 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
13347 Wavefront *wf = gpuDynInst->wavefront();
13357 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
13383 Wavefront *wf = gpuDynInst->wavefront();
13393 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
13419 Wavefront *wf = gpuDynInst->wavefront();
13429 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
13455 Wavefront *wf = gpuDynInst->wavefront();
13465 vcc.
setBit(lane, (src0[lane] < src1[lane]
13466 || src0[lane] > src1[lane]) ? 1 : 0);
13492 Wavefront *wf = gpuDynInst->wavefront();
13502 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
13529 Wavefront *wf = gpuDynInst->wavefront();
13539 vcc.
setBit(lane, (!std::isnan(src0[lane])
13540 && !std::isnan(src1[lane])) ? 1 : 0);
13567 Wavefront *wf = gpuDynInst->wavefront();
13577 vcc.
setBit(lane, (std::isnan(src0[lane])
13578 || std::isnan(src1[lane])) ? 1 : 0);
13604 Wavefront *wf = gpuDynInst->wavefront();
13614 vcc.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
13640 Wavefront *wf = gpuDynInst->wavefront();
13650 vcc.
setBit(lane, !(src0[lane] < src1[lane]
13651 || src0[lane] > src1[lane]) ? 1 : 0);
13677 Wavefront *wf = gpuDynInst->wavefront();
13687 vcc.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
13713 Wavefront *wf = gpuDynInst->wavefront();
13723 vcc.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
13749 Wavefront *wf = gpuDynInst->wavefront();
13759 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
13785 Wavefront *wf = gpuDynInst->wavefront();
13795 vcc.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
13821 Wavefront *wf = gpuDynInst->wavefront();
13850 Wavefront *wf = gpuDynInst->wavefront();
13878 Wavefront *wf = gpuDynInst->wavefront();
13888 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
13911 Wavefront *wf = gpuDynInst->wavefront();
13921 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
13944 Wavefront *wf = gpuDynInst->wavefront();
13954 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
13977 Wavefront *wf = gpuDynInst->wavefront();
13987 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
14010 Wavefront *wf = gpuDynInst->wavefront();
14020 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
14043 Wavefront *wf = gpuDynInst->wavefront();
14053 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
14076 Wavefront *wf = gpuDynInst->wavefront();
14104 Wavefront *wf = gpuDynInst->wavefront();
14132 Wavefront *wf = gpuDynInst->wavefront();
14142 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14165 Wavefront *wf = gpuDynInst->wavefront();
14175 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
14198 Wavefront *wf = gpuDynInst->wavefront();
14208 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
14231 Wavefront *wf = gpuDynInst->wavefront();
14241 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
14264 Wavefront *wf = gpuDynInst->wavefront();
14274 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
14297 Wavefront *wf = gpuDynInst->wavefront();
14307 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
14330 Wavefront *wf = gpuDynInst->wavefront();
14359 Wavefront *wf = gpuDynInst->wavefront();
14389 Wavefront *wf = gpuDynInst->wavefront();
14399 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14424 Wavefront *wf = gpuDynInst->wavefront();
14434 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
14459 Wavefront *wf = gpuDynInst->wavefront();
14469 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
14494 Wavefront *wf = gpuDynInst->wavefront();
14504 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
14529 Wavefront *wf = gpuDynInst->wavefront();
14539 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
14564 Wavefront *wf = gpuDynInst->wavefront();
14574 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
14599 Wavefront *wf = gpuDynInst->wavefront();
14629 Wavefront *wf = gpuDynInst->wavefront();
14659 Wavefront *wf = gpuDynInst->wavefront();
14669 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14694 Wavefront *wf = gpuDynInst->wavefront();
14704 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
14729 Wavefront *wf = gpuDynInst->wavefront();
14739 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
14764 Wavefront *wf = gpuDynInst->wavefront();
14774 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
14799 Wavefront *wf = gpuDynInst->wavefront();
14809 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
14834 Wavefront *wf = gpuDynInst->wavefront();
14844 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
14869 Wavefront *wf = gpuDynInst->wavefront();
14898 Wavefront *wf = gpuDynInst->wavefront();
14926 Wavefront *wf = gpuDynInst->wavefront();
14936 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14959 Wavefront *wf = gpuDynInst->wavefront();
14969 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
14992 Wavefront *wf = gpuDynInst->wavefront();
15002 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
15025 Wavefront *wf = gpuDynInst->wavefront();
15035 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
15058 Wavefront *wf = gpuDynInst->wavefront();
15068 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
15091 Wavefront *wf = gpuDynInst->wavefront();
15101 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
15124 Wavefront *wf = gpuDynInst->wavefront();
15152 Wavefront *wf = gpuDynInst->wavefront();
15180 Wavefront *wf = gpuDynInst->wavefront();
15190 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
15213 Wavefront *wf = gpuDynInst->wavefront();
15223 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
15246 Wavefront *wf = gpuDynInst->wavefront();
15256 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
15279 Wavefront *wf = gpuDynInst->wavefront();
15289 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
15312 Wavefront *wf = gpuDynInst->wavefront();
15322 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
15345 Wavefront *wf = gpuDynInst->wavefront();
15355 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
15378 Wavefront *wf = gpuDynInst->wavefront();
15407 Wavefront *wf = gpuDynInst->wavefront();
15437 Wavefront *wf = gpuDynInst->wavefront();
15447 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
15472 Wavefront *wf = gpuDynInst->wavefront();
15482 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
15507 Wavefront *wf = gpuDynInst->wavefront();
15517 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
15542 Wavefront *wf = gpuDynInst->wavefront();
15552 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
15577 Wavefront *wf = gpuDynInst->wavefront();
15587 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
15612 Wavefront *wf = gpuDynInst->wavefront();
15622 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
15647 Wavefront *wf = gpuDynInst->wavefront();
15677 Wavefront *wf = gpuDynInst->wavefront();
15707 Wavefront *wf = gpuDynInst->wavefront();
15717 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
15742 Wavefront *wf = gpuDynInst->wavefront();
15752 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
15777 Wavefront *wf = gpuDynInst->wavefront();
15787 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
15812 Wavefront *wf = gpuDynInst->wavefront();
15822 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
15847 Wavefront *wf = gpuDynInst->wavefront();
15857 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
15882 Wavefront *wf = gpuDynInst->wavefront();
15892 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
15917 Wavefront *wf = gpuDynInst->wavefront();
15946 Wavefront *wf = gpuDynInst->wavefront();
15974 Wavefront *wf = gpuDynInst->wavefront();
15984 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
16007 Wavefront *wf = gpuDynInst->wavefront();
16017 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
16040 Wavefront *wf = gpuDynInst->wavefront();
16050 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
16073 Wavefront *wf = gpuDynInst->wavefront();
16083 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
16106 Wavefront *wf = gpuDynInst->wavefront();
16116 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
16139 Wavefront *wf = gpuDynInst->wavefront();
16149 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
16172 Wavefront *wf = gpuDynInst->wavefront();
16200 Wavefront *wf = gpuDynInst->wavefront();
16228 Wavefront *wf = gpuDynInst->wavefront();
16238 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
16261 Wavefront *wf = gpuDynInst->wavefront();
16271 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
16294 Wavefront *wf = gpuDynInst->wavefront();
16304 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
16327 Wavefront *wf = gpuDynInst->wavefront();
16337 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
16360 Wavefront *wf = gpuDynInst->wavefront();
16370 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
16393 Wavefront *wf = gpuDynInst->wavefront();
16403 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
16426 Wavefront *wf = gpuDynInst->wavefront();
16455 Wavefront *wf = gpuDynInst->wavefront();
16485 Wavefront *wf = gpuDynInst->wavefront();
16495 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
16520 Wavefront *wf = gpuDynInst->wavefront();
16530 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
16555 Wavefront *wf = gpuDynInst->wavefront();
16565 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
16590 Wavefront *wf = gpuDynInst->wavefront();
16600 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
16625 Wavefront *wf = gpuDynInst->wavefront();
16635 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
16660 Wavefront *wf = gpuDynInst->wavefront();
16670 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
16695 Wavefront *wf = gpuDynInst->wavefront();
16725 Wavefront *wf = gpuDynInst->wavefront();
16755 Wavefront *wf = gpuDynInst->wavefront();
16765 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
16790 Wavefront *wf = gpuDynInst->wavefront();
16800 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
16825 Wavefront *wf = gpuDynInst->wavefront();
16835 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
16860 Wavefront *wf = gpuDynInst->wavefront();
16870 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
16895 Wavefront *wf = gpuDynInst->wavefront();
16905 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
16930 Wavefront *wf = gpuDynInst->wavefront();
16940 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
16965 Wavefront *wf = gpuDynInst->wavefront();
17083 Wavefront *wf = gpuDynInst->wavefront();
17093 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
17095 if (std::isnan(src0[lane])) {
17100 if (
bits(src1[lane], 2)) {
17102 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
17107 if (
bits(src1[lane], 3)) {
17109 if (std::isnormal(src0[lane])
17110 && std::signbit(src0[lane])) {
17115 if (
bits(src1[lane], 4)) {
17117 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
17118 && std::signbit(src0[lane])) {
17123 if (
bits(src1[lane], 5)) {
17125 if (std::fpclassify(src0[lane]) == FP_ZERO
17126 && std::signbit(src0[lane])) {
17131 if (
bits(src1[lane], 6)) {
17133 if (std::fpclassify(src0[lane]) == FP_ZERO
17134 && !std::signbit(src0[lane])) {
17139 if (
bits(src1[lane], 7)) {
17141 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
17142 && !std::signbit(src0[lane])) {
17147 if (
bits(src1[lane], 8)) {
17149 if (std::isnormal(src0[lane])
17150 && !std::signbit(src0[lane])) {
17155 if (
bits(src1[lane], 9)) {
17157 if (std::isinf(src0[lane])
17158 && !std::signbit(src0[lane])) {
17172 :
Inst_VOP3A(iFmt,
"v_cmpx_class_f32", true)
17201 Wavefront *wf = gpuDynInst->wavefront();
17211 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
17213 if (std::isnan(src0[lane])) {
17218 if (
bits(src1[lane], 2)) {
17220 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
17225 if (
bits(src1[lane], 3)) {
17227 if (std::isnormal(src0[lane])
17228 && std::signbit(src0[lane])) {
17233 if (
bits(src1[lane], 4)) {
17235 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
17236 && std::signbit(src0[lane])) {
17241 if (
bits(src1[lane], 5)) {
17243 if (std::fpclassify(src0[lane]) == FP_ZERO
17244 && std::signbit(src0[lane])) {
17249 if (
bits(src1[lane], 6)) {
17251 if (std::fpclassify(src0[lane]) == FP_ZERO
17252 && !std::signbit(src0[lane])) {
17257 if (
bits(src1[lane], 7)) {
17259 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
17260 && !std::signbit(src0[lane])) {
17265 if (
bits(src1[lane], 8)) {
17267 if (std::isnormal(src0[lane])
17268 && !std::signbit(src0[lane])) {
17273 if (
bits(src1[lane], 9)) {
17275 if (std::isinf(src0[lane])
17276 && !std::signbit(src0[lane])) {
17318 Wavefront *wf = gpuDynInst->wavefront();
17328 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
17330 if (std::isnan(src0[lane])) {
17335 if (
bits(src1[lane], 2)) {
17337 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
17342 if (
bits(src1[lane], 3)) {
17344 if (std::isnormal(src0[lane])
17345 && std::signbit(src0[lane])) {
17350 if (
bits(src1[lane], 4)) {
17352 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
17353 && std::signbit(src0[lane])) {
17358 if (
bits(src1[lane], 5)) {
17360 if (std::fpclassify(src0[lane]) == FP_ZERO
17361 && std::signbit(src0[lane])) {
17366 if (
bits(src1[lane], 6)) {
17368 if (std::fpclassify(src0[lane]) == FP_ZERO
17369 && !std::signbit(src0[lane])) {
17374 if (
bits(src1[lane], 7)) {
17376 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
17377 && !std::signbit(src0[lane])) {
17382 if (
bits(src1[lane], 8)) {
17384 if (std::isnormal(src0[lane])
17385 && !std::signbit(src0[lane])) {
17390 if (
bits(src1[lane], 9)) {
17392 if (std::isinf(src0[lane])
17393 && !std::signbit(src0[lane])) {
17407 :
Inst_VOP3A(iFmt,
"v_cmpx_class_f64", true)
17436 Wavefront *wf = gpuDynInst->wavefront();
17446 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
17448 if (std::isnan(src0[lane])) {
17453 if (
bits(src1[lane], 2)) {
17455 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
17460 if (
bits(src1[lane], 3)) {
17462 if (std::isnormal(src0[lane])
17463 && std::signbit(src0[lane])) {
17468 if (
bits(src1[lane], 4)) {
17470 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
17471 && std::signbit(src0[lane])) {
17476 if (
bits(src1[lane], 5)) {
17478 if (std::fpclassify(src0[lane]) == FP_ZERO
17479 && std::signbit(src0[lane])) {
17484 if (
bits(src1[lane], 6)) {
17486 if (std::fpclassify(src0[lane]) == FP_ZERO
17487 && !std::signbit(src0[lane])) {
17492 if (
bits(src1[lane], 7)) {
17494 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
17495 && !std::signbit(src0[lane])) {
17500 if (
bits(src1[lane], 8)) {
17502 if (std::isnormal(src0[lane])
17503 && !std::signbit(src0[lane])) {
17508 if (
bits(src1[lane], 9)) {
17510 if (std::isinf(src0[lane])
17511 && !std::signbit(src0[lane])) {
17559 :
Inst_VOP3A(iFmt,
"v_cmpx_class_f16", true)
17921 Wavefront *wf = gpuDynInst->wavefront();
17951 Wavefront *wf = gpuDynInst->wavefront();
18293 Wavefront *wf = gpuDynInst->wavefront();
18323 Wavefront *wf = gpuDynInst->wavefront();
18353 Wavefront *wf = gpuDynInst->wavefront();
18363 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
18388 Wavefront *wf = gpuDynInst->wavefront();
18398 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
18423 Wavefront *wf = gpuDynInst->wavefront();
18433 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
18458 Wavefront *wf = gpuDynInst->wavefront();
18468 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
18493 Wavefront *wf = gpuDynInst->wavefront();
18503 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
18528 Wavefront *wf = gpuDynInst->wavefront();
18538 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
18562 Wavefront *wf = gpuDynInst->wavefront();
18572 sdst.
setBit(lane, (!std::isnan(src0[lane])
18573 && !std::isnan(src1[lane])) ? 1 : 0);
18597 Wavefront *wf = gpuDynInst->wavefront();
18607 sdst.
setBit(lane, (std::isnan(src0[lane])
18608 || std::isnan(src1[lane])) ? 1 : 0);
18633 Wavefront *wf = gpuDynInst->wavefront();
18643 sdst.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
18668 Wavefront *wf = gpuDynInst->wavefront();
18678 sdst.
setBit(lane, !(src0[lane] < src1[lane]
18679 || src0[lane] > src1[lane]) ? 1 : 0);
18704 Wavefront *wf = gpuDynInst->wavefront();
18714 sdst.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
18739 Wavefront *wf = gpuDynInst->wavefront();
18749 sdst.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
18774 Wavefront *wf = gpuDynInst->wavefront();
18784 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
18809 Wavefront *wf = gpuDynInst->wavefront();
18819 sdst.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
18844 Wavefront *wf = gpuDynInst->wavefront();
18875 Wavefront *wf = gpuDynInst->wavefront();
18907 Wavefront *wf = gpuDynInst->wavefront();
18917 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
18944 Wavefront *wf = gpuDynInst->wavefront();
18954 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
18981 Wavefront *wf = gpuDynInst->wavefront();
18991 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
19018 Wavefront *wf = gpuDynInst->wavefront();
19028 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
19055 Wavefront *wf = gpuDynInst->wavefront();
19065 sdst.
setBit(lane, (src0[lane] < src1[lane]
19066 || src0[lane] > src1[lane]) ? 1 : 0);
19093 Wavefront *wf = gpuDynInst->wavefront();
19103 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
19131 Wavefront *wf = gpuDynInst->wavefront();
19141 sdst.
setBit(lane, (!std::isnan(src0[lane])
19142 && !std::isnan(src1[lane])) ? 1 : 0);
19170 Wavefront *wf = gpuDynInst->wavefront();
19180 sdst.
setBit(lane, (std::isnan(src0[lane])
19181 || std::isnan(src1[lane])) ? 1 : 0);
19208 Wavefront *wf = gpuDynInst->wavefront();
19218 sdst.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
19245 Wavefront *wf = gpuDynInst->wavefront();
19255 sdst.
setBit(lane, !(src0[lane] < src1[lane]
19256 || src0[lane] > src1[lane]) ? 1 : 0);
19283 Wavefront *wf = gpuDynInst->wavefront();
19293 sdst.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
19320 Wavefront *wf = gpuDynInst->wavefront();
19330 sdst.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
19357 Wavefront *wf = gpuDynInst->wavefront();
19367 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
19394 Wavefront *wf = gpuDynInst->wavefront();
19404 sdst.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
19431 Wavefront *wf = gpuDynInst->wavefront();
19461 Wavefront *wf = gpuDynInst->wavefront();
19491 Wavefront *wf = gpuDynInst->wavefront();
19523 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
19548 Wavefront *wf = gpuDynInst->wavefront();
19580 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
19605 Wavefront *wf = gpuDynInst->wavefront();
19637 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
19662 Wavefront *wf = gpuDynInst->wavefront();
19694 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
19719 Wavefront *wf = gpuDynInst->wavefront();
19751 sdst.
setBit(lane, (src0[lane] < src1[lane]
19752 || src0[lane] > src1[lane]) ? 1 : 0);
19777 Wavefront *wf = gpuDynInst->wavefront();
19809 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
19833 Wavefront *wf = gpuDynInst->wavefront();
19865 sdst.
setBit(lane, (!std::isnan(src0[lane])
19866 && !std::isnan(src1[lane])) ? 1 : 0);
19890 Wavefront *wf = gpuDynInst->wavefront();
19922 sdst.
setBit(lane, (std::isnan(src0[lane])
19923 || std::isnan(src1[lane])) ? 1 : 0);
19948 Wavefront *wf = gpuDynInst->wavefront();
19980 sdst.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
20005 Wavefront *wf = gpuDynInst->wavefront();
20037 sdst.
setBit(lane, !(src0[lane] < src1[lane]
20038 || src0[lane] > src1[lane]) ? 1 : 0);
20063 Wavefront *wf = gpuDynInst->wavefront();
20095 sdst.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
20120 Wavefront *wf = gpuDynInst->wavefront();
20152 sdst.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
20177 Wavefront *wf = gpuDynInst->wavefront();
20209 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
20234 Wavefront *wf = gpuDynInst->wavefront();
20266 sdst.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
20291 Wavefront *wf = gpuDynInst->wavefront();
20322 Wavefront *wf = gpuDynInst->wavefront();
20354 Wavefront *wf = gpuDynInst->wavefront();
20386 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
20413 Wavefront *wf = gpuDynInst->wavefront();
20445 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
20472 Wavefront *wf = gpuDynInst->wavefront();
20504 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
20531 Wavefront *wf = gpuDynInst->wavefront();
20563 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
20590 Wavefront *wf = gpuDynInst->wavefront();
20622 sdst.
setBit(lane, (src0[lane] < src1[lane]
20623 || src0[lane] > src1[lane]) ? 1 : 0);
20650 Wavefront *wf = gpuDynInst->wavefront();
20682 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
20710 Wavefront *wf = gpuDynInst->wavefront();
20742 sdst.
setBit(lane, (!std::isnan(src0[lane])
20743 && !std::isnan(src1[lane])) ? 1 : 0);
20771 Wavefront *wf = gpuDynInst->wavefront();
20803 sdst.
setBit(lane, (std::isnan(src0[lane])
20804 || std::isnan(src1[lane])) ? 1 : 0);
20831 Wavefront *wf = gpuDynInst->wavefront();
20863 sdst.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
20890 Wavefront *wf = gpuDynInst->wavefront();
20922 sdst.
setBit(lane, !(src0[lane] < src1[lane]
20923 || src0[lane] > src1[lane]) ? 1 : 0);
20950 Wavefront *wf = gpuDynInst->wavefront();
20982 sdst.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
21009 Wavefront *wf = gpuDynInst->wavefront();
21041 sdst.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
21068 Wavefront *wf = gpuDynInst->wavefront();
21100 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
21127 Wavefront *wf = gpuDynInst->wavefront();
21159 sdst.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
21186 Wavefront *wf = gpuDynInst->wavefront();
21215 Wavefront *wf = gpuDynInst->wavefront();
21244 Wavefront *wf = gpuDynInst->wavefront();
21264 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
21288 Wavefront *wf = gpuDynInst->wavefront();
21308 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
21332 Wavefront *wf = gpuDynInst->wavefront();
21352 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
21376 Wavefront *wf = gpuDynInst->wavefront();
21396 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
21420 Wavefront *wf = gpuDynInst->wavefront();
21440 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
21464 Wavefront *wf = gpuDynInst->wavefront();
21484 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
21507 Wavefront *wf = gpuDynInst->wavefront();
21535 Wavefront *wf = gpuDynInst->wavefront();
21564 Wavefront *wf = gpuDynInst->wavefront();
21584 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
21608 Wavefront *wf = gpuDynInst->wavefront();
21628 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
21652 Wavefront *wf = gpuDynInst->wavefront();
21672 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
21696 Wavefront *wf = gpuDynInst->wavefront();
21716 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
21740 Wavefront *wf = gpuDynInst->wavefront();
21760 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
21784 Wavefront *wf = gpuDynInst->wavefront();
21804 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
21827 Wavefront *wf = gpuDynInst->wavefront();
21857 Wavefront *wf = gpuDynInst->wavefront();
21888 Wavefront *wf = gpuDynInst->wavefront();
21908 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
21934 Wavefront *wf = gpuDynInst->wavefront();
21954 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
21980 Wavefront *wf = gpuDynInst->wavefront();
22000 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
22026 Wavefront *wf = gpuDynInst->wavefront();
22046 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
22072 Wavefront *wf = gpuDynInst->wavefront();
22092 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
22118 Wavefront *wf = gpuDynInst->wavefront();
22138 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
22164 Wavefront *wf = gpuDynInst->wavefront();
22195 Wavefront *wf = gpuDynInst->wavefront();
22226 Wavefront *wf = gpuDynInst->wavefront();
22246 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
22272 Wavefront *wf = gpuDynInst->wavefront();
22292 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
22318 Wavefront *wf = gpuDynInst->wavefront();
22338 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
22364 Wavefront *wf = gpuDynInst->wavefront();
22384 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
22410 Wavefront *wf = gpuDynInst->wavefront();
22430 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
22456 Wavefront *wf = gpuDynInst->wavefront();
22476 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
22502 Wavefront *wf = gpuDynInst->wavefront();
22531 Wavefront *wf = gpuDynInst->wavefront();
22560 Wavefront *wf = gpuDynInst->wavefront();
22580 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
22604 Wavefront *wf = gpuDynInst->wavefront();
22624 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
22648 Wavefront *wf = gpuDynInst->wavefront();
22668 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
22692 Wavefront *wf = gpuDynInst->wavefront();
22712 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
22736 Wavefront *wf = gpuDynInst->wavefront();
22756 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
22780 Wavefront *wf = gpuDynInst->wavefront();
22800 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
22823 Wavefront *wf = gpuDynInst->wavefront();
22851 Wavefront *wf = gpuDynInst->wavefront();
22880 Wavefront *wf = gpuDynInst->wavefront();
22900 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
22924 Wavefront *wf = gpuDynInst->wavefront();
22944 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
22968 Wavefront *wf = gpuDynInst->wavefront();
22988 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
23012 Wavefront *wf = gpuDynInst->wavefront();
23032 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
23056 Wavefront *wf = gpuDynInst->wavefront();
23076 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
23100 Wavefront *wf = gpuDynInst->wavefront();
23120 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
23143 Wavefront *wf = gpuDynInst->wavefront();
23173 Wavefront *wf = gpuDynInst->wavefront();
23204 Wavefront *wf = gpuDynInst->wavefront();
23224 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
23250 Wavefront *wf = gpuDynInst->wavefront();
23270 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
23296 Wavefront *wf = gpuDynInst->wavefront();
23316 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
23342 Wavefront *wf = gpuDynInst->wavefront();
23362 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
23388 Wavefront *wf = gpuDynInst->wavefront();
23408 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
23434 Wavefront *wf = gpuDynInst->wavefront();
23454 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
23480 Wavefront *wf = gpuDynInst->wavefront();
23511 Wavefront *wf = gpuDynInst->wavefront();
23542 Wavefront *wf = gpuDynInst->wavefront();
23562 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
23588 Wavefront *wf = gpuDynInst->wavefront();
23608 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
23634 Wavefront *wf = gpuDynInst->wavefront();
23654 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
23680 Wavefront *wf = gpuDynInst->wavefront();
23700 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
23726 Wavefront *wf = gpuDynInst->wavefront();
23746 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
23772 Wavefront *wf = gpuDynInst->wavefront();
23792 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
23818 Wavefront *wf = gpuDynInst->wavefront();
23847 Wavefront *wf = gpuDynInst->wavefront();
23876 Wavefront *wf = gpuDynInst->wavefront();
23896 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
23920 Wavefront *wf = gpuDynInst->wavefront();
23940 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
23964 Wavefront *wf = gpuDynInst->wavefront();
23984 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
24008 Wavefront *wf = gpuDynInst->wavefront();
24028 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
24052 Wavefront *wf = gpuDynInst->wavefront();
24072 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
24096 Wavefront *wf = gpuDynInst->wavefront();
24116 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
24139 Wavefront *wf = gpuDynInst->wavefront();
24167 Wavefront *wf = gpuDynInst->wavefront();
24196 Wavefront *wf = gpuDynInst->wavefront();
24216 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
24240 Wavefront *wf = gpuDynInst->wavefront();
24260 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
24284 Wavefront *wf = gpuDynInst->wavefront();
24304 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
24328 Wavefront *wf = gpuDynInst->wavefront();
24348 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
24372 Wavefront *wf = gpuDynInst->wavefront();
24392 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
24416 Wavefront *wf = gpuDynInst->wavefront();
24436 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
24459 Wavefront *wf = gpuDynInst->wavefront();
24489 Wavefront *wf = gpuDynInst->wavefront();
24520 Wavefront *wf = gpuDynInst->wavefront();
24540 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
24566 Wavefront *wf = gpuDynInst->wavefront();
24586 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
24612 Wavefront *wf = gpuDynInst->wavefront();
24632 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
24658 Wavefront *wf = gpuDynInst->wavefront();
24678 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
24704 Wavefront *wf = gpuDynInst->wavefront();
24724 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
24750 Wavefront *wf = gpuDynInst->wavefront();
24770 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
24796 Wavefront *wf = gpuDynInst->wavefront();
24827 Wavefront *wf = gpuDynInst->wavefront();
24858 Wavefront *wf = gpuDynInst->wavefront();
24878 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
24904 Wavefront *wf = gpuDynInst->wavefront();
24924 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
24950 Wavefront *wf = gpuDynInst->wavefront();
24970 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
24996 Wavefront *wf = gpuDynInst->wavefront();
25016 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
25042 Wavefront *wf = gpuDynInst->wavefront();
25062 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
25088 Wavefront *wf = gpuDynInst->wavefront();
25108 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
25134 Wavefront *wf = gpuDynInst->wavefront();
25175 Wavefront *wf = gpuDynInst->wavefront();
25198 ? src1[lane] : src0[lane];
25222 Wavefront *wf = gpuDynInst->wavefront();
25254 vdst[lane] = src0[lane] + src1[lane];
25279 Wavefront *wf = gpuDynInst->wavefront();
25311 vdst[lane] = src0[lane] - src1[lane];
25336 Wavefront *wf = gpuDynInst->wavefront();
25368 vdst[lane] = src1[lane] - src0[lane];
25377 :
Inst_VOP3A(iFmt,
"v_mul_legacy_f32", false)
25392 Wavefront *wf = gpuDynInst->wavefront();
25424 if (std::isnan(src0[lane]) ||
25425 std::isnan(src1[lane])) {
25427 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
25428 std::fpclassify(src0[lane]) == FP_ZERO) &&
25429 !std::signbit(src0[lane])) {
25430 if (std::isinf(src1[lane])) {
25432 }
else if (!std::signbit(src1[lane])) {
25437 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
25438 std::fpclassify(src0[lane]) == FP_ZERO) &&
25439 std::signbit(src0[lane])) {
25440 if (std::isinf(src1[lane])) {
25442 }
else if (std::signbit(src1[lane])) {
25447 }
else if (std::isinf(src0[lane]) &&
25448 !std::signbit(src0[lane])) {
25449 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
25450 std::fpclassify(src1[lane]) == FP_ZERO) {
25452 }
else if (!std::signbit(src1[lane])) {
25453 vdst[lane] = +INFINITY;
25455 vdst[lane] = -INFINITY;
25457 }
else if (std::isinf(src0[lane]) &&
25458 std::signbit(src0[lane])) {
25459 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
25460 std::fpclassify(src1[lane]) == FP_ZERO) {
25462 }
else if (std::signbit(src1[lane])) {
25463 vdst[lane] = +INFINITY;
25465 vdst[lane] = -INFINITY;
25468 vdst[lane] = src0[lane] * src1[lane];
25493 Wavefront *wf = gpuDynInst->wavefront();
25525 if (std::isnan(src0[lane]) ||
25526 std::isnan(src1[lane])) {
25528 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
25529 std::fpclassify(src0[lane]) == FP_ZERO) &&
25530 !std::signbit(src0[lane])) {
25531 if (std::isinf(src1[lane])) {
25533 }
else if (!std::signbit(src1[lane])) {
25538 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
25539 std::fpclassify(src0[lane]) == FP_ZERO) &&
25540 std::signbit(src0[lane])) {
25541 if (std::isinf(src1[lane])) {
25543 }
else if (std::signbit(src1[lane])) {
25548 }
else if (std::isinf(src0[lane]) &&
25549 !std::signbit(src0[lane])) {
25550 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
25551 std::fpclassify(src1[lane]) == FP_ZERO) {
25553 }
else if (!std::signbit(src1[lane])) {
25554 vdst[lane] = +INFINITY;
25556 vdst[lane] = -INFINITY;
25558 }
else if (std::isinf(src0[lane]) &&
25559 std::signbit(src0[lane])) {
25560 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
25561 std::fpclassify(src1[lane]) == FP_ZERO) {
25563 }
else if (std::signbit(src1[lane])) {
25564 vdst[lane] = +INFINITY;
25566 vdst[lane] = -INFINITY;
25569 vdst[lane] = src0[lane] * src1[lane];
25593 Wavefront *wf = gpuDynInst->wavefront();
25613 vdst[lane] = sext<24>(
bits(src0[lane], 23, 0))
25614 * sext<24>(
bits(src1[lane], 23, 0));
25623 :
Inst_VOP3A(iFmt,
"v_mul_hi_i32_i24", false)
25637 Wavefront *wf = gpuDynInst->wavefront();
25662 vdst[lane] = (
VecElemI32)((tmp_src0 * tmp_src1) >> 32);
25685 Wavefront *wf = gpuDynInst->wavefront();
25705 vdst[lane] =
bits(src0[lane], 23, 0) *
bits(src1[lane], 23, 0);
25714 :
Inst_VOP3A(iFmt,
"v_mul_hi_u32_u24", false)
25728 Wavefront *wf = gpuDynInst->wavefront();
25750 vdst[lane] = (
VecElemU32)((tmp_src0 * tmp_src1) >> 32);
25774 Wavefront *wf = gpuDynInst->wavefront();
25806 vdst[lane] = std::fmin(src0[lane], src1[lane]);
25830 Wavefront *wf = gpuDynInst->wavefront();
25862 vdst[lane] = std::fmax(src0[lane], src1[lane]);
25885 Wavefront *wf = gpuDynInst->wavefront();
25905 vdst[lane] = std::min(src0[lane], src1[lane]);
25928 Wavefront *wf = gpuDynInst->wavefront();
25948 vdst[lane] = std::max(src0[lane], src1[lane]);
25971 Wavefront *wf = gpuDynInst->wavefront();
25991 vdst[lane] = std::min(src0[lane], src1[lane]);
26014 Wavefront *wf = gpuDynInst->wavefront();
26034 vdst[lane] = std::max(src0[lane], src1[lane]);
26059 Wavefront *wf = gpuDynInst->wavefront();
26079 vdst[lane] = src1[lane] >>
bits(src0[lane], 4, 0);
26104 Wavefront *wf = gpuDynInst->wavefront();
26124 vdst[lane] = src1[lane] >>
bits(src0[lane], 4, 0);
26148 Wavefront *wf = gpuDynInst->wavefront();
26168 vdst[lane] = src1[lane] <<
bits(src0[lane], 4, 0);
26192 Wavefront *wf = gpuDynInst->wavefront();
26212 vdst[lane] = src0[lane] & src1[lane];
26236 Wavefront *wf = gpuDynInst->wavefront();
26256 vdst[lane] = src0[lane] | src1[lane];
26280 Wavefront *wf = gpuDynInst->wavefront();
26302 vdst[lane] = src0[lane] | src1[lane] | src2[lane];
26326 Wavefront *wf = gpuDynInst->wavefront();
26346 vdst[lane] = src0[lane] ^ src1[lane];
26372 Wavefront *wf = gpuDynInst->wavefront();
26405 vdst[lane] = std::fma(src0[lane], src1[lane], vdst[lane]);
26432 Wavefront *wf = gpuDynInst->wavefront();
26450 vdst[lane] = src0[lane] + src1[lane];
26452 + (
VecElemU64)src1[lane]) >= 0x100000000ULL ? 1 : 0);
26480 Wavefront *wf = gpuDynInst->wavefront();
26498 vdst[lane] = src0[lane] - src1[lane];
26499 vcc.
setBit(lane, src1[lane] > src0[lane] ? 1 : 0);
26529 Wavefront *wf = gpuDynInst->wavefront();
26547 vdst[lane] = src1[lane] - src0[lane];
26548 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
26578 Wavefront *wf = gpuDynInst->wavefront();
26598 vdst[lane] = src0[lane] + src1[lane]
26603 >= 0x100000000 ? 1 : 0);
26633 Wavefront *wf = gpuDynInst->wavefront();
26653 vdst[lane] = src0[lane] - src1[lane]
26656 > src0[lane] ? 1 : 0);
26687 Wavefront *wf = gpuDynInst->wavefront();
26707 vdst[lane] = src1[lane] - src0[lane]
26710 > src0[lane] ? 1 : 0);
26844 Wavefront *wf = gpuDynInst->wavefront();
26864 vdst[lane] = src0[lane] + src1[lane];
26888 Wavefront *wf = gpuDynInst->wavefront();
26908 vdst[lane] = src0[lane] - src1[lane];
26933 Wavefront *wf = gpuDynInst->wavefront();
26953 vdst[lane] = src1[lane] - src0[lane];
26977 Wavefront *wf = gpuDynInst->wavefront();
26997 vdst[lane] = src0[lane] * src1[lane];
27021 Wavefront *wf = gpuDynInst->wavefront();
27041 vdst[lane] = src1[lane] <<
bits(src0[lane], 3, 0);
27066 Wavefront *wf = gpuDynInst->wavefront();
27092 vdst[lane] = src1[lane] >>
bits(src0[lane], 3, 0);
27117 Wavefront *wf = gpuDynInst->wavefront();
27137 vdst[lane] = src1[lane] >>
bits(src0[lane], 3, 0);
27204 Wavefront *wf = gpuDynInst->wavefront();
27230 vdst[lane] = std::max(src0[lane], src1[lane]);
27253 Wavefront *wf = gpuDynInst->wavefront();
27279 vdst[lane] = std::max(src0[lane], src1[lane]);
27302 Wavefront *wf = gpuDynInst->wavefront();
27328 vdst[lane] = std::min(src0[lane], src1[lane]);
27351 Wavefront *wf = gpuDynInst->wavefront();
27377 vdst[lane] = std::min(src0[lane], src1[lane]);
27420 Wavefront *wf = gpuDynInst->wavefront();
27440 vdst[lane] = src0[lane] + src1[lane];
27463 Wavefront *wf = gpuDynInst->wavefront();
27483 vdst[lane] = src0[lane] - src1[lane];
27506 Wavefront *wf = gpuDynInst->wavefront();
27526 vdst[lane] = src1[lane] - src0[lane];
27569 Wavefront *wf = gpuDynInst->wavefront();
27577 vdst[lane] = src[lane];
27603 Wavefront *wf = gpuDynInst->wavefront();
27620 std::frexp(src[lane],&exp);
27621 if (std::isnan(src[lane])) {
27623 }
else if (std::isinf(src[lane]) || exp > 30) {
27624 if (std::signbit(src[lane])) {
27625 vdst[lane] = INT_MIN;
27627 vdst[lane] = INT_MAX;
27655 Wavefront *wf = gpuDynInst->wavefront();
27695 Wavefront *wf = gpuDynInst->wavefront();
27737 Wavefront *wf = gpuDynInst->wavefront();
27779 Wavefront *wf = gpuDynInst->wavefront();
27796 std::frexp(src[lane],&exp);
27797 if (std::isnan(src[lane])) {
27799 }
else if (std::isinf(src[lane])) {
27800 if (std::signbit(src[lane])) {
27803 vdst[lane] = UINT_MAX;
27805 }
else if (exp > 31) {
27806 vdst[lane] = UINT_MAX;
27835 Wavefront *wf = gpuDynInst->wavefront();
27860 std::frexp(src[lane],&exp);
27861 if (std::isnan(src[lane])) {
27863 }
else if (std::isinf(src[lane]) || exp > 30) {
27864 if (std::signbit(src[lane])) {
27865 vdst[lane] = INT_MIN;
27867 vdst[lane] = INT_MAX;
27945 :
Inst_VOP3A(iFmt,
"v_cvt_rpi_i32_f32", false)
27960 Wavefront *wf = gpuDynInst->wavefront();
27976 vdst[lane] = (
VecElemI32)std::floor(src[lane] + 0.5);
27986 :
Inst_VOP3A(iFmt,
"v_cvt_flr_i32_f32", false)
28001 Wavefront *wf = gpuDynInst->wavefront();
28017 vdst[lane] = (
VecElemI32)std::floor(src[lane]);
28026 :
Inst_VOP3A(iFmt,
"v_cvt_off_f32_i4", false)
28062 Wavefront *wf = gpuDynInst->wavefront();
28110 Wavefront *wf = gpuDynInst->wavefront();
28143 :
Inst_VOP3A(iFmt,
"v_cvt_f32_ubyte0", false)
28158 Wavefront *wf = gpuDynInst->wavefront();
28183 :
Inst_VOP3A(iFmt,
"v_cvt_f32_ubyte1", false)
28198 Wavefront *wf = gpuDynInst->wavefront();
28223 :
Inst_VOP3A(iFmt,
"v_cvt_f32_ubyte2", false)
28238 Wavefront *wf = gpuDynInst->wavefront();
28263 :
Inst_VOP3A(iFmt,
"v_cvt_f32_ubyte3", false)
28278 Wavefront *wf = gpuDynInst->wavefront();
28320 Wavefront *wf = gpuDynInst->wavefront();
28337 std::frexp(src[lane],&exp);
28338 if (std::isnan(src[lane])) {
28340 }
else if (std::isinf(src[lane])) {
28341 if (std::signbit(src[lane])) {
28344 vdst[lane] = UINT_MAX;
28346 }
else if (exp > 31) {
28347 vdst[lane] = UINT_MAX;
28374 Wavefront *wf = gpuDynInst->wavefront();
28414 Wavefront *wf = gpuDynInst->wavefront();
28430 vdst[lane] = std::trunc(src[lane]);
28455 Wavefront *wf = gpuDynInst->wavefront();
28471 vdst[lane] = std::ceil(src[lane]);
28495 Wavefront *wf = gpuDynInst->wavefront();
28536 Wavefront *wf = gpuDynInst->wavefront();
28552 vdst[lane] = std::floor(src[lane]);
28576 Wavefront *wf = gpuDynInst->wavefront();
28593 vdst[lane] = std::modf(src[lane], &int_part);
28617 Wavefront *wf = gpuDynInst->wavefront();
28633 vdst[lane] = std::trunc(src[lane]);
28658 Wavefront *wf = gpuDynInst->wavefront();
28674 vdst[lane] = std::ceil(src[lane]);
28698 Wavefront *wf = gpuDynInst->wavefront();
28739 Wavefront *wf = gpuDynInst->wavefront();
28755 vdst[lane] = std::floor(src[lane]);
28779 Wavefront *wf = gpuDynInst->wavefront();
28795 vdst[lane] = std::pow(2.0, src[lane]);
28819 Wavefront *wf = gpuDynInst->wavefront();
28843 vdst[lane] = std::log2(src[lane]);
28867 Wavefront *wf = gpuDynInst->wavefront();
28883 vdst[lane] = 1.0 / src[lane];
28892 :
Inst_VOP3A(iFmt,
"v_rcp_iflag_f32", false)
28909 Wavefront *wf = gpuDynInst->wavefront();
28925 vdst[lane] = 1.0 / src[lane];
28949 Wavefront *wf = gpuDynInst->wavefront();
28965 vdst[lane] = 1.0 / std::sqrt(src[lane]);
28989 Wavefront *wf = gpuDynInst->wavefront();
29005 if (std::fpclassify(src[lane]) == FP_ZERO) {
29006 vdst[lane] = +INFINITY;
29007 }
else if (std::isnan(src[lane])) {
29009 }
else if (std::isinf(src[lane])) {
29010 if (std::signbit(src[lane])) {
29016 vdst[lane] = 1.0 / src[lane];
29041 Wavefront *wf = gpuDynInst->wavefront();
29057 if (std::fpclassify(src[lane]) == FP_ZERO) {
29058 vdst[lane] = +INFINITY;
29059 }
else if (std::isnan(src[lane])) {
29061 }
else if (std::isinf(src[lane]) && !std::signbit(src[lane])) {
29063 }
else if (std::signbit(src[lane])) {
29066 vdst[lane] = 1.0 / std::sqrt(src[lane]);
29091 Wavefront *wf = gpuDynInst->wavefront();
29107 vdst[lane] = std::sqrt(src[lane]);
29131 Wavefront *wf = gpuDynInst->wavefront();
29147 vdst[lane] = std::sqrt(src[lane]);
29173 Wavefront *wf = gpuDynInst->wavefront();
29191 vdst[lane] = std::sin(src[lane] * 2 * pi.
rawData());
29217 Wavefront *wf = gpuDynInst->wavefront();
29235 vdst[lane] = std::cos(src[lane] * 2 * pi.
rawData());
29259 Wavefront *wf = gpuDynInst->wavefront();
29275 vdst[lane] = ~src[lane];
29299 Wavefront *wf = gpuDynInst->wavefront();
29331 Wavefront *wf = gpuDynInst->wavefront();
29371 Wavefront *wf = gpuDynInst->wavefront();
29411 Wavefront *wf = gpuDynInst->wavefront();
29437 :
Inst_VOP3A(iFmt,
"v_frexp_exp_i32_f64", false)
29452 Wavefront *wf = gpuDynInst->wavefront();
29468 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
29472 std::frexp(src[lane], &exp);
29483 :
Inst_VOP3A(iFmt,
"v_frexp_mant_f64", false)
29498 Wavefront *wf = gpuDynInst->wavefront();
29515 vdst[lane] = std::frexp(src[lane], &exp);
29539 Wavefront *wf = gpuDynInst->wavefront();
29556 vdst[lane] = std::modf(src[lane], &int_part);
29566 :
Inst_VOP3A(iFmt,
"v_frexp_exp_i32_f32", false)
29585 Wavefront *wf = gpuDynInst->wavefront();
29601 if (std::isinf(src[lane])|| std::isnan(src[lane])) {
29605 std::frexp(src[lane], &exp);
29616 :
Inst_VOP3A(iFmt,
"v_frexp_mant_f32", false)
29636 Wavefront *wf = gpuDynInst->wavefront();
29652 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
29653 vdst[lane] = src[lane];
29656 vdst[lane] = std::frexp(src[lane], &exp);
29883 :
Inst_VOP3A(iFmt,
"v_frexp_mant_f16", false)
29911 :
Inst_VOP3A(iFmt,
"v_frexp_exp_i16_f16", false)
30082 :
Inst_VOP3A(iFmt,
"v_exp_legacy_f32", false)
30097 Wavefront *wf = gpuDynInst->wavefront();
30121 vdst[lane] = std::pow(2.0, src[lane]);
30130 :
Inst_VOP3A(iFmt,
"v_log_legacy_f32", false)
30145 Wavefront *wf = gpuDynInst->wavefront();
30153 vdst[lane] = std::log2(src[lane]);
30162 :
Inst_VOP3A(iFmt,
"v_mad_legacy_f32", false)
30178 Wavefront *wf = gpuDynInst->wavefront();
30214 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
30239 Wavefront *wf = gpuDynInst->wavefront();
30275 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
30299 Wavefront *wf = gpuDynInst->wavefront();
30321 vdst[lane] = sext<24>(
bits(src0[lane], 23, 0))
30322 * sext<24>(
bits(src1[lane], 23, 0)) + src2[lane];
30346 Wavefront *wf = gpuDynInst->wavefront();
30368 vdst[lane] =
bits(src0[lane], 23, 0) *
bits(src1[lane], 23, 0)
30477 Wavefront *wf = gpuDynInst->wavefront();
30499 vdst[lane] = (src0[lane] >>
bits(src1[lane], 4, 0))
30500 & ((1 <<
bits(src2[lane], 4, 0)) - 1);
30524 Wavefront *wf = gpuDynInst->wavefront();
30546 vdst[lane] = (src0[lane] >>
bits(src1[lane], 4, 0))
30547 & ((1 <<
bits(src2[lane], 4, 0)) - 1);
30552 if (vdst[lane] >> (
bits(src2[lane], 4, 0) - 1)) {
30553 vdst[lane] |= 0xffffffff <<
bits(src2[lane], 4, 0);
30577 Wavefront *wf = gpuDynInst->wavefront();
30599 vdst[lane] = (src0[lane] & src1[lane]) | (~src0[lane]
30625 Wavefront *wf = gpuDynInst->wavefront();
30661 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
30686 Wavefront *wf = gpuDynInst->wavefront();
30722 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
30751 Wavefront *wf = gpuDynInst->wavefront();
30773 vdst[lane] = ((
bits(src0[lane], 31, 24)
30774 +
bits(src1[lane], 31, 24) +
bits(src2[lane], 24)) >> 1)
30776 vdst[lane] += ((
bits(src0[lane], 23, 16)
30777 +
bits(src1[lane], 23, 16) +
bits(src2[lane], 16)) >> 1)
30779 vdst[lane] += ((
bits(src0[lane], 15, 8)
30780 +
bits(src1[lane], 15, 8) +
bits(src2[lane], 8)) >> 1)
30782 vdst[lane] += ((
bits(src0[lane], 7, 0) +
bits(src1[lane], 7, 0)
30783 +
bits(src2[lane], 0)) >> 1);
30806 Wavefront *wf = gpuDynInst->wavefront();
30840 :
Inst_VOP3A(iFmt,
"v_alignbyte_b32", false)
30854 Wavefront *wf = gpuDynInst->wavefront();
30904 Wavefront *wf = gpuDynInst->wavefront();
30940 VecElemF32 min_0_1 = std::fmin(src0[lane], src1[lane]);
30941 vdst[lane] = std::fmin(min_0_1, src2[lane]);
30964 Wavefront *wf = gpuDynInst->wavefront();
30986 VecElemI32 min_0_1 = std::min(src0[lane], src1[lane]);
30987 vdst[lane] = std::min(min_0_1, src2[lane]);
31010 Wavefront *wf = gpuDynInst->wavefront();
31032 VecElemU32 min_0_1 = std::min(src0[lane], src1[lane]);
31033 vdst[lane] = std::min(min_0_1, src2[lane]);
31057 Wavefront *wf = gpuDynInst->wavefront();
31093 VecElemF32 max_0_1 = std::fmax(src0[lane], src1[lane]);
31094 vdst[lane] = std::fmax(max_0_1, src2[lane]);
31117 Wavefront *wf = gpuDynInst->wavefront();
31139 VecElemI32 max_0_1 = std::max(src0[lane], src1[lane]);
31140 vdst[lane] = std::max(max_0_1, src2[lane]);
31163 Wavefront *wf = gpuDynInst->wavefront();
31185 VecElemU32 max_0_1 = std::max(src0[lane], src1[lane]);
31186 vdst[lane] = std::max(max_0_1, src2[lane]);
31210 Wavefront *wf = gpuDynInst->wavefront();
31246 vdst[lane] =
median(src0[lane], src1[lane], src2[lane]);
31269 Wavefront *wf = gpuDynInst->wavefront();
31291 vdst[lane] =
median(src0[lane], src1[lane], src2[lane]);
31314 Wavefront *wf = gpuDynInst->wavefront();
31336 vdst[lane] =
median(src0[lane], src1[lane], src2[lane]);
31362 Wavefront *wf = gpuDynInst->wavefront();
31384 vdst[lane] = std::abs(
bits(src0[lane], 31, 24)
31385 -
bits(src1[lane], 31, 24))
31386 + std::abs(
bits(src0[lane], 23, 16)
31387 -
bits(src1[lane], 23, 16))
31388 + std::abs(
bits(src0[lane], 15, 8)
31389 -
bits(src1[lane], 15, 8))
31390 + std::abs(
bits(src0[lane], 7, 0)
31391 -
bits(src1[lane], 7, 0)) + src2[lane];
31415 Wavefront *wf = gpuDynInst->wavefront();
31437 vdst[lane] = (((
bits(src0[lane], 31, 24)
31438 -
bits(src1[lane], 31, 24)) + (
bits(src0[lane], 23, 16)
31439 -
bits(src1[lane], 23, 16)) + (
bits(src0[lane], 15, 8)
31440 -
bits(src1[lane], 15, 8)) + (
bits(src0[lane], 7, 0)
31441 -
bits(src1[lane], 7, 0))) << 16) + src2[lane];
31466 Wavefront *wf = gpuDynInst->wavefront();
31488 vdst[lane] = std::abs(
bits(src0[lane], 31, 16)
31489 -
bits(src1[lane], 31, 16))
31490 + std::abs(
bits(src0[lane], 15, 0)
31491 -
bits(src1[lane], 15, 0)) + src2[lane];
31515 Wavefront *wf = gpuDynInst->wavefront();
31537 vdst[lane] = std::abs(src0[lane] - src1[lane]) + src2[lane];
31546 :
Inst_VOP3A(iFmt,
"v_cvt_pk_u8_f32", false)
31564 Wavefront *wf = gpuDynInst->wavefront();
31593 vdst[lane] = (((
VecElemU8)src0[lane] & 0xff)
31594 << (8 *
bits(src1[lane], 1, 0)))
31595 | (src2[lane] & ~(0xff << (8 *
bits(src1[lane], 1, 0))));
31604 :
Inst_VOP3A(iFmt,
"v_div_fixup_f32", false)
31621 Wavefront *wf = gpuDynInst->wavefront();
31657 if (std::fpclassify(src1[lane]) == FP_ZERO) {
31658 if (std::signbit(src1[lane])) {
31659 vdst[lane] = -INFINITY;
31661 vdst[lane] = +INFINITY;
31663 }
else if (std::isnan(src2[lane]) || std::isnan(src1[lane])) {
31665 }
else if (std::isinf(src1[lane])) {
31666 if (std::signbit(src1[lane])) {
31667 vdst[lane] = -INFINITY;
31669 vdst[lane] = +INFINITY;
31672 vdst[lane] = src2[lane] / src1[lane];
31682 :
Inst_VOP3A(iFmt,
"v_div_fixup_f64", false)
31699 Wavefront *wf = gpuDynInst->wavefront();
31735 int sign_out = std::signbit(src1[lane])
31736 ^ std::signbit(src2[lane]);
31739 std::frexp(src1[lane], &exp1);
31740 std::frexp(src2[lane], &exp2);
31742 if (std::isnan(src1[lane]) || std::isnan(src2[lane])) {
31743 vdst[lane] = std::numeric_limits<VecElemF64>::quiet_NaN();
31744 }
else if (std::fpclassify(src1[lane]) == FP_ZERO
31745 && std::fpclassify(src2[lane]) == FP_ZERO) {
31747 = std::numeric_limits<VecElemF64>::signaling_NaN();
31748 }
else if (std::isinf(src1[lane]) && std::isinf(src2[lane])) {
31750 = std::numeric_limits<VecElemF64>::signaling_NaN();
31751 }
else if (std::fpclassify(src1[lane]) == FP_ZERO
31752 || std::isinf(src2[lane])) {
31753 vdst[lane] = sign_out ? -INFINITY : +INFINITY;
31754 }
else if (std::isinf(src1[lane])
31755 || std::fpclassify(src2[lane]) == FP_ZERO) {
31756 vdst[lane] = sign_out ? -0.0 : +0.0;
31757 }
else if (exp2 - exp1 < -1075) {
31758 vdst[lane] = src0[lane];
31759 }
else if (exp1 == 2047) {
31760 vdst[lane] = src0[lane];
31762 vdst[lane] = sign_out ? -std::fabs(src0[lane])
31763 : std::fabs(src0[lane]);
31794 Wavefront *wf = gpuDynInst->wavefront();
31819 vdst[lane] = src0[lane];
31851 Wavefront *wf = gpuDynInst->wavefront();
31878 std::frexp(src1[lane], &exp1);
31879 std::frexp(src2[lane], &exp2);
31882 if (std::fpclassify(src1[lane]) == FP_ZERO
31883 || std::fpclassify(src2[lane]) == FP_ZERO) {
31885 }
else if (exp2 - exp1 >= 768) {
31887 if (src0[lane] == src1[lane]) {
31888 vdst[lane] = std::ldexp(src0[lane], 128);
31890 }
else if (std::fpclassify(src1[lane]) == FP_SUBNORMAL) {
31891 vdst[lane] = std::ldexp(src0[lane], 128);
31892 }
else if (std::fpclassify(1.0 / src1[lane]) == FP_SUBNORMAL
31893 && std::fpclassify(src2[lane] / src1[lane])
31896 if (src0[lane] == src1[lane]) {
31897 vdst[lane] = std::ldexp(src0[lane], 128);
31899 }
else if (std::fpclassify(1.0 / src1[lane]) == FP_SUBNORMAL) {
31900 vdst[lane] = std::ldexp(src0[lane], -128);
31901 }
else if (std::fpclassify(src2[lane] / src1[lane])
31904 if (src0[lane] == src2[lane]) {
31905 vdst[lane] = std::ldexp(src0[lane], 128);
31907 }
else if (exp2 <= 53) {
31908 vdst[lane] = std::ldexp(src0[lane], 128);
31937 Wavefront *wf = gpuDynInst->wavefront();
31973 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
32000 Wavefront *wf = gpuDynInst->wavefront();
32039 vdst[lane] = std::pow(2, 64)
32040 * std::fma(src0[lane], src1[lane], src2[lane]);
32042 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
32071 :
Inst_VOP3A(iFmt,
"v_qsad_pk_u16_u8", false)
32092 :
Inst_VOP3A(iFmt,
"v_mqsad_pk_u16_u8", false)
32149 Wavefront *wf = gpuDynInst->wavefront();
32170 vcc.
setBit(lane,
muladd(vdst[lane], src0[lane], src1[lane],
32198 Wavefront *wf = gpuDynInst->wavefront();
32218 vcc.
setBit(lane,
muladd(vdst[lane], src0[lane], src1[lane],
32243 Wavefront *wf = gpuDynInst->wavefront();
32265 vdst[lane] = (src0[lane] ^ src1[lane]) + src2[lane];
32288 Wavefront *wf = gpuDynInst->wavefront();
32310 vdst[lane] = (src0[lane] <<
bits(src1[lane], 4, 0))
32334 Wavefront *wf = gpuDynInst->wavefront();
32357 (src0[lane] + src1[lane]) <<
bits(src2[lane], 4, 0);
32380 Wavefront *wf = gpuDynInst->wavefront();
32402 vdst[lane] = src0[lane] + src1[lane] + src2[lane];
32425 Wavefront *wf = gpuDynInst->wavefront();
32447 vdst[lane] = (src0[lane] <<
bits(src1[lane], 4, 0))
32472 Wavefront *wf = gpuDynInst->wavefront();
32494 vdst[lane] = (src0[lane] & src1[lane]) | src2[lane];
32541 Wavefront *wf = gpuDynInst->wavefront();
32563 vdst[lane] = src0[lane] * src1[lane] + src2[lane];
32588 Wavefront *wf = gpuDynInst->wavefront();
32610 vdst[lane] = src0[lane] * src1[lane] + src2[lane];
32646 Wavefront *wf = gpuDynInst->wavefront();
32662 DPRINTF(VEGA,
"Executing v_perm_b32 src_0 0x%08x, src_1 "
32663 "0x%08x, src_2 0x%08x, vdst 0x%08x\n", src0[lane],
32664 src1[lane], src2[lane], vdst[lane]);
32667 for (
int i = 0;
i < 4 ; ++
i) {
32670 vdst[lane] |= (permuted_val <<
i);
32673 DPRINTF(VEGA,
"v_perm result: 0x%08x\n", vdst[lane]);
32704 :
Inst_VOP3A(iFmt,
"v_div_fixup_f16", false)
32753 :
Inst_VOP3A(iFmt,
"v_cvt_pkaccum_u8_f32", false)
32777 :
Inst_VOP3A(iFmt,
"v_interp_p1_f32", false)
32804 :
Inst_VOP3A(iFmt,
"v_interp_p2_f32", false)
32829 :
Inst_VOP3A(iFmt,
"v_interp_mov_f32", false)
32850 :
Inst_VOP3A(iFmt,
"v_interp_p1ll_f16", false)
32879 :
Inst_VOP3A(iFmt,
"v_interp_p1lv_f16", false)
32908 :
Inst_VOP3A(iFmt,
"v_interp_p2_f16", false)
32950 Wavefront *wf = gpuDynInst->wavefront();
32982 if (std::isnan(src0[lane]) ||
32983 std::isnan(src1[lane]) ) {
32985 }
else if (std::isinf(src0[lane]) &&
32986 std::isinf(src1[lane])) {
32987 if (std::signbit(src0[lane]) !=
32988 std::signbit(src1[lane])) {
32991 vdst[lane] = src0[lane];
32993 }
else if (std::isinf(src0[lane])) {
32994 vdst[lane] = src0[lane];
32995 }
else if (std::isinf(src1[lane])) {
32996 vdst[lane] = src1[lane];
32997 }
else if (std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
32998 std::fpclassify(src0[lane]) == FP_ZERO) {
32999 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
33000 std::fpclassify(src1[lane]) == FP_ZERO) {
33001 if (std::signbit(src0[lane]) &&
33002 std::signbit(src1[lane])) {
33008 vdst[lane] = src1[lane];
33010 }
else if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
33011 std::fpclassify(src1[lane]) == FP_ZERO) {
33012 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
33013 std::fpclassify(src0[lane]) == FP_ZERO) {
33014 if (std::signbit(src0[lane]) &&
33015 std::signbit(src1[lane])) {
33021 vdst[lane] = src0[lane];
33024 vdst[lane] = src0[lane] + src1[lane];
33049 Wavefront *wf = gpuDynInst->wavefront();
33081 if (std::isnan(src0[lane]) ||
33082 std::isnan(src1[lane])) {
33084 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
33085 std::fpclassify(src0[lane]) == FP_ZERO) &&
33086 !std::signbit(src0[lane])) {
33087 if (std::isinf(src1[lane])) {
33089 }
else if (!std::signbit(src1[lane])) {
33094 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
33095 std::fpclassify(src0[lane]) == FP_ZERO) &&
33096 std::signbit(src0[lane])) {
33097 if (std::isinf(src1[lane])) {
33099 }
else if (std::signbit(src1[lane])) {
33104 }
else if (std::isinf(src0[lane]) &&
33105 !std::signbit(src0[lane])) {
33106 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
33107 std::fpclassify(src1[lane]) == FP_ZERO) {
33109 }
else if (!std::signbit(src1[lane])) {
33110 vdst[lane] = +INFINITY;
33112 vdst[lane] = -INFINITY;
33114 }
else if (std::isinf(src0[lane]) &&
33115 std::signbit(src0[lane])) {
33116 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
33117 std::fpclassify(src1[lane]) == FP_ZERO) {
33119 }
else if (std::signbit(src1[lane])) {
33120 vdst[lane] = +INFINITY;
33122 vdst[lane] = -INFINITY;
33125 vdst[lane] = src0[lane] * src1[lane];
33150 Wavefront *wf = gpuDynInst->wavefront();
33182 vdst[lane] = std::fmin(src0[lane], src1[lane]);
33206 Wavefront *wf = gpuDynInst->wavefront();
33238 vdst[lane] = std::fmax(src0[lane], src1[lane]);
33262 Wavefront *wf = gpuDynInst->wavefront();
33288 if (std::isnan(src0[lane]) || std::isinf(src0[lane])) {
33289 vdst[lane] = src0[lane];
33290 }
else if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
33291 || std::fpclassify(src0[lane]) == FP_ZERO) {
33292 if (std::signbit(src0[lane])) {
33298 vdst[lane] = std::ldexp(src0[lane], src1[lane]);
33322 Wavefront *wf = gpuDynInst->wavefront();
33344 vdst[lane] = (
VecElemU32)((s0 * s1) & 0xffffffffLL);
33367 Wavefront *wf = gpuDynInst->wavefront();
33390 = (
VecElemU32)(((s0 * s1) >> 32) & 0xffffffffLL);
33413 Wavefront *wf = gpuDynInst->wavefront();
33436 = (
VecElemI32)(((s0 * s1) >> 32LL) & 0xffffffffLL);
33460 Wavefront *wf = gpuDynInst->wavefront();
33478 vdst[lane] = std::ldexp(src0[lane], src1[lane]);
33521 sdst = src0[src1.
rawData() & 0x3f];
33528 :
Inst_VOP3A(iFmt,
"v_writelane_b32", false)
33586 Wavefront *wf = gpuDynInst->wavefront();
33606 vdst[lane] =
popCount(src0[lane]) + src1[lane];
33616 :
Inst_VOP3A(iFmt,
"v_mbcnt_lo_u32_b32", false)
33633 Wavefront *wf = gpuDynInst->wavefront();
33637 uint64_t threadMask = 0;
33654 threadMask = ((1LL << lane) - 1LL);
33655 vdst[lane] =
popCount(src0[lane] &
bits(threadMask, 31, 0)) +
33666 :
Inst_VOP3A(iFmt,
"v_mbcnt_hi_u32_b32", false)
33683 Wavefront *wf = gpuDynInst->wavefront();
33687 uint64_t threadMask = 0;
33704 threadMask = ((1LL << lane) - 1LL);
33705 vdst[lane] =
popCount(src0[lane] &
bits(threadMask, 63, 32)) +
33730 Wavefront *wf = gpuDynInst->wavefront();
33750 vdst[lane] = src1[lane] <<
bits(src0[lane], 5, 0);
33775 Wavefront *wf = gpuDynInst->wavefront();
33795 vdst[lane] = src1[lane] >>
bits(src0[lane], 5, 0);
33820 Wavefront *wf = gpuDynInst->wavefront();
33841 = src1[lane] >>
bits(src0[lane], 5, 0);
33850 :
Inst_VOP3A(iFmt,
"v_trig_preop_f64", false)
33890 Wavefront *wf = gpuDynInst->wavefront();
33910 vdst[lane] = ((1 <<
bits(src0[lane], 4, 0)) - 1)
33911 <<
bits(src1[lane], 4, 0);
33921 :
Inst_VOP3A(iFmt,
"v_cvt_pknorm_i16_f32", false)
33942 :
Inst_VOP3A(iFmt,
"v_cvt_pknorm_u16_f32", false)
33963 :
Inst_VOP3A(iFmt,
"v_cvt_pkrtz_f16_f32", false)
33986 :
Inst_VOP3A(iFmt,
"v_cvt_pk_u16_u32", false)
34005 :
Inst_VOP3A(iFmt,
"v_cvt_pk_i16_i32", false)
34024 :
Inst_DS(iFmt,
"ds_add_u32")
34042 Wavefront *wf = gpuDynInst->wavefront();
34044 if (gpuDynInst->exec_mask.none()) {
34050 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34051 gpuDynInst->latency.set(
34052 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34062 if (gpuDynInst->exec_mask[lane]) {
34063 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
34068 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34078 initAtomicAccess<VecElemU32>(gpuDynInst,
offset);
34088 :
Inst_DS(iFmt,
"ds_sub_u32")
34109 :
Inst_DS(iFmt,
"ds_rsub_u32")
34131 :
Inst_DS(iFmt,
"ds_inc_u32")
34152 :
Inst_DS(iFmt,
"ds_dec_u32")
34173 :
Inst_DS(iFmt,
"ds_min_i32")
34194 :
Inst_DS(iFmt,
"ds_max_i32")
34215 :
Inst_DS(iFmt,
"ds_min_u32")
34236 :
Inst_DS(iFmt,
"ds_max_u32")
34257 :
Inst_DS(iFmt,
"ds_and_b32")
34296 Wavefront *wf = gpuDynInst->wavefront();
34298 if (gpuDynInst->exec_mask.none()) {
34304 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34305 gpuDynInst->latency.set(
34306 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34316 if (gpuDynInst->exec_mask[lane]) {
34317 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
34322 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34332 initAtomicAccess<VecElemU32>(gpuDynInst,
offset);
34343 :
Inst_DS(iFmt,
"ds_xor_b32")
34364 :
Inst_DS(iFmt,
"ds_mskor_b32")
34386 :
Inst_DS(iFmt,
"ds_write_b32")
34403 Wavefront *wf = gpuDynInst->wavefront();
34405 if (gpuDynInst->exec_mask.none()) {
34411 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34412 gpuDynInst->latency.set(
34413 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34423 if (gpuDynInst->exec_mask[lane]) {
34424 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane]
34429 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34439 initMemWrite<VecElemU32>(gpuDynInst,
offset);
34449 :
Inst_DS(iFmt,
"ds_write2_b32")
34467 Wavefront *wf = gpuDynInst->wavefront();
34469 if (gpuDynInst->exec_mask.none()) {
34475 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34476 gpuDynInst->latency.set(
34477 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34489 if (gpuDynInst->exec_mask[lane]) {
34490 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 2]
34493 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
34497 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34506 initDualMemWrite<VecElemU32>(gpuDynInst, offset0, offset1);
34516 :
Inst_DS(iFmt,
"ds_write2st64_b32")
34534 Wavefront *wf = gpuDynInst->wavefront();
34536 if (gpuDynInst->exec_mask.none()) {
34542 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34543 gpuDynInst->latency.set(
34544 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34556 if (gpuDynInst->exec_mask[lane]) {
34557 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 2]
34560 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
34564 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34573 initDualMemWrite<VecElemU32>(gpuDynInst, offset0, offset1);
34583 :
Inst_DS(iFmt,
"ds_cmpst_b32")
34609 :
Inst_DS(iFmt,
"ds_cmpst_f32")
34636 :
Inst_DS(iFmt,
"ds_min_f32")
34662 :
Inst_DS(iFmt,
"ds_max_f32")
34702 gpuDynInst->wavefront()->decLGKMInstsIssued();
34707 :
Inst_DS(iFmt,
"ds_add_f32")
34727 Wavefront *wf = gpuDynInst->wavefront();
34729 if (gpuDynInst->exec_mask.none()) {
34735 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34736 gpuDynInst->latency.set(
34737 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34747 if (gpuDynInst->exec_mask[lane]) {
34748 (
reinterpret_cast<VecElemF32*
>(gpuDynInst->a_data))[lane]
34753 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34763 initAtomicAccess<VecElemF32>(gpuDynInst,
offset);
34773 :
Inst_DS(iFmt,
"ds_write_b8")
34789 Wavefront *wf = gpuDynInst->wavefront();
34791 if (gpuDynInst->exec_mask.none()) {
34797 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34798 gpuDynInst->latency.set(
34799 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34809 if (gpuDynInst->exec_mask[lane]) {
34810 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
34815 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34825 initMemWrite<VecElemU8>(gpuDynInst,
offset);
34835 :
Inst_DS(iFmt,
"ds_write_b8_d16_hi")
34851 Wavefront *wf = gpuDynInst->wavefront();
34853 if (gpuDynInst->exec_mask.none()) {
34859 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34860 gpuDynInst->latency.set(
34861 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34871 if (gpuDynInst->exec_mask[lane]) {
34872 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
34877 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34887 initMemWrite<VecElemU8>(gpuDynInst,
offset);
34897 :
Inst_DS(iFmt,
"ds_write_b16")
34913 Wavefront *wf = gpuDynInst->wavefront();
34915 if (gpuDynInst->exec_mask.none()) {
34921 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34922 gpuDynInst->latency.set(
34923 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34933 if (gpuDynInst->exec_mask[lane]) {
34934 (
reinterpret_cast<VecElemU16*
>(gpuDynInst->d_data))[lane]
34939 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34949 initMemWrite<VecElemU16>(gpuDynInst,
offset);
34959 :
Inst_DS(iFmt,
"ds_add_rtn_u32")
34980 :
Inst_DS(iFmt,
"ds_sub_rtn_u32")
35001 :
Inst_DS(iFmt,
"ds_rsub_rtn_u32")
35023 :
Inst_DS(iFmt,
"ds_inc_rtn_u32")
35044 :
Inst_DS(iFmt,
"ds_dec_rtn_u32")
35065 :
Inst_DS(iFmt,
"ds_min_rtn_i32")
35086 :
Inst_DS(iFmt,
"ds_max_rtn_i32")
35107 :
Inst_DS(iFmt,
"ds_min_rtn_u32")
35128 :
Inst_DS(iFmt,
"ds_max_rtn_u32")
35149 :
Inst_DS(iFmt,
"ds_and_rtn_b32")
35170 :
Inst_DS(iFmt,
"ds_or_rtn_b32")
35191 :
Inst_DS(iFmt,
"ds_xor_rtn_b32")
35212 :
Inst_DS(iFmt,
"ds_mskor_rtn_b32")
35234 :
Inst_DS(iFmt,
"ds_wrxchg_rtn_b32")
35255 :
Inst_DS(iFmt,
"ds_wrxchg2_rtn_b32")
35274 :
Inst_DS(iFmt,
"ds_wrxchg2st64_rtn_b32")
35292 :
Inst_DS(iFmt,
"ds_cmpst_rtn_b32")
35318 :
Inst_DS(iFmt,
"ds_cmpst_rtn_f32")
35345 :
Inst_DS(iFmt,
"ds_min_rtn_f32")
35371 :
Inst_DS(iFmt,
"ds_max_rtn_f32")
35397 :
Inst_DS(iFmt,
"ds_wrap_rtn_b32")
35417 :
Inst_DS(iFmt,
"ds_add_rtn_f32")
35440 :
Inst_DS(iFmt,
"ds_read_b32")
35456 Wavefront *wf = gpuDynInst->wavefront();
35458 if (gpuDynInst->exec_mask.none()) {
35464 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35465 gpuDynInst->latency.set(
35466 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
35473 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
35483 initMemRead<VecElemU32>(gpuDynInst,
offset);
35492 if (gpuDynInst->exec_mask[lane]) {
35493 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
35494 gpuDynInst->d_data))[lane];
35503 :
Inst_DS(iFmt,
"ds_read2_b32")
35520 Wavefront *wf = gpuDynInst->wavefront();
35522 if (gpuDynInst->exec_mask.none()) {
35528 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35529 gpuDynInst->latency.set(
35530 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
35537 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
35546 initDualMemRead<VecElemU32>(gpuDynInst, offset0, offset1);
35556 if (gpuDynInst->exec_mask[lane]) {
35557 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
35558 gpuDynInst->d_data))[lane * 2];
35559 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
35560 gpuDynInst->d_data))[lane * 2 + 1];
35570 :
Inst_DS(iFmt,
"ds_read2st64_b32")
35587 Wavefront *wf = gpuDynInst->wavefront();
35589 if (gpuDynInst->exec_mask.none()) {
35595 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35596 gpuDynInst->latency.set(
35597 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
35604 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
35613 initDualMemRead<VecElemU32>(gpuDynInst, offset0, offset1);
35623 if (gpuDynInst->exec_mask[lane]) {
35624 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
35625 gpuDynInst->d_data))[lane * 2];
35626 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
35627 gpuDynInst->d_data))[lane * 2 + 1];
35637 :
Inst_DS(iFmt,
"ds_read_i8")
35653 Wavefront *wf = gpuDynInst->wavefront();
35655 if (gpuDynInst->exec_mask.none()) {
35661 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35662 gpuDynInst->latency.set(
35663 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
35670 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
35680 initMemRead<VecElemI8>(gpuDynInst,
offset);
35689 if (gpuDynInst->exec_mask[lane]) {
35691 gpuDynInst->d_data))[lane]);
35700 :
Inst_DS(iFmt,
"ds_read_u8")
35716 Wavefront *wf = gpuDynInst->wavefront();
35718 if (gpuDynInst->exec_mask.none()) {
35724 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35725 gpuDynInst->latency.set(
35726 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
35733 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
35743 initMemRead<VecElemU8>(gpuDynInst,
offset);
35752 if (gpuDynInst->exec_mask[lane]) {
35754 gpuDynInst->d_data))[lane];
35763 :
Inst_DS(iFmt,
"ds_read_i16")
35784 :
Inst_DS(iFmt,
"ds_read_u16")
35800 Wavefront *wf = gpuDynInst->wavefront();
35802 if (gpuDynInst->exec_mask.none()) {
35808 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35809 gpuDynInst->latency.set(
35810 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
35817 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
35826 initMemRead<VecElemU16>(gpuDynInst,
offset);
35835 if (gpuDynInst->exec_mask[lane]) {
35837 gpuDynInst->d_data))[lane];
35846 :
Inst_DS(iFmt,
"ds_swizzle_b32")
35867 Wavefront *wf = gpuDynInst->wavefront();
35870 if (gpuDynInst->exec_mask.none()) {
35875 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35876 gpuDynInst->latency.set(gpuDynInst->computeUnit()
35877 ->cyclesToTicks(
Cycles(24)));
35902 if (
bits(ds_pattern, 15)) {
35910 if (gpuDynInst->exec_mask[lane]) {
35911 int index0 = lane +
bits(ds_pattern, 1, 0);
35913 "is out of bounds.\n", gpuDynInst->disassemble(),
35916 = gpuDynInst->exec_mask[index0] ?
data[index0]: 0;
35918 if (gpuDynInst->exec_mask[lane + 1]) {
35919 int index1 = lane +
bits(ds_pattern, 3, 2);
35921 "is out of bounds.\n", gpuDynInst->disassemble(),
35924 = gpuDynInst->exec_mask[index1] ?
data[index1]: 0;
35926 if (gpuDynInst->exec_mask[lane + 2]) {
35927 int index2 = lane +
bits(ds_pattern, 5, 4);
35929 "is out of bounds.\n", gpuDynInst->disassemble(),
35932 = gpuDynInst->exec_mask[index2] ?
data[index2]: 0;
35934 if (gpuDynInst->exec_mask[lane + 3]) {
35935 int index3 = lane +
bits(ds_pattern, 7, 6);
35937 "is out of bounds.\n", gpuDynInst->disassemble(),
35940 = gpuDynInst->exec_mask[index3] ?
data[index3]: 0;
35945 int and_mask =
bits(ds_pattern, 4, 0);
35946 int or_mask =
bits(ds_pattern, 9, 5);
35947 int xor_mask =
bits(ds_pattern, 14, 10);
35949 if (gpuDynInst->exec_mask[lane]) {
35950 int index = (((lane & and_mask) | or_mask) ^ xor_mask);
35956 "out of bounds.\n", gpuDynInst->disassemble(),
35973 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
35978 :
Inst_DS(iFmt,
"ds_permute_b32")
35998 Wavefront *wf = gpuDynInst->wavefront();
36001 if (gpuDynInst->exec_mask.none()) {
36006 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36007 gpuDynInst->latency.set(gpuDynInst->computeUnit()
36008 ->cyclesToTicks(
Cycles(24)));
36017 if (gpuDynInst->exec_mask[lane]) {
36033 "of bounds.\n", gpuDynInst->disassemble(),
index);
36056 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
36061 :
Inst_DS(iFmt,
"ds_bpermute_b32")
36081 Wavefront *wf = gpuDynInst->wavefront();
36084 if (gpuDynInst->exec_mask.none()) {
36089 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36090 gpuDynInst->latency.set(gpuDynInst->computeUnit()
36091 ->cyclesToTicks(
Cycles(24)));
36100 if (gpuDynInst->exec_mask[lane]) {
36116 "of bounds.\n", gpuDynInst->disassemble(),
index);
36139 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
36145 :
Inst_DS(iFmt,
"ds_add_u64")
36163 Wavefront *wf = gpuDynInst->wavefront();
36165 if (gpuDynInst->exec_mask.none()) {
36171 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36172 gpuDynInst->latency.set(
36173 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
36183 if (gpuDynInst->exec_mask[lane]) {
36184 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
36189 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
36199 initAtomicAccess<VecElemU64>(gpuDynInst,
offset);
36209 :
Inst_DS(iFmt,
"ds_sub_u64")
36230 :
Inst_DS(iFmt,
"ds_rsub_u64")
36252 :
Inst_DS(iFmt,
"ds_inc_u64")
36273 :
Inst_DS(iFmt,
"ds_dec_u64")
36295 :
Inst_DS(iFmt,
"ds_min_i64")
36316 :
Inst_DS(iFmt,
"ds_max_i64")
36337 :
Inst_DS(iFmt,
"ds_min_u64")
36358 :
Inst_DS(iFmt,
"ds_max_u64")
36379 :
Inst_DS(iFmt,
"ds_and_b64")
36421 :
Inst_DS(iFmt,
"ds_xor_b64")
36442 :
Inst_DS(iFmt,
"ds_mskor_b64")
36464 :
Inst_DS(iFmt,
"ds_write_b64")
36481 Wavefront *wf = gpuDynInst->wavefront();
36483 if (gpuDynInst->exec_mask.none()) {
36489 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36490 gpuDynInst->latency.set(
36491 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
36501 if (gpuDynInst->exec_mask[lane]) {
36502 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->d_data))[lane]
36507 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
36517 initMemWrite<VecElemU64>(gpuDynInst,
offset);
36527 :
Inst_DS(iFmt,
"ds_write2_b64")
36545 Wavefront *wf = gpuDynInst->wavefront();
36547 if (gpuDynInst->exec_mask.none()) {
36553 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36554 gpuDynInst->latency.set(
36555 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
36567 if (gpuDynInst->exec_mask[lane]) {
36569 gpuDynInst->d_data))[lane * 2] = data0[lane];
36571 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
36575 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
36584 initDualMemWrite<VecElemU64>(gpuDynInst, offset0, offset1);
36594 :
Inst_DS(iFmt,
"ds_write2st64_b64")
36612 Wavefront *wf = gpuDynInst->wavefront();
36614 if (gpuDynInst->exec_mask.none()) {
36620 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36621 gpuDynInst->latency.set(
36622 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
36634 if (gpuDynInst->exec_mask[lane]) {
36636 gpuDynInst->d_data))[lane * 2] = data0[lane];
36638 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
36642 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
36651 initDualMemWrite<VecElemU64>(gpuDynInst, offset0, offset1);
36661 :
Inst_DS(iFmt,
"ds_cmpst_b64")
36687 :
Inst_DS(iFmt,
"ds_cmpst_f64")
36714 :
Inst_DS(iFmt,
"ds_min_f64")
36740 :
Inst_DS(iFmt,
"ds_max_f64")
36766 :
Inst_DS(iFmt,
"ds_add_rtn_u64")
36787 :
Inst_DS(iFmt,
"ds_sub_rtn_u64")
36808 :
Inst_DS(iFmt,
"ds_rsub_rtn_u64")
36830 :
Inst_DS(iFmt,
"ds_inc_rtn_u64")
36851 :
Inst_DS(iFmt,
"ds_dec_rtn_u64")
36873 :
Inst_DS(iFmt,
"ds_min_rtn_i64")
36894 :
Inst_DS(iFmt,
"ds_max_rtn_i64")
36915 :
Inst_DS(iFmt,
"ds_min_rtn_u64")
36936 :
Inst_DS(iFmt,
"ds_max_rtn_u64")
36957 :
Inst_DS(iFmt,
"ds_and_rtn_b64")
36978 :
Inst_DS(iFmt,
"ds_or_rtn_b64")
36999 :
Inst_DS(iFmt,
"ds_xor_rtn_b64")
37020 :
Inst_DS(iFmt,
"ds_mskor_rtn_b64")
37042 :
Inst_DS(iFmt,
"ds_wrxchg_rtn_b64")
37063 :
Inst_DS(iFmt,
"ds_wrxchg2_rtn_b64")
37082 :
Inst_DS(iFmt,
"ds_wrxchg2st64_rtn_b64")
37100 :
Inst_DS(iFmt,
"ds_cmpst_rtn_b64")
37126 :
Inst_DS(iFmt,
"ds_cmpst_rtn_f64")
37153 :
Inst_DS(iFmt,
"ds_min_rtn_f64")
37179 :
Inst_DS(iFmt,
"ds_max_rtn_f64")
37205 :
Inst_DS(iFmt,
"ds_read_b64")
37221 Wavefront *wf = gpuDynInst->wavefront();
37223 if (gpuDynInst->exec_mask.none()) {
37229 gpuDynInst->latency.init(gpuDynInst->computeUnit());
37230 gpuDynInst->latency.set(
37231 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
37238 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
37248 initMemRead<VecElemU64>(gpuDynInst,
offset);
37257 if (gpuDynInst->exec_mask[lane]) {
37258 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
37259 gpuDynInst->d_data))[lane];
37268 :
Inst_DS(iFmt,
"ds_read2_b64")
37285 Wavefront *wf = gpuDynInst->wavefront();
37287 if (gpuDynInst->exec_mask.none()) {
37293 gpuDynInst->latency.init(gpuDynInst->computeUnit());
37294 gpuDynInst->latency.set(
37295 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
37302 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
37311 initDualMemRead<VecElemU64>(gpuDynInst, offset0, offset1);
37321 if (gpuDynInst->exec_mask[lane]) {
37322 vdst0[lane] = (
reinterpret_cast<VecElemU64*
>(
37323 gpuDynInst->d_data))[lane * 2];
37324 vdst1[lane] = (
reinterpret_cast<VecElemU64*
>(
37325 gpuDynInst->d_data))[lane * 2 + 1];
37335 :
Inst_DS(iFmt,
"ds_read2st64_b64")
37352 Wavefront *wf = gpuDynInst->wavefront();
37354 if (gpuDynInst->exec_mask.none()) {
37360 gpuDynInst->latency.init(gpuDynInst->computeUnit());
37361 gpuDynInst->latency.set(
37362 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
37369 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
37378 initDualMemRead<VecElemU64>(gpuDynInst, offset0, offset1);
37388 if (gpuDynInst->exec_mask[lane]) {
37389 vdst0[lane] = (
reinterpret_cast<VecElemU64*
>(
37390 gpuDynInst->d_data))[lane * 2];
37391 vdst1[lane] = (
reinterpret_cast<VecElemU64*
>(
37392 gpuDynInst->d_data))[lane * 2 + 1];
37403 :
Inst_DS(iFmt,
"ds_condxchg32_rtn_b64")
37421 :
Inst_DS(iFmt,
"ds_add_src2_u32")
37443 :
Inst_DS(iFmt,
"ds_sub_src2_u32")
37465 :
Inst_DS(iFmt,
"ds_rsub_src2_u32")
37487 :
Inst_DS(iFmt,
"ds_inc_src2_u32")
37509 :
Inst_DS(iFmt,
"ds_dec_src2_u32")
37532 :
Inst_DS(iFmt,
"ds_min_src2_i32")
37554 :
Inst_DS(iFmt,
"ds_max_src2_i32")
37576 :
Inst_DS(iFmt,
"ds_min_src2_u32")
37598 :
Inst_DS(iFmt,
"ds_max_src2_u32")
37620 :
Inst_DS(iFmt,
"ds_and_src2_b32")
37642 :
Inst_DS(iFmt,
"ds_or_src2_b32")
37664 :
Inst_DS(iFmt,
"ds_xor_src2_b32")
37686 :
Inst_DS(iFmt,
"ds_write_src2_b32")
37711 :
Inst_DS(iFmt,
"ds_min_src2_f32")
37735 :
Inst_DS(iFmt,
"ds_max_src2_f32")
37759 :
Inst_DS(iFmt,
"ds_add_src2_f32")
37784 :
Inst_DS(iFmt,
"ds_gws_sema_release_all")
37811 :
Inst_DS(iFmt,
"ds_gws_init")
37838 :
Inst_DS(iFmt,
"ds_gws_sema_v")
37864 :
Inst_DS(iFmt,
"ds_gws_sema_br")
37894 :
Inst_DS(iFmt,
"ds_gws_sema_p")
37920 :
Inst_DS(iFmt,
"ds_gws_barrier")
37965 :
Inst_DS(iFmt,
"ds_consume")
38004 :
Inst_DS(iFmt,
"ds_ordered_count")
38024 :
Inst_DS(iFmt,
"ds_add_src2_u64")
38046 :
Inst_DS(iFmt,
"ds_sub_src2_u64")
38068 :
Inst_DS(iFmt,
"ds_rsub_src2_u64")
38090 :
Inst_DS(iFmt,
"ds_inc_src2_u64")
38112 :
Inst_DS(iFmt,
"ds_dec_src2_u64")
38135 :
Inst_DS(iFmt,
"ds_min_src2_i64")
38157 :
Inst_DS(iFmt,
"ds_max_src2_i64")
38179 :
Inst_DS(iFmt,
"ds_min_src2_u64")
38201 :
Inst_DS(iFmt,
"ds_max_src2_u64")
38223 :
Inst_DS(iFmt,
"ds_and_src2_b64")
38245 :
Inst_DS(iFmt,
"ds_or_src2_b64")
38267 :
Inst_DS(iFmt,
"ds_xor_src2_b64")
38289 :
Inst_DS(iFmt,
"ds_write_src2_b64")
38314 :
Inst_DS(iFmt,
"ds_min_src2_f64")
38338 :
Inst_DS(iFmt,
"ds_max_src2_f64")
38362 :
Inst_DS(iFmt,
"ds_write_b96")
38378 Wavefront *wf = gpuDynInst->wavefront();
38380 gpuDynInst->latency.init(gpuDynInst->computeUnit());
38381 gpuDynInst->latency.set(
38382 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
38396 if (gpuDynInst->exec_mask[lane]) {
38398 gpuDynInst->d_data))[lane * 4] = data0[lane];
38400 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
38402 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
38406 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
38416 initMemWrite<3>(gpuDynInst,
offset);
38426 :
Inst_DS(iFmt,
"ds_write_b128")
38442 Wavefront *wf = gpuDynInst->wavefront();
38444 gpuDynInst->latency.init(gpuDynInst->computeUnit());
38445 gpuDynInst->latency.set(
38446 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
38462 if (gpuDynInst->exec_mask[lane]) {
38464 gpuDynInst->d_data))[lane * 4] = data0[lane];
38466 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
38468 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
38470 gpuDynInst->d_data))[lane * 4 + 3] = data3[lane];
38474 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
38484 initMemWrite<4>(gpuDynInst,
offset);
38494 :
Inst_DS(iFmt,
"ds_read_b96")
38509 Wavefront *wf = gpuDynInst->wavefront();
38511 gpuDynInst->latency.init(gpuDynInst->computeUnit());
38512 gpuDynInst->latency.set(
38513 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
38520 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
38530 initMemRead<3>(gpuDynInst,
offset);
38541 if (gpuDynInst->exec_mask[lane]) {
38542 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
38543 gpuDynInst->d_data))[lane * 4];
38544 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
38545 gpuDynInst->d_data))[lane * 4 + 1];
38546 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
38547 gpuDynInst->d_data))[lane * 4 + 2];
38558 :
Inst_DS(iFmt,
"ds_read_b128")
38573 Wavefront *wf = gpuDynInst->wavefront();
38575 gpuDynInst->latency.init(gpuDynInst->computeUnit());
38576 gpuDynInst->latency.set(
38577 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
38584 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
38594 initMemRead<4>(gpuDynInst,
offset);
38606 if (gpuDynInst->exec_mask[lane]) {
38607 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
38608 gpuDynInst->d_data))[lane * 4];
38609 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
38610 gpuDynInst->d_data))[lane * 4 + 1];
38611 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
38612 gpuDynInst->d_data))[lane * 4 + 2];
38613 vdst3[lane] = (
reinterpret_cast<VecElemU32*
>(
38614 gpuDynInst->d_data))[lane * 4 + 3];
38629 setFlag(MemoryRef);
38631 setFlag(GlobalSegment);
38661 setFlag(MemoryRef);
38663 setFlag(GlobalSegment);
38691 :
Inst_MUBUF(iFmt,
"buffer_load_format_xyz")
38693 setFlag(MemoryRef);
38695 setFlag(GlobalSegment);
38723 :
Inst_MUBUF(iFmt,
"buffer_load_format_xyzw")
38725 setFlag(MemoryRef);
38727 setFlag(GlobalSegment);
38757 setFlag(MemoryRef);
38759 setFlag(GlobalSegment);
38787 :
Inst_MUBUF(iFmt,
"buffer_store_format_xy")
38789 setFlag(MemoryRef);
38791 setFlag(GlobalSegment);
38819 :
Inst_MUBUF(iFmt,
"buffer_store_format_xyz")
38821 setFlag(MemoryRef);
38823 setFlag(GlobalSegment);
38851 :
Inst_MUBUF(iFmt,
"buffer_store_format_xyzw")
38853 setFlag(MemoryRef);
38855 setFlag(GlobalSegment);
38884 :
Inst_MUBUF(iFmt,
"buffer_load_format_d16_x")
38886 setFlag(MemoryRef);
38888 setFlag(GlobalSegment);
38917 :
Inst_MUBUF(iFmt,
"buffer_load_format_d16_xy")
38919 setFlag(MemoryRef);
38921 setFlag(GlobalSegment);
38952 :
Inst_MUBUF(iFmt,
"buffer_load_format_d16_xyz")
38954 setFlag(MemoryRef);
38956 setFlag(GlobalSegment);
38987 :
Inst_MUBUF(iFmt,
"buffer_load_format_d16_xyzw")
38989 setFlag(MemoryRef);
38991 setFlag(GlobalSegment);
39022 :
Inst_MUBUF(iFmt,
"buffer_store_format_d16_x")
39055 :
Inst_MUBUF(iFmt,
"buffer_store_format_d16_xy")
39057 setFlag(MemoryRef);
39059 setFlag(GlobalSegment);
39090 :
Inst_MUBUF(iFmt,
"buffer_store_format_d16_xyz")
39092 setFlag(MemoryRef);
39094 setFlag(GlobalSegment);
39125 :
Inst_MUBUF(iFmt,
"buffer_store_format_d16_xyzw")
39127 setFlag(MemoryRef);
39129 setFlag(GlobalSegment);
39162 setFlag(MemoryRef);
39164 if (instData.LDS) {
39165 setFlag(GroupSegment);
39167 setFlag(GlobalSegment);
39180 Wavefront *wf = gpuDynInst->wavefront();
39182 if (gpuDynInst->exec_mask.none()) {
39188 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39189 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39204 addr0, addr1, rsrcDesc,
offset, inst_offset);
39209 addr0, addr1, rsrcDesc,
offset, inst_offset);
39214 addr1, addr0, rsrcDesc,
offset, inst_offset);
39220 addr1, addr0, rsrcDesc,
offset, inst_offset);
39223 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
39229 initMemRead<VecElemU8>(gpuDynInst);
39238 if (gpuDynInst->exec_mask[lane]) {
39241 gpuDynInst->d_data))[lane]);
39257 setFlag(MemoryRef);
39259 setFlag(GlobalSegment);
39289 setFlag(MemoryRef);
39291 if (instData.LDS) {
39292 setFlag(GroupSegment);
39294 setFlag(GlobalSegment);
39307 Wavefront *wf = gpuDynInst->wavefront();
39309 if (gpuDynInst->exec_mask.none()) {
39315 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39316 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39331 addr0, addr1, rsrcDesc,
offset, inst_offset);
39336 addr0, addr1, rsrcDesc,
offset, inst_offset);
39341 addr1, addr0, rsrcDesc,
offset, inst_offset);
39347 addr1, addr0, rsrcDesc,
offset, inst_offset);
39350 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
39356 initMemRead<VecElemU16>(gpuDynInst);
39365 if (gpuDynInst->exec_mask[lane]) {
39368 gpuDynInst->d_data))[lane]);
39384 setFlag(MemoryRef);
39386 setFlag(GlobalSegment);
39416 setFlag(MemoryRef);
39418 if (instData.LDS) {
39419 setFlag(GroupSegment);
39421 setFlag(GlobalSegment);
39434 Wavefront *wf = gpuDynInst->wavefront();
39436 if (gpuDynInst->exec_mask.none()) {
39442 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39443 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39458 addr0, addr1, rsrcDesc,
offset, inst_offset);
39463 addr0, addr1, rsrcDesc,
offset, inst_offset);
39468 addr1, addr0, rsrcDesc,
offset, inst_offset);
39474 addr1, addr0, rsrcDesc,
offset, inst_offset);
39477 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
39483 initMemRead<VecElemU32>(gpuDynInst);
39492 if (gpuDynInst->exec_mask[lane]) {
39494 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
39495 gpuDynInst->d_data))[lane];
39510 setFlag(MemoryRef);
39512 if (instData.LDS) {
39513 setFlag(GroupSegment);
39515 setFlag(GlobalSegment);
39528 Wavefront *wf = gpuDynInst->wavefront();
39530 if (gpuDynInst->exec_mask.none()) {
39536 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39537 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39552 addr0, addr1, rsrcDesc,
offset, inst_offset);
39557 addr0, addr1, rsrcDesc,
offset, inst_offset);
39562 addr1, addr0, rsrcDesc,
offset, inst_offset);
39568 addr1, addr0, rsrcDesc,
offset, inst_offset);
39571 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
39577 initMemRead<2>(gpuDynInst);
39587 if (gpuDynInst->exec_mask[lane]) {
39589 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
39590 gpuDynInst->d_data))[lane * 2];
39591 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
39592 gpuDynInst->d_data))[lane * 2 + 1];
39609 setFlag(MemoryRef);
39611 if (instData.LDS) {
39612 setFlag(GroupSegment);
39614 setFlag(GlobalSegment);
39627 Wavefront *wf = gpuDynInst->wavefront();
39629 if (gpuDynInst->exec_mask.none()) {
39635 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39636 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39651 addr0, addr1, rsrcDesc,
offset, inst_offset);
39656 addr0, addr1, rsrcDesc,
offset, inst_offset);
39661 addr1, addr0, rsrcDesc,
offset, inst_offset);
39667 addr1, addr0, rsrcDesc,
offset, inst_offset);
39670 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
39676 initMemRead<3>(gpuDynInst);
39687 if (gpuDynInst->exec_mask[lane]) {
39689 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
39690 gpuDynInst->d_data))[lane * 3];
39691 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
39692 gpuDynInst->d_data))[lane * 3 + 1];
39693 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
39694 gpuDynInst->d_data))[lane * 3 + 2];
39713 setFlag(MemoryRef);
39715 if (instData.LDS) {
39716 setFlag(GroupSegment);
39718 setFlag(GlobalSegment);
39731 Wavefront *wf = gpuDynInst->wavefront();
39733 if (gpuDynInst->exec_mask.none()) {
39739 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39740 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39755 addr0, addr1, rsrcDesc,
offset, inst_offset);
39760 addr0, addr1, rsrcDesc,
offset, inst_offset);
39765 addr1, addr0, rsrcDesc,
offset, inst_offset);
39771 addr1, addr0, rsrcDesc,
offset, inst_offset);
39774 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
39780 initMemRead<4>(gpuDynInst);
39792 if (gpuDynInst->exec_mask[lane]) {
39794 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
39795 gpuDynInst->d_data))[lane * 4];
39796 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
39797 gpuDynInst->d_data))[lane * 4 + 1];
39798 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
39799 gpuDynInst->d_data))[lane * 4 + 2];
39800 vdst3[lane] = (
reinterpret_cast<VecElemU32*
>(
39801 gpuDynInst->d_data))[lane * 4 + 3];
39822 setFlag(MemoryRef);
39824 if (instData.LDS) {
39825 setFlag(GroupSegment);
39827 setFlag(GlobalSegment);
39840 Wavefront *wf = gpuDynInst->wavefront();
39842 if (gpuDynInst->exec_mask.none()) {
39849 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39850 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39867 addr0, addr1, rsrcDesc,
offset, inst_offset);
39872 addr0, addr1, rsrcDesc,
offset, inst_offset);
39877 addr1, addr0, rsrcDesc,
offset, inst_offset);
39883 addr1, addr0, rsrcDesc,
offset, inst_offset);
39886 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
39889 if (gpuDynInst->exec_mask[lane]) {
39890 (
reinterpret_cast<VecElemI8*
>(gpuDynInst->d_data))[lane]
39899 initMemWrite<VecElemI8>(gpuDynInst);
39912 setFlag(MemoryRef);
39914 if (instData.LDS) {
39915 setFlag(GroupSegment);
39917 setFlag(GlobalSegment);
39930 Wavefront *wf = gpuDynInst->wavefront();
39932 if (gpuDynInst->exec_mask.none()) {
39939 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39940 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39957 addr0, addr1, rsrcDesc,
offset, inst_offset);
39962 addr0, addr1, rsrcDesc,
offset, inst_offset);
39967 addr1, addr0, rsrcDesc,
offset, inst_offset);
39973 addr1, addr0, rsrcDesc,
offset, inst_offset);
39976 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
39979 if (gpuDynInst->exec_mask[lane]) {
39980 (
reinterpret_cast<VecElemI16*
>(gpuDynInst->d_data))[lane]
39989 initMemWrite<VecElemI16>(gpuDynInst);
40020 Wavefront *wf = gpuDynInst->wavefront();
40022 if (gpuDynInst->exec_mask.none()) {
40029 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40030 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40047 addr0, addr1, rsrcDesc,
offset, inst_offset);
40052 addr0, addr1, rsrcDesc,
offset, inst_offset);
40057 addr1, addr0, rsrcDesc,
offset, inst_offset);
40063 addr1, addr0, rsrcDesc,
offset, inst_offset);
40066 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
40069 if (gpuDynInst->exec_mask[lane]) {
40070 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane]
40079 initMemWrite<VecElemU32>(gpuDynInst);
40092 setFlag(MemoryRef);
40094 if (instData.LDS) {
40095 setFlag(GroupSegment);
40097 setFlag(GlobalSegment);
40110 Wavefront *wf = gpuDynInst->wavefront();
40112 if (gpuDynInst->exec_mask.none()) {
40119 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40120 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40139 addr0, addr1, rsrcDesc,
offset, inst_offset);
40144 addr0, addr1, rsrcDesc,
offset, inst_offset);
40149 addr1, addr0, rsrcDesc,
offset, inst_offset);
40155 addr1, addr0, rsrcDesc,
offset, inst_offset);
40158 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
40161 if (gpuDynInst->exec_mask[lane]) {
40162 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 4]
40164 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 1]
40173 initMemWrite<2>(gpuDynInst);
40186 setFlag(MemoryRef);
40188 if (instData.LDS) {
40189 setFlag(GroupSegment);
40191 setFlag(GlobalSegment);
40204 Wavefront *wf = gpuDynInst->wavefront();
40206 if (gpuDynInst->exec_mask.none()) {
40213 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40214 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40235 addr0, addr1, rsrcDesc,
offset, inst_offset);
40240 addr0, addr1, rsrcDesc,
offset, inst_offset);
40245 addr1, addr0, rsrcDesc,
offset, inst_offset);
40251 addr1, addr0, rsrcDesc,
offset, inst_offset);
40254 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
40257 if (gpuDynInst->exec_mask[lane]) {
40258 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 4]
40260 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 1]
40262 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 2]
40271 initMemWrite<3>(gpuDynInst);
40284 setFlag(MemoryRef);
40286 if (instData.LDS) {
40287 setFlag(GroupSegment);
40289 setFlag(GlobalSegment);
40302 Wavefront *wf = gpuDynInst->wavefront();
40304 if (gpuDynInst->exec_mask.none()) {
40311 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40312 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40335 addr0, addr1, rsrcDesc,
offset, inst_offset);
40340 addr0, addr1, rsrcDesc,
offset, inst_offset);
40345 addr1, addr0, rsrcDesc,
offset, inst_offset);
40351 addr1, addr0, rsrcDesc,
offset, inst_offset);
40354 gpuDynInst->computeUnit()->globalMemoryPipe.issueRequest(gpuDynInst);
40357 if (gpuDynInst->exec_mask[lane]) {
40358 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 4]
40360 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 1]
40362 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 2]
40364 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 3]
40373 initMemWrite<4>(gpuDynInst);
40384 :
Inst_MUBUF(iFmt,
"buffer_store_lds_dword")
40387 setFlag(GlobalSegment);
40408 setFlag(GPUStaticInst::MemSync);
40423 Wavefront *wf = gpuDynInst->wavefront();
40425 if (gpuDynInst->exec_mask.none()) {
40431 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40432 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40434 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40435 gpuDynInst->computeUnit()->globalMemoryPipe.
40436 issueRequest(gpuDynInst);
40438 fatal(
"Unsupported scope for flat instruction.\n");
40465 setFlag(MemoryRef);
40466 setFlag(GPUStaticInst::MemSync);
40467 setFlag(GlobalSegment);
40482 Wavefront *wf = gpuDynInst->wavefront();
40484 if (gpuDynInst->exec_mask.none()) {
40490 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40491 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40493 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40494 gpuDynInst->computeUnit()->globalMemoryPipe.
40495 issueRequest(gpuDynInst);
40497 fatal(
"Unsupported scope for flat instruction.\n");
40515 setFlag(AtomicExch);
40516 if (instData.GLC) {
40517 setFlag(AtomicReturn);
40519 setFlag(AtomicNoReturn);
40521 setFlag(MemoryRef);
40522 setFlag(GlobalSegment);
40545 setFlag(AtomicCAS);
40546 if (instData.GLC) {
40547 setFlag(AtomicReturn);
40549 setFlag(AtomicNoReturn);
40551 setFlag(MemoryRef);
40552 setFlag(GlobalSegment);
40577 setFlag(AtomicAdd);
40578 if (instData.GLC) {
40579 setFlag(AtomicReturn);
40581 setFlag(AtomicNoReturn);
40583 setFlag(MemoryRef);
40584 setFlag(GlobalSegment);
40607 setFlag(AtomicSub);
40608 if (instData.GLC) {
40609 setFlag(AtomicReturn);
40611 setFlag(AtomicNoReturn);
40613 setFlag(MemoryRef);
40614 setFlag(GlobalSegment);
40637 setFlag(AtomicMin);
40638 if (instData.GLC) {
40639 setFlag(AtomicReturn);
40641 setFlag(AtomicNoReturn);
40643 setFlag(MemoryRef);
40644 setFlag(GlobalSegment);
40667 setFlag(AtomicMin);
40668 if (instData.GLC) {
40669 setFlag(AtomicReturn);
40671 setFlag(AtomicNoReturn);
40673 setFlag(MemoryRef);
40674 setFlag(GlobalSegment);
40697 setFlag(AtomicMax);
40698 if (instData.GLC) {
40699 setFlag(AtomicReturn);
40701 setFlag(AtomicNoReturn);
40703 setFlag(MemoryRef);
40704 setFlag(GlobalSegment);
40727 setFlag(AtomicMax);
40728 if (instData.GLC) {
40729 setFlag(AtomicReturn);
40731 setFlag(AtomicNoReturn);
40733 setFlag(MemoryRef);
40734 setFlag(GlobalSegment);
40757 setFlag(AtomicAnd);
40758 if (instData.GLC) {
40759 setFlag(AtomicReturn);
40761 setFlag(AtomicNoReturn);
40763 setFlag(MemoryRef);
40764 setFlag(GlobalSegment);
40788 if (instData.GLC) {
40789 setFlag(AtomicReturn);
40791 setFlag(AtomicNoReturn);
40793 setFlag(MemoryRef);
40794 setFlag(GlobalSegment);
40817 setFlag(AtomicXor);
40818 if (instData.GLC) {
40819 setFlag(AtomicReturn);
40821 setFlag(AtomicNoReturn);
40823 setFlag(MemoryRef);
40824 setFlag(GlobalSegment);
40847 setFlag(AtomicInc);
40848 if (instData.GLC) {
40849 setFlag(AtomicReturn);
40851 setFlag(AtomicNoReturn);
40853 setFlag(MemoryRef);
40854 setFlag(GlobalSegment);
40877 setFlag(AtomicDec);
40878 if (instData.GLC) {
40879 setFlag(AtomicReturn);
40881 setFlag(AtomicNoReturn);
40883 setFlag(MemoryRef);
40884 setFlag(GlobalSegment);
40907 setFlag(AtomicExch);
40908 if (instData.GLC) {
40909 setFlag(AtomicReturn);
40911 setFlag(AtomicNoReturn);
40913 setFlag(MemoryRef);
40914 setFlag(GlobalSegment);
40935 :
Inst_MUBUF(iFmt,
"buffer_atomic_cmpswap_x2")
40937 setFlag(AtomicCAS);
40938 if (instData.GLC) {
40939 setFlag(AtomicReturn);
40941 setFlag(AtomicNoReturn);
40943 setFlag(MemoryRef);
40944 setFlag(GlobalSegment);
40970 setFlag(AtomicAdd);
40971 if (instData.GLC) {
40972 setFlag(AtomicReturn);
40974 setFlag(AtomicNoReturn);
40976 setFlag(MemoryRef);
40977 setFlag(GlobalSegment);
41000 setFlag(AtomicSub);
41001 if (instData.GLC) {
41002 setFlag(AtomicReturn);
41004 setFlag(AtomicNoReturn);
41006 setFlag(MemoryRef);
41007 setFlag(GlobalSegment);
41030 setFlag(AtomicMin);
41031 if (instData.GLC) {
41032 setFlag(AtomicReturn);
41034 setFlag(AtomicNoReturn);
41036 setFlag(MemoryRef);
41037 setFlag(GlobalSegment);
41060 setFlag(AtomicMin);
41061 if (instData.GLC) {
41062 setFlag(AtomicReturn);
41064 setFlag(AtomicNoReturn);
41066 setFlag(MemoryRef);
41067 setFlag(GlobalSegment);
41090 setFlag(AtomicMax);
41091 if (instData.GLC) {
41092 setFlag(AtomicReturn);
41094 setFlag(AtomicNoReturn);
41096 setFlag(MemoryRef);
41097 setFlag(GlobalSegment);
41120 setFlag(AtomicMax);
41121 if (instData.GLC) {
41122 setFlag(AtomicReturn);
41124 setFlag(AtomicNoReturn);
41126 setFlag(MemoryRef);
41127 setFlag(GlobalSegment);
41150 setFlag(AtomicAnd);
41151 if (instData.GLC) {
41152 setFlag(AtomicReturn);
41154 setFlag(AtomicNoReturn);
41156 setFlag(MemoryRef);
41157 setFlag(GlobalSegment);
41181 if (instData.GLC) {
41182 setFlag(AtomicReturn);
41184 setFlag(AtomicNoReturn);
41208 setFlag(AtomicXor);
41209 if (instData.GLC) {
41210 setFlag(AtomicReturn);
41212 setFlag(AtomicNoReturn);
41214 setFlag(MemoryRef);
41215 setFlag(GlobalSegment);
41238 setFlag(AtomicInc);
41239 if (instData.GLC) {
41240 setFlag(AtomicReturn);
41242 setFlag(AtomicNoReturn);
41244 setFlag(MemoryRef);
41245 setFlag(GlobalSegment);
41268 setFlag(AtomicDec);
41269 if (instData.GLC) {
41270 setFlag(AtomicReturn);
41272 setFlag(AtomicNoReturn);
41274 setFlag(MemoryRef);
41275 setFlag(GlobalSegment);
41299 setFlag(MemoryRef);
41301 setFlag(GlobalSegment);
41329 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_xy")
41331 setFlag(MemoryRef);
41333 setFlag(GlobalSegment);
41361 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_xyz")
41363 setFlag(MemoryRef);
41365 setFlag(GlobalSegment);
41393 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_xyzw")
41395 setFlag(MemoryRef);
41397 setFlag(GlobalSegment);
41426 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_x")
41428 setFlag(MemoryRef);
41430 setFlag(GlobalSegment);
41458 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_xy")
41460 setFlag(MemoryRef);
41462 setFlag(GlobalSegment);
41490 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_xyz")
41492 setFlag(MemoryRef);
41494 setFlag(GlobalSegment);
41523 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_xyzw")
41525 setFlag(MemoryRef);
41527 setFlag(GlobalSegment);
41558 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_d16_x")
41560 setFlag(MemoryRef);
41562 setFlag(GlobalSegment);
41593 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_d16_xy")
41595 setFlag(MemoryRef);
41597 setFlag(GlobalSegment);
41629 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_d16_xyz")
41631 setFlag(MemoryRef);
41633 setFlag(GlobalSegment);
41665 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_d16_xyzw")
41667 setFlag(MemoryRef);
41669 setFlag(GlobalSegment);
41700 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_d16_x")
41702 setFlag(MemoryRef);
41704 setFlag(GlobalSegment);
41735 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_d16_xy")
41737 setFlag(MemoryRef);
41739 setFlag(GlobalSegment);
41770 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_d16_xyz")
41772 setFlag(MemoryRef);
41774 setFlag(GlobalSegment);
41805 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_d16_xyzw")
41807 setFlag(MemoryRef);
41809 setFlag(GlobalSegment);
41934 :
Inst_MIMG(iFmt,
"image_load_pck_sgn")
41967 :
Inst_MIMG(iFmt,
"image_load_mip_pck")
42000 :
Inst_MIMG(iFmt,
"image_load_mip_pck_sgn")
42127 :
Inst_MIMG(iFmt,
"image_store_mip_pck")
42212 :
Inst_MIMG(iFmt,
"image_atomic_cmpswap")
42779 :
Inst_MIMG(iFmt,
"image_sample_c_d_cl")
42837 :
Inst_MIMG(iFmt,
"image_sample_c_b_cl")
42935 :
Inst_MIMG(iFmt,
"image_sample_d_cl_o")
42993 :
Inst_MIMG(iFmt,
"image_sample_b_cl_o")
43052 :
Inst_MIMG(iFmt,
"image_sample_c_cl_o")
43072 :
Inst_MIMG(iFmt,
"image_sample_c_d_o")
43092 :
Inst_MIMG(iFmt,
"image_sample_c_d_cl_o")
43112 :
Inst_MIMG(iFmt,
"image_sample_c_l_o")
43132 :
Inst_MIMG(iFmt,
"image_sample_c_b_o")
43152 :
Inst_MIMG(iFmt,
"image_sample_c_b_cl_o")
43172 :
Inst_MIMG(iFmt,
"image_sample_c_lz_o")
43268 :
Inst_MIMG(iFmt,
"image_gather4_b_cl")
43326 :
Inst_MIMG(iFmt,
"image_gather4_c_cl")
43386 :
Inst_MIMG(iFmt,
"image_gather4_c_b_cl")
43406 :
Inst_MIMG(iFmt,
"image_gather4_c_lz")
43445 :
Inst_MIMG(iFmt,
"image_gather4_cl_o")
43505 :
Inst_MIMG(iFmt,
"image_gather4_b_cl_o")
43525 :
Inst_MIMG(iFmt,
"image_gather4_lz_o")
43565 :
Inst_MIMG(iFmt,
"image_gather4_c_cl_o")
43585 :
Inst_MIMG(iFmt,
"image_gather4_c_l_o")
43605 :
Inst_MIMG(iFmt,
"image_gather4_c_b_o")
43625 :
Inst_MIMG(iFmt,
"image_gather4_c_b_cl_o")
43645 :
Inst_MIMG(iFmt,
"image_gather4_c_lz_o")
43704 :
Inst_MIMG(iFmt,
"image_sample_cd_cl")
43745 :
Inst_MIMG(iFmt,
"image_sample_c_cd_cl")
43786 :
Inst_MIMG(iFmt,
"image_sample_cd_cl_o")
43807 :
Inst_MIMG(iFmt,
"image_sample_c_cd_o")
43827 :
Inst_MIMG(iFmt,
"image_sample_c_cd_cl_o")
43880 Wavefront *wf = gpuDynInst->wavefront();
43882 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
43889 gpuDynInst->latency.init(gpuDynInst->computeUnit());
43890 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
43900 initMemRead<VecElemU8>(gpuDynInst);
43909 if (gpuDynInst->exec_mask[lane]) {
43911 gpuDynInst->d_data))[lane]);
43964 Wavefront *wf = gpuDynInst->wavefront();
43966 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
43973 gpuDynInst->latency.init(gpuDynInst->computeUnit());
43974 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
43984 initMemRead<VecElemU16>(gpuDynInst);
43993 if (gpuDynInst->exec_mask[lane]) {
43995 gpuDynInst->d_data))[lane]);
44049 Wavefront *wf = gpuDynInst->wavefront();
44051 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44058 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44059 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44069 initMemRead<VecElemU32>(gpuDynInst);
44078 if (gpuDynInst->exec_mask[lane]) {
44079 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
44080 gpuDynInst->d_data))[lane];
44104 Wavefront *wf = gpuDynInst->wavefront();
44106 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44113 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44114 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44124 initMemRead<VecElemU64>(gpuDynInst);
44133 if (gpuDynInst->exec_mask[lane]) {
44134 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
44135 gpuDynInst->d_data))[lane];
44159 Wavefront *wf = gpuDynInst->wavefront();
44161 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44168 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44169 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44179 initMemRead<3>(gpuDynInst);
44190 if (gpuDynInst->exec_mask[lane]) {
44191 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
44192 gpuDynInst->d_data))[lane * 3];
44193 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
44194 gpuDynInst->d_data))[lane * 3 + 1];
44195 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
44196 gpuDynInst->d_data))[lane * 3 + 2];
44223 Wavefront *wf = gpuDynInst->wavefront();
44225 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44232 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44233 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44243 initMemRead<4>(gpuDynInst);
44255 if (gpuDynInst->exec_mask[lane]) {
44256 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
44257 gpuDynInst->d_data))[lane * 4];
44258 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
44259 gpuDynInst->d_data))[lane * 4 + 1];
44260 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
44261 gpuDynInst->d_data))[lane * 4 + 2];
44262 vdst3[lane] = (
reinterpret_cast<VecElemU32*
>(
44263 gpuDynInst->d_data))[lane * 4 + 3];
44290 Wavefront *wf = gpuDynInst->wavefront();
44292 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44300 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44301 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44310 if (gpuDynInst->exec_mask[lane]) {
44311 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
44322 initMemWrite<VecElemU8>(gpuDynInst);
44347 Wavefront *wf = gpuDynInst->wavefront();
44349 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44357 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44358 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44367 if (gpuDynInst->exec_mask[lane]) {
44368 (
reinterpret_cast<VecElemU16*
>(gpuDynInst->d_data))[lane]
44379 initMemWrite<VecElemU16>(gpuDynInst);
44404 Wavefront *wf = gpuDynInst->wavefront();
44406 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44414 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44415 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44424 if (gpuDynInst->exec_mask[lane]) {
44425 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane]
44436 initMemWrite<VecElemU32>(gpuDynInst);
44447 :
Inst_FLAT(iFmt,
"flat_store_dwordx2")
44462 Wavefront *wf = gpuDynInst->wavefront();
44464 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44472 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44473 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44482 if (gpuDynInst->exec_mask[lane]) {
44483 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->d_data))[lane]
44494 initMemWrite<VecElemU64>(gpuDynInst);
44505 :
Inst_FLAT(iFmt,
"flat_store_dwordx3")
44520 Wavefront *wf = gpuDynInst->wavefront();
44522 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44530 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44531 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44544 if (gpuDynInst->exec_mask[lane]) {
44546 gpuDynInst->d_data))[lane * 3] = data0[lane];
44548 gpuDynInst->d_data))[lane * 3 + 1] = data1[lane];
44550 gpuDynInst->d_data))[lane * 3 + 2] = data2[lane];
44560 initMemWrite<3>(gpuDynInst);
44571 :
Inst_FLAT(iFmt,
"flat_store_dwordx4")
44586 Wavefront *wf = gpuDynInst->wavefront();
44588 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44596 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44597 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44612 if (gpuDynInst->exec_mask[lane]) {
44614 gpuDynInst->d_data))[lane * 4] = data0[lane];
44616 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
44618 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
44620 gpuDynInst->d_data))[lane * 4 + 3] = data3[lane];
44630 initMemWrite<4>(gpuDynInst);
44663 Wavefront *wf = gpuDynInst->wavefront();
44665 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44672 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44673 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44682 if (gpuDynInst->exec_mask[lane]) {
44683 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
44694 initAtomicAccess<VecElemU32>(gpuDynInst);
44704 if (gpuDynInst->exec_mask[lane]) {
44705 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
44706 gpuDynInst->d_data))[lane];
44718 :
Inst_FLAT(iFmt,
"flat_atomic_cmpswap")
44720 setFlag(AtomicCAS);
44721 if (instData.GLC) {
44722 setFlag(AtomicReturn);
44724 setFlag(AtomicNoReturn);
44726 setFlag(MemoryRef);
44743 Wavefront *wf = gpuDynInst->wavefront();
44745 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44752 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44753 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44764 if (gpuDynInst->exec_mask[lane]) {
44765 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->x_data))[lane]
44767 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
44778 initAtomicAccess<VecElemU32>(gpuDynInst);
44788 if (gpuDynInst->exec_mask[lane]) {
44789 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
44790 gpuDynInst->d_data))[lane];
44823 Wavefront *wf = gpuDynInst->wavefront();
44825 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
44832 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44833 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44842 if (gpuDynInst->exec_mask[lane]) {
44843 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
44854 initAtomicAccess<VecElemU32>(gpuDynInst);
44864 if (gpuDynInst->exec_mask[lane]) {
44865 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
44866 gpuDynInst->d_data))[lane];
44927 Wavefront *wf = gpuDynInst->wavefront();
44929 if (gpuDynInst->exec_mask.none()) {
44936 gpuDynInst->latency.init(gpuDynInst->computeUnit());
44937 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
44946 if (gpuDynInst->exec_mask[lane]) {
44947 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
44958 initAtomicAccess<VecElemU32>(gpuDynInst);
44968 if (gpuDynInst->exec_mask[lane]) {
44969 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
44970 gpuDynInst->d_data))[lane];
45031 Wavefront *wf = gpuDynInst->wavefront();
45033 if (gpuDynInst->exec_mask.none()) {
45040 gpuDynInst->latency.init(gpuDynInst->computeUnit());
45041 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
45050 if (gpuDynInst->exec_mask[lane]) {
45051 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
45062 initAtomicAccess<VecElemU32>(gpuDynInst);
45072 if (gpuDynInst->exec_mask[lane]) {
45073 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
45074 gpuDynInst->d_data))[lane];
45163 Wavefront *wf = gpuDynInst->wavefront();
45165 if (gpuDynInst->exec_mask.none()) {
45172 gpuDynInst->latency.init(gpuDynInst->computeUnit());
45173 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
45182 if (gpuDynInst->exec_mask[lane]) {
45183 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
45194 initAtomicAccess<VecElemU32>(gpuDynInst);
45204 if (gpuDynInst->exec_mask[lane]) {
45205 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
45206 gpuDynInst->d_data))[lane];
45302 :
Inst_FLAT(iFmt,
"flat_atomic_swap_x2")
45331 :
Inst_FLAT(iFmt,
"flat_atomic_cmpswap_x2")
45356 Wavefront *wf = gpuDynInst->wavefront();
45358 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
45365 gpuDynInst->latency.init(gpuDynInst->computeUnit());
45366 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
45377 if (gpuDynInst->exec_mask[lane]) {
45378 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->x_data))[lane]
45380 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
45391 initAtomicAccess<VecElemU64>(gpuDynInst);
45401 if (gpuDynInst->exec_mask[lane]) {
45402 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
45403 gpuDynInst->d_data))[lane];
45414 :
Inst_FLAT(iFmt,
"flat_atomic_add_x2")
45437 Wavefront *wf = gpuDynInst->wavefront();
45439 if (gpuDynInst->exec_mask.none() &&
isFlat()) {
45446 gpuDynInst->latency.init(gpuDynInst->computeUnit());
45447 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
45456 if (gpuDynInst->exec_mask[lane]) {
45457 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
45468 initAtomicAccess<VecElemU64>(gpuDynInst);
45479 if (gpuDynInst->exec_mask[lane]) {
45480 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
45481 gpuDynInst->d_data))[lane];
45492 :
Inst_FLAT(iFmt,
"flat_atomic_sub_x2")
45521 :
Inst_FLAT(iFmt,
"flat_atomic_smin_x2")
45550 :
Inst_FLAT(iFmt,
"flat_atomic_umin_x2")
45579 :
Inst_FLAT(iFmt,
"flat_atomic_smax_x2")
45608 :
Inst_FLAT(iFmt,
"flat_atomic_umax_x2")
45637 :
Inst_FLAT(iFmt,
"flat_atomic_and_x2")
45695 :
Inst_FLAT(iFmt,
"flat_atomic_xor_x2")
45724 :
Inst_FLAT(iFmt,
"flat_atomic_inc_x2")
45753 :
Inst_FLAT(iFmt,
"flat_atomic_dec_x2")
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GT_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NGT_F16(InFmt_VOP3A *)
~Inst_VOP3__V_CMPX_NLT_F64()
Inst_VOP3__V_MUL_LEGACY_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_AND_SRC2_B32(InFmt_DS *)
~Inst_VOP1__V_CVT_F32_UBYTE0()
~Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP()
Inst_VOP3__V_CMP_GT_U32(InFmt_VOP3A *)
Inst_MIMG__IMAGE_GATHER4_C_L(InFmt_MIMG *)
Inst_SOPK__S_CMPK_GE_U32(InFmt_SOPK *)
Inst_VOPC__V_CMPX_F_U16(InFmt_VOPC *)
Inst_SOP2__S_OR_B32(InFmt_SOP2 *)
~Inst_VOP1__V_FREXP_MANT_F32()
~Inst_VOP3__V_MUL_HI_U32_U24()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_F64(InFmt_VOP3A *)
Inst_VOP1__V_NOP(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NLG_F64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_F32(InFmt_VOPC *)
Inst_VOP1__V_CVT_U32_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_MOVRELS_B64(InFmt_SOP1 *)
#define fatal(...)
This implements a cprintf based fatal() function.
void completeAcc(GPUDynInstPtr) override
~Inst_DS__DS_CMPST_RTN_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_O_F16()
~Inst_MIMG__IMAGE_SAMPLE_B()
Inst_VOP3__V_CMPX_F_I16(InFmt_VOP3A *)
~Inst_VOP3__V_LDEXP_F16()
Inst_VOP3__V_CMP_NEQ_F64(InFmt_VOP3A *)
Inst_MIMG__IMAGE_GATHER4_C_B_O(InFmt_MIMG *)
Inst_VOP3__V_CMP_LT_F32(InFmt_VOP3A *)
Inst_DS__DS_RSUB_SRC2_U32(InFmt_DS *)
std::vector< int > vecReads
~Inst_VOP3__V_CMPX_GE_I64()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void prepareFlush(GPUDynInstPtr gpuDynInst)
dispatcher/shader arranges flush requests to the CUs
Inst_DS__DS_OR_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_AND_B32(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_O_F64(InFmt_VOPC *)
Inst_VOP2__V_MAX_F16(InFmt_VOP2 *)
Inst_VOP2__V_ASHRREV_I32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SQRT_F64(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_T_U64()
~Inst_MUBUF__BUFFER_LOAD_SBYTE()
~Inst_VOP3__V_SUBREV_CO_U32()
Inst_DS__DS_MAX_SRC2_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_OR_SRC2_B64()
~Inst_VOPC__V_CMPX_LT_I16()
Inst_VOP1__V_FFBL_B32(InFmt_VOP1 *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_EXP_LEGACY_F32(InFmt_VOP3A *)
Inst_VOP3__V_CMP_EQ_I16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_NOP(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_GT_I64(InFmt_VOPC *)
Inst_VOP3__V_CMP_LG_F64(InFmt_VOP3A *)
Inst_FLAT__FLAT_ATOMIC_OR_X2(InFmt_FLAT *)
~Inst_FLAT__FLAT_ATOMIC_UMIN()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LE_I16(InFmt_VOPC *)
Inst_VOP3__V_CMP_T_U16(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_CLASS_F32()
~Inst_SOP1__S_BITSET0_B64()
Inst_DS__DS_AND_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FLBIT_I32_I64(InFmt_SOP1 *)
~Inst_VOP3__V_RCP_IFLAG_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MADMK_F32(InFmt_VOP2 *)
~Inst_VOPC__V_CMP_U_F32()
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBREV_F32(InFmt_VOP2 *)
Inst_VOP3__V_FREXP_MANT_F16(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_GT_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_STORE_LDS_DWORD()
~Inst_FLAT__FLAT_LOAD_USHORT()
~Inst_VOP3__V_CMPX_LT_U32()
~Inst_VOPC__V_CMP_GT_I64()
Inst_VOP3__V_CMPX_GE_F32(InFmt_VOP3A *)
Inst_SOPP__S_CBRANCH_CDBGSYS_OR_USER(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_D_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LE_F32(InFmt_VOP3A *)
Inst_VOP3__V_CMPX_EQ_I64(InFmt_VOP3A *)
~Inst_VOP1__V_BFREV_B32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GT_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_SUBREV_U32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_T_U64()
~Inst_VOPC__V_CMP_NGT_F64()
Inst_VOP3__V_MUL_HI_U32_U24(InFmt_VOP3A *)
Inst_VOP3__V_SUBREV_U32(InFmt_VOP3A *)
Inst_SOP2__S_BFM_B64(InFmt_SOP2 *)
~Inst_VOP3__V_CMP_TRU_F16()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NLG_F64(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_NLG_F16()
~Inst_VOP1__V_CVT_F32_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NLT_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C(InFmt_MIMG *)
Inst_SOPK__S_CBRANCH_I_FORK(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LSHL_ADD_U32(InFmt_VOP3A *)
Inst_VOP3__V_MAX_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_GE_I32(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MIN_U16(InFmt_VOP2 *)
Inst_SOP1__S_MOV_B32(InFmt_SOP1 *)
~Inst_VOPC__V_CMPX_NE_U16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GE_F64(InFmt_VOP3A *)
~Inst_VOP3__V_LSHRREV_B64()
~Inst_DS__DS_GWS_BARRIER()
Inst_VOP3__V_SUB_CO_U32(InFmt_VOP3B *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_ORDERED_COUNT(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_XOR()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_F_F16(InFmt_VOP3A *)
Inst_DS__DS_GWS_SEMA_P(InFmt_DS *)
~Inst_VOP3__V_LOG_LEGACY_F32()
Inst_SOP1__S_FF1_I32_B64(InFmt_SOP1 *)
Inst_DS__DS_MIN_RTN_U64(InFmt_DS *)
Inst_DS__DS_SUB_RTN_U64(InFmt_DS *)
~Inst_VOPC__V_CMPX_GE_F32()
Inst_VOP3__V_CVT_U32_F64(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_LG_F16()
Inst_MIMG__IMAGE_SAMPLE_C_D_CL_O(InFmt_MIMG *)
~Inst_VOPC__V_CMP_TRU_F32()
Inst_VOP1__V_RCP_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_I32()
Inst_VOPC__V_CMP_F_I16(InFmt_VOPC *)
Inst_VOP1__V_LOG_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MSKOR_RTN_B64()
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_B_CL()
Inst_MUBUF__BUFFER_STORE_DWORD(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_LT_U32(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_TRUNC_F64(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_LT_U16(InFmt_VOPC *)
~Inst_DS__DS_ADD_RTN_U32()
Inst_SOP1__S_SWAPPC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_T_I32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LT_I16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_BITCMP0_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LG_F32(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_O_F64()
Inst_SOP2__S_ANDN2_B64(InFmt_SOP2 *)
~Inst_VOP3__V_FREXP_MANT_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_CLASS_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_RNDNE_F32(InFmt_VOP1 *)
~Inst_VOP3__V_SUBREV_U16()
~Inst_VOPC__V_CMP_EQ_I16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_RNDNE_F16()
Inst_VOP3__V_CMPX_EQ_F64(InFmt_VOP3A *)
Inst_SOPK__S_CMPK_LG_I32(InFmt_SOPK *)
~Inst_VOP3__V_CMP_F_U32()
Inst_VOP3__V_MIN_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MQSAD_U32_U8(InFmt_VOP3A *)
Inst_VOP3__V_CMP_NLE_F32(InFmt_VOP3A *)
Inst_MIMG__IMAGE_GATHER4(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NEQ_F32()
Inst_FLAT__FLAT_ATOMIC_INC_X2(InFmt_FLAT *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_USHORT(InFmt_MUBUF *)
Inst_MIMG__IMAGE_GATHER4_C_L_O(InFmt_MIMG *)
Inst_DS__DS_MAX_RTN_F32(InFmt_DS *)
Inst_VOP3__V_EXP_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_WRITELANE_B32()
Inst_VOPC__V_CMP_T_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GT_I32()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_BUFFER_STORE_DWORDX2()
Inst_VOPC__V_CMPX_NGE_F32(InFmt_VOPC *)
Inst_VOPC__V_CMPX_GE_U32(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr gpuDynInst)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NE_I64()
Inst_DS__DS_NOP(InFmt_DS *)
~Inst_SOPC__S_CMP_GE_U32()
~Inst_VOP3__V_CMPX_F_I16()
~Inst_MUBUF__BUFFER_STORE_DWORDX2()
~Inst_MUBUF__BUFFER_LOAD_DWORDX3()
Inst_VOP3__V_CMPX_GT_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_VCCZ(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_U32_F64()
Inst_VOP3__V_SUBREV_F16(InFmt_VOP3A *)
Inst_SMEM__S_STORE_DWORDX4(InFmt_SMEM *)
Inst_SOPK__S_CMPK_LG_U32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_D(InFmt_MIMG *)
~Inst_VOP3__V_CMPX_NLT_F16()
Inst_VOP3__V_CVT_I32_F64(InFmt_VOP3A *)
Inst_VOP3__V_DIV_SCALE_F64(InFmt_VOP3B *)
Inst_DS__DS_GWS_SEMA_RELEASE_ALL(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_CLASS_F32(InFmt_VOP3A *)
Inst_VOP3__V_CMP_GE_F16(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_DEC_RTN_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_GETPC_B64()
~Inst_VOPC__V_CMP_T_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_STORE_BYTE(InFmt_MUBUF *)
Inst_VOPC__V_CMPX_LT_F64(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_EQ_U32(InFmt_VOP3A *)
Inst_DS__DS_SUB_SRC2_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_I16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_U_F64()
Inst_VOP3__V_CMPX_U_F16(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_SAMPLE_CD_CL_O()
Inst_MIMG__IMAGE_SAMPLE(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MIN_F32(InFmt_VOP2 *)
~Inst_VOP3__V_MAD_LEGACY_F32()
~Inst_VOP1__V_MOV_FED_B32()
~Inst_DS__DS_WRITE_B8_D16_HI()
~Inst_VOP1__V_CVT_RPI_I32_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FRACT_F16(InFmt_VOP1 *)
Inst_MIMG__IMAGE_SAMPLE_B(InFmt_MIMG *)
Inst_VOP3__V_CMP_LE_I32(InFmt_VOP3A *)
Inst_MUBUF__BUFFER_ATOMIC_UMAX(InFmt_MUBUF *)
Inst_MIMG__IMAGE_SAMPLE_LZ_O(InFmt_MIMG *)
~Inst_VOP3__V_CMPX_NLE_F32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_AND_SRC2_B32()
Inst_VOPC__V_CMPX_EQ_F32(InFmt_VOPC *)
Inst_VOP3__V_MAD_F16(InFmt_VOP3A *)
Inst_DS__DS_INC_SRC2_U64(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_MAX_SRC2_I32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void flushBuf(int wfSlotId)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LT_U32(InFmt_VOPC *)
Inst_DS__DS_READ2ST64_B64(InFmt_DS *)
Inst_VOP1__V_CVT_OFF_F32_I4(InFmt_VOP1 *)
~Inst_VOPC__V_CMPX_CLASS_F32()
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_LOAD_SBYTE()
~Inst_VOP3__V_CMPX_EQ_F16()
Inst_MIMG__IMAGE_SAMPLE_O(InFmt_MIMG *)
~Inst_SOPC__S_CMP_LE_U32()
Inst_VOP3__V_CMP_F_U64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_U32()
~Inst_SOP1__S_SEXT_I32_I16()
Inst_VOP3__V_MIN_F64(InFmt_VOP3A *)
Inst_VOP1__V_CVT_I32_F64(InFmt_VOP1 *)
Inst_VOPC__V_CMP_LT_I16(InFmt_VOPC *)
~Inst_SOP1__S_FLBIT_I32_B64()
Inst_VOP3__V_CMP_GE_I16(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_LT_I32()
~Inst_VOP3__V_CMP_NLE_F64()
Inst_VOP3__V_CMPX_NLG_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_BFE_I32(InFmt_SOP2 *)
~Inst_VOP3__V_CMPX_LE_U16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Read 2 dwords from scalar data cache.
Inst_VOP3__V_CMPX_GT_I16(InFmt_VOP3A *)
Inst_VOP3__V_CMP_F_F32(InFmt_VOP3A *)
~Inst_VOP3__V_CVT_F32_F16()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_OR(InFmt_MUBUF *)
Inst_VOPC__V_CMPX_EQ_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLE_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_U_F64()
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_GT_U32()
~Inst_VOP3__V_CMPX_NLG_F32()
Inst_VOPC__V_CMP_NGE_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_STORE_BYTE()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F64_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_OR(InFmt_MIMG *)
Inst_VOP3__V_CMP_F_I16(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_LE_U64(InFmt_VOPC *)
Inst_VOP3__V_MOV_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_BCNT_U32_B32()
Inst_VOPC__V_CMP_O_F32(InFmt_VOPC *)
~Inst_FLAT__FLAT_ATOMIC_SMAX_X2()
~Inst_VOP3__V_MUL_LO_U32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_O_F16()
~Inst_MIMG__IMAGE_SAMPLE_C_CD()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLG_F32(InFmt_VOPC *)
Inst_VOP3__V_LOG_F32(InFmt_VOP3A *)
Inst_DS__DS_MIN_RTN_I32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_LOAD_DWORDX16(InFmt_SMEM *)
~Inst_VOPC__V_CMP_EQ_I32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LE_I32()
Inst_VOPC__V_CMP_LE_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_XOR_SAVEEXEC_B64()
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_WRITE_SRC2_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NGE_F32()
Inst_SOP1__S_CBRANCH_JOIN(InFmt_SOP1 *)
Inst_SOP2__S_LSHL_B64(InFmt_SOP2 *)
~Inst_MUBUF__BUFFER_ATOMIC_SUB_X2()
~Inst_MUBUF__BUFFER_LOAD_USHORT()
Inst_VOPC__V_CMP_NE_I32(InFmt_VOPC *)
~Inst_MUBUF__BUFFER_ATOMIC_OR_X2()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_RTN_F64()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GE_U64()
~Inst_SOPC__S_CMP_LT_U32()
Inst_DS__DS_XOR_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CEIL_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_ENDPGM_SAVED()
~Inst_VOP3__V_MAD_I64_I32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_F_F64()
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_O()
Inst_DS__DS_DEC_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_EQ_I32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_DIV_SCALE_F32()
~Inst_MUBUF__BUFFER_LOAD_DWORD()
~Inst_VOP3__V_CMP_F_I16()
Inst_VOP3__V_CMPX_NLE_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_O(InFmt_MIMG *)
~Inst_VOPC__V_CMP_T_U16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LT_I16()
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP2__V_SUB_CO_U32()
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_LOAD_DWORD(InFmt_FLAT *)
Inst_VOP3__V_CMP_GE_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_SCC1()
~Inst_VOP3__V_CMP_NGE_F64()
Inst_VOP3__V_CMP_NLT_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLT_F32(InFmt_VOPC *)
~Inst_VOP3__V_CVT_I32_F64()
~Inst_MIMG__IMAGE_GATHER4_LZ_O()
~Inst_SOPC__S_BITCMP1_B32()
~Inst_SMEM__S_DCACHE_INV()
Inst_VOPC__V_CMP_GE_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_STORE_MIP(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_GE_U32(InFmt_SOPC *)
~Inst_MUBUF__BUFFER_ATOMIC_SUB()
~Inst_SOP1__S_XNOR_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_LG_U32(InFmt_SOPC *)
~Inst_MUBUF__BUFFER_ATOMIC_UMAX()
~Inst_VOP3__V_QSAD_PK_U16_U8()
~Inst_SMEM__S_BUFFER_STORE_DWORD()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NLG_F64(InFmt_VOP3A *)
~Inst_FLAT__FLAT_ATOMIC_SUB()
Inst_VOP3__V_RCP_IFLAG_F32(InFmt_VOP3A *)
Inst_VOP3__V_CVT_F16_F32(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_SAMPLE_L_O()
Inst_SOPP__S_BARRIER(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_CONDXCHG32_RTN_B64()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_T_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_U32(InFmt_VOPC *)
~Inst_MIMG__IMAGE_SAMPLE_C_O()
~Inst_MIMG__IMAGE_LOAD_PCK_SGN()
void execute(GPUDynInstPtr) override
Inst_DS__DS_RSUB_U64(InFmt_DS *)
~Inst_VOP3__V_MUL_U32_U24()
Inst_VOP3__V_PERM_B32(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_LOAD_MIP_PCK()
~Inst_VOP1__V_FRACT_F32()
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_WRITE_B8_D16_HI(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_MOV_B32(InFmt_VOP1 *)
~Inst_MIMG__IMAGE_ATOMIC_SMAX()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_XOR_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_I16_F16()
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_LSHLREV_B16()
~Inst_VOP3__V_INTERP_P2_F32()
~Inst_VOP3__V_CMP_F_I32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAD_U64_U32(InFmt_VOP3B *)
void execute(GPUDynInstPtr) override
statistics::Scalar completedWGs
~Inst_VOPC__V_CMP_CLASS_F64()
void completeAcc(GPUDynInstPtr) override
~Inst_VOP1__V_FLOOR_F64()
~Inst_VOPC__V_CMPX_GE_F64()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void calcAddr(GPUDynInstPtr gpuDynInst, ConstVecOperandU32 &addr)
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_AND()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_DIV_FIXUP_F64(InFmt_VOP3A *)
ScalarRegI32 findFirstOneMsb(T val)
~Inst_SOPK__S_SETREG_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_LZ()
Inst_VOP2__V_AND_B32(InFmt_VOP2 *)
Inst_VOP3__V_CMP_GT_F64(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_SAMPLE_CL_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_CBRANCH_JOIN()
~Inst_VOP3__V_CMP_NGE_F32()
~Inst_DS__DS_SUB_SRC2_U64()
Inst_SOP1__S_FLBIT_I32_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_LOAD_MIP_PCK(InFmt_MIMG *)
Inst_VOP1__V_CVT_F32_F16(InFmt_VOP1 *)
~Inst_VOPC__V_CMP_NGE_F32()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_SET_GPR_IDX_MODE(InFmt_SOPP *)
Inst_VOP1__V_SQRT_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FLOOR_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_READ2ST64_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_T_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SUB_F16(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_F_F16()
Inst_VOPC__V_CMPX_GE_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_EQ_F16()
Inst_DS__DS_ADD_RTN_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NE_U32()
Inst_VOP3__V_CMP_GT_U16(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_LE_I16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GT_I16()
~Inst_VOP3__V_CMPX_T_U16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_TRU_F32()
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_MUL_LO_U32(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_LT_I32()
Inst_VOP2__V_MAX_U16(InFmt_VOP2 *)
Inst_FLAT__FLAT_ATOMIC_XOR_X2(InFmt_FLAT *)
Inst_DS__DS_READ_U16(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_SCC1(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_T_U32(InFmt_VOP3A *)
~Inst_SOP1__S_BCNT1_I32_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_T_I16()
Inst_VOPC__V_CMPX_EQ_U64(InFmt_VOPC *)
Inst_VOP3__V_MIN3_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_PKNORM_I16_F32()
~Inst_VOP1__V_READFIRSTLANE_B32()
~Inst_SMEM__S_DCACHE_INV_VOL()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_SOP1__S_BREV_B64(InFmt_SOP1 *)
Inst_VOP3__V_CMP_NGE_F16(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_GATHER4_C_B_CL_O()
~Inst_VOP3__V_CMP_LE_I64()
Inst_VOP3__V_CMPX_U_F64(InFmt_VOP3A *)
Inst_MUBUF__BUFFER_ATOMIC_SUB_X2(InFmt_MUBUF *)
Inst_VOP3__V_CMP_T_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_T_U16()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_MOV_FED_B32(InFmt_VOP1 *)
Inst_VOP2__V_MAX_F32(InFmt_VOP2 *)
Inst_DS__DS_RSUB_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_LOAD_SSHORT(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP2__S_CSELECT_B32()
Inst_VOP2__V_SUB_CO_U32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_AND_B32(InFmt_SOP2 *)
Inst_DS__DS_GWS_BARRIER(InFmt_DS *)
~Inst_VOPC__V_CMPX_F_U64()
~Inst_VOPC__V_CMP_NEQ_F16()
~Inst_VOPC__V_CMPX_NLT_F32()
~Inst_VOP3__V_CMPX_NGE_F16()
Inst_SOP2__S_XNOR_B32(InFmt_SOP2 *)
~Inst_MUBUF__BUFFER_ATOMIC_SWAP()
Inst_VOPC__V_CMP_GT_F16(InFmt_VOPC *)
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 ...
Inst_VOP3__V_FFBH_U32(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_NLG_F16()
Inst_VOP3__V_CMPX_NLT_F64(InFmt_VOP3A *)
Inst_SOPP__S_NOP(InFmt_SOPP *)
Inst_VOP3__V_CMPX_LE_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_EQ_F16(InFmt_VOPC *)
~Inst_DS__DS_WRXCHG_RTN_B64()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_OR_RTN_B32()
Inst_VOPC__V_CMPX_EQ_F16(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_O()
Inst_MIMG__IMAGE_GET_RESINFO(InFmt_MIMG *)
Inst_FLAT__FLAT_STORE_DWORD(InFmt_FLAT *)
Inst_VOP1__V_EXP_F16(InFmt_VOP1 *)
const int NumVecElemPerVecReg(64)
Inst_VOP2__V_MIN_I16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GT_U16(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_ATOMIC_CMPSWAP()
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GE_F32()
~Inst_VOPC__V_CMPX_NE_I32()
~Inst_VOP2__V_SUBREV_U32()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_LSHRREV_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_F64(InFmt_DS *)
~Inst_VOPC__V_CMP_CLASS_F16()
Inst_MIMG__IMAGE_SAMPLE_C_L(InFmt_MIMG *)
~Inst_SOPK__S_CMPK_EQ_U32()
Inst_VOP3__V_CMPX_NLE_F16(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_STORE()
Inst_VOPC__V_CMP_TRU_F16(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_GE_U64()
~Inst_SOP1__S_BCNT1_I32_B64()
Inst_VOP3__V_CMPX_NE_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_SOP2__S_ANDN2_B64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NLE_F64()
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_LE_U32(InFmt_SOPK *)
~Inst_VOP2__V_MADMK_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_F_U64(InFmt_VOP3A *)
~Inst_SOPP__S_INCPERFLEVEL()
Inst_VOPC__V_CMP_NEQ_F16(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_F32_UBYTE0()
~Inst_VOP3__V_CMP_GT_F32()
void execute(GPUDynInstPtr) override
Inst_SOPK__S_MOVK_I32(InFmt_SOPK *)
~Inst_SMEM__S_BUFFER_LOAD_DWORDX2()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_INC_RTN_U64()
~Inst_VOP3__V_CMP_LE_U32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NE_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NLG_F32()
Inst_VOP3__V_CMPX_LT_I16(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_NLT_F16()
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_SMIN_X2()
~Inst_VOP3__V_MQSAD_U32_U8()
Inst_VOP2__V_SUB_F32(InFmt_VOP2 *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_U_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NEQ_F16(InFmt_VOP3A *)
Inst_VOP3__V_ADD_LSHL_U32(InFmt_VOP3A *)
~Inst_DS__DS_MAX_RTN_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MAX_I32(InFmt_VOP2 *)
~Inst_VOPC__V_CMPX_GE_I64()
Inst_SMEM__S_DCACHE_WB_VOL(InFmt_SMEM *)
Inst_VOP3__V_RNDNE_F32(InFmt_VOP3A *)
~Inst_SOPK__S_CMPK_LG_U32()
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BCNT0_I32_B64()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_SCC0(InFmt_SOPP *)
Inst_DS__DS_MIN_I32(InFmt_DS *)
~Inst_SOP2__S_ANDN2_B32()
Inst_VOP3__V_MQSAD_PK_U16_U8(InFmt_VOP3A *)
Inst_VOP3__V_CVT_PKACCUM_U8_F32(InFmt_VOP3A *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_CLASS_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_AND_RTN_B64(InFmt_DS *)
Inst_DS__DS_INC_RTN_U32(InFmt_DS *)
Inst_FLAT__FLAT_ATOMIC_SUB(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NE_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_UMIN_X2(InFmt_MUBUF *)
Inst_MIMG__IMAGE_SAMPLE_D_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
gem5::ComputeUnit::ComputeUnitStats stats
Inst_VOP1__V_CVT_I32_F32(InFmt_VOP1 *)
Inst_VOPC__V_CMP_GE_U64(InFmt_VOPC *)
Inst_VOP3__V_SQRT_F32(InFmt_VOP3A *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_F_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_EQ_U16()
~Inst_MIMG__IMAGE_GATHER4_CL_O()
~Inst_VOPC__V_CMPX_EQ_U16()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_SENDMSGHALT(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_SUBBREV_CO_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NLE_F64()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LSHLREV_B32()
~Inst_VOPC__V_CMP_F_F32()
~Inst_MIMG__IMAGE_ATOMIC_SWAP()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_DEC_SRC2_U32()
~Inst_VOP3__V_FRACT_F32()
Inst_VOP2__V_MAC_F32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NEQ_F32()
Inst_VOPC__V_CMPX_EQ_I32(InFmt_VOPC *)
~Inst_SOPK__S_CMPK_LT_I32()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_LE_I32()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_L_O(InFmt_MIMG *)
~Inst_MIMG__IMAGE_SAMPLE_C_D_CL_O()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_UMIN_X2()
void execute(GPUDynInstPtr) override
Inst_DS__DS_CMPST_B64(InFmt_DS *)
~Inst_VOPC__V_CMP_NE_U32()
Inst_MIMG__IMAGE_GATHER4_CL_O(InFmt_MIMG *)
Inst_VOP3__V_CMPX_EQ_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CVT_OFF_F32_I4(InFmt_VOP3A *)
Inst_SMEM__S_MEMTIME(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_STORE_LDS_DWORD(InFmt_MUBUF *)
~Inst_DS__DS_RSUB_SRC2_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_U16()
void panicUnimplemented() const
Inst_VOPC__V_CMP_T_U16(InFmt_VOPC *)
~Inst_DS__DS_ORDERED_COUNT()
Inst_VOP3__V_CMP_LE_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_T_U16(InFmt_VOPC *)
Inst_SOP2__S_MAX_U32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_UMIN()
~Inst_VOP3__V_MUL_LEGACY_F32()
~Inst_SOP1__S_FF1_I32_B64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LT_U16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_F_F64()
~Inst_SOPP__S_CBRANCH_CDBGUSER()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_LZ()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ADD3_U32(InFmt_VOP3A *)
Inst_VOPC__V_CMP_LT_F64(InFmt_VOPC *)
Inst_VOPC__V_CMP_NGT_F16(InFmt_VOPC *)
Inst_VOPC__V_CMP_F_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_UBYTE1(InFmt_VOP3A *)
Inst_VOP3__V_CMP_NE_U64(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_GE_U64(InFmt_VOPC *)
~Inst_MUBUF__BUFFER_LOAD_SSHORT()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_B_CL(InFmt_MIMG *)
Inst_SOP1__S_FF1_I32_B32(InFmt_SOP1 *)
~Inst_FLAT__FLAT_STORE_BYTE()
~Inst_VOPC__V_CMPX_T_U16()
Inst_VOP3__V_CMPX_EQ_U64(InFmt_VOP3A *)
Inst_VOP3__V_CMPX_F_F64(InFmt_VOP3A *)
Inst_VOP3__V_MIN_I16(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_F_U16()
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_LE_I32(InFmt_SOPC *)
~Inst_VOP3__V_CVT_PK_I16_I32()
Inst_VOPC__V_CMP_U_F32(InFmt_VOPC *)
Inst_SOP2__S_LSHL_B32(InFmt_SOP2 *)
Inst_VOP1__V_CVT_F16_F32(InFmt_VOP1 *)
~Inst_VOP3__V_CVT_PKNORM_U16_F32()
~Inst_VOP3__V_CMPX_NE_U64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NGT_F16()
void releaseBarrier(int bar_id)
~Inst_SOPK__S_CMPK_LT_U32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLG_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_I32(InFmt_VOP3A *)
Inst_VOP3__V_CMP_GE_U64(InFmt_VOP3A *)
Inst_VOP3__V_CMP_U_F32(InFmt_VOP3A *)
Inst_VOP3__V_CMP_U_F16(InFmt_VOP3A *)
~Inst_FLAT__FLAT_LOAD_DWORDX4()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LT_F64()
void execute(GPUDynInstPtr) override
int numYetToReachBarrier(int bar_id)
void completeAcc(GPUDynInstPtr) override
Inst_VOP1__V_BFREV_B32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GET_RESINFO()
Inst_SOP2__S_RFE_RESTORE_B64(InFmt_SOP2 *)
~Inst_VOP3__V_CNDMASK_B32()
~Inst_SOPC__S_CMP_GT_U32()
~Inst_MUBUF__BUFFER_ATOMIC_OR()
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_MOV_FED_B32()
~Inst_FLAT__FLAT_ATOMIC_SMAX()
Inst_VOP3__V_CMP_GE_I64(InFmt_VOP3A *)
Inst_SOP2__S_NOR_B64(InFmt_SOP2 *)
Inst_SOPP__S_TTRACEDATA(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE_SRC2_B64()
Inst_MUBUF__BUFFER_ATOMIC_SMIN(InFmt_MUBUF *)
~Inst_DS__DS_CMPST_RTN_B64()
~Inst_VOP1__V_CVT_U16_F16()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAX_U16(InFmt_VOP3A *)
Inst_DS__DS_MAX_RTN_U32(InFmt_DS *)
Inst_VOPC__V_CMPX_U_F64(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_NGT_F64()
Inst_SOP1__S_MOVRELD_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_GETPC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_INC()
Inst_VOP3__V_MAD_LEGACY_F32(InFmt_VOP3A *)
Inst_VOP3__V_INTERP_MOV_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GE_I16(InFmt_VOPC *)
Inst_VOP3__V_CMP_NE_I16(InFmt_VOP3A *)
Inst_VOP3__V_FREXP_MANT_F32(InFmt_VOP3A *)
~Inst_VOP3__V_CMPX_GT_U32()
~Inst_VOPC__V_CMPX_EQ_I16()
Inst_VOP3__V_CUBESC_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_SMIN_X2(InFmt_FLAT *)
~Inst_VOP3__V_FRACT_F64()
~Inst_VOP3__V_FREXP_EXP_I16_F16()
~Inst_FLAT__FLAT_STORE_DWORD()
Inst_VOP3__V_QSAD_PK_U16_U8(InFmt_VOP3A *)
Inst_VOPC__V_CMP_GT_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_SETPC_B64()
~Inst_VOPC__V_CMPX_GT_U16()
Inst_SOPK__S_SETREG_B32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_COS_F32(InFmt_VOP1 *)
Inst_MUBUF__BUFFER_ATOMIC_INC(InFmt_MUBUF *)
Inst_MUBUF__BUFFER_STORE_DWORDX3(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_I32(InFmt_VOPC *)
~Inst_VOP3__V_MUL_HI_I32()
~Inst_SOP1__S_BCNT0_I32_B32()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_EQ_I64(InFmt_VOPC *)
bool isReachingKernelEnd(Wavefront *wf)
~Inst_VOP3__V_CVT_RPI_I32_F32()
Inst_SOP1__S_ANDN2_SAVEEXEC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LE_U16(InFmt_VOPC *)
Inst_FLAT__FLAT_STORE_DWORDX4(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMOVK_I32()
Inst_VOP2__V_ADD_U16(InFmt_VOP2 *)
Inst_VOP2__V_XOR_B32(InFmt_VOP2 *)
Inst_DS__DS_GWS_SEMA_BR(InFmt_DS *)
Inst_DS__DS_OR_SRC2_B64(InFmt_DS *)
Inst_DS__DS_XOR_RTN_B64(InFmt_DS *)
~Inst_MUBUF__BUFFER_STORE_SHORT()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NE_I32()
Inst_DS__DS_RSUB_RTN_U32(InFmt_DS *)
Inst_VOP3__V_CVT_PK_U8_F32(InFmt_VOP3A *)
~Inst_DS__DS_MSKOR_RTN_B32()
Inst_VOP3__V_MIN_I32(InFmt_VOP3A *)
~Inst_MUBUF__BUFFER_LOAD_DWORDX2()
~Inst_DS__DS_WRAP_RTN_B32()
~Inst_VOPC__V_CMP_GT_U32()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_INTERP_P2_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F16_F32()
Inst_SOPP__S_CBRANCH_VCCNZ(InFmt_SOPP *)
~Inst_MIMG__IMAGE_GATHER4_C_B_O()
~Inst_VOP3__V_CMPX_F_I64()
Inst_SOP1__S_QUADMASK_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_UMAX(InFmt_MIMG *)
~Inst_VOP3__V_CMP_LT_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_DIV_FIXUP_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_ADD_LSHL_U32()
Inst_VOP1__V_EXP_LEGACY_F32(InFmt_VOP1 *)
Inst_VOPC__V_CMPX_LT_I32(InFmt_VOPC *)
Inst_DS__DS_MIN_SRC2_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_I64()
Inst_SOP1__S_NOR_SAVEEXEC_B64(InFmt_SOP1 *)
Inst_VOPC__V_CMP_TRU_F64(InFmt_VOPC *)
~Inst_VOP3__V_CVT_F16_I16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LG_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_NOT_B32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_U16(InFmt_VOP3A *)
Inst_VOP3__V_CMP_O_F32(InFmt_VOP3A *)
Inst_SOPK__S_ADDK_I32(InFmt_SOPK *)
Inst_DS__DS_WRXCHG2_RTN_B32(InFmt_DS *)
void injectGlobalMemFence(GPUDynInstPtr gpuDynInst)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NLE_F16(InFmt_VOP3A *)
Inst_DS__DS_ADD_RTN_U32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_CD_CL_O(InFmt_MIMG *)
LdsState & getLds() const
Inst_FLAT__FLAT_ATOMIC_UMAX(InFmt_FLAT *)
~Inst_DS__DS_GWS_SEMA_BR()
Inst_DS__DS_ADD_F32(InFmt_DS *)
~Inst_VOP3__V_CMP_EQ_U32()
Inst_VOP1__V_CVT_I16_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_U_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_F16(InFmt_VOP3A *)
Inst_DS__DS_SUB_RTN_U32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_EQ_I16()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_TRUNC_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MIN3_I32(InFmt_VOP3A *)
~Inst_VOP2__V_SUBB_CO_U32()
Inst_MUBUF__BUFFER_ATOMIC_INC_X2(InFmt_MUBUF *)
Inst_VOP3__V_CUBEID_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_OR_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_B32(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLT_F16(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_EQ_U32()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_CL(InFmt_MIMG *)
Inst_VOP1__V_RSQ_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FREXP_MANT_F16(InFmt_VOP1 *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NLT_F32(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_F_I16()
Inst_DS__DS_MIN_SRC2_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ2_B64(InFmt_DS *)
~Inst_VOP3__V_CMPX_LG_F16()
Inst_SOP1__S_FF0_I32_B64(InFmt_SOP1 *)
Inst_SOP1__S_RFE_B64(InFmt_SOP1 *)
Inst_VOP3__V_CMP_GT_I32(InFmt_VOP3A *)
T roundNearestEven(T val)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_TRU_F32(InFmt_VOP3A *)
Inst_VOPC__V_CMP_LE_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NLG_F64()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_UMAX_X2(InFmt_MUBUF *)
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_AND_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_I32()
~Inst_DS__DS_MIN_RTN_I64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_U_F64()
Inst_VOP3__V_BCNT_U32_B32(InFmt_VOP3A *)
Inst_DS__DS_INC_U32(InFmt_DS *)
Inst_VOPC__V_CMP_GT_U64(InFmt_VOPC *)
Inst_VOP2__V_SUB_U32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_LOAD_DWORDX16()
std::enable_if< Condition, void >::type setBit(int bit, int bit_val)
bit access to scalar data.
~Inst_VOP3__V_CMP_NEQ_F64()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_NOT_B64(InFmt_SOP1 *)
~Inst_VOPC__V_CMP_NLE_F16()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NGE_F64(InFmt_VOPC *)
~Inst_VOP3__V_ASHRREV_I64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GT_U64()
Inst_VOP3__V_CMPX_F_U32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_DIV_FMAS_F32(InFmt_VOP3A *)
Inst_VOP2__V_MAC_F16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_U32_F32()
Inst_VOP3__V_CMPX_NGT_F64(InFmt_VOP3A *)
Inst_MIMG__IMAGE_SAMPLE_C_CL_O(InFmt_MIMG *)
Inst_SMEM__S_BUFFER_LOAD_DWORDX2(InFmt_SMEM *)
~Inst_VOP3__V_CMPX_LT_I32()
~Inst_SOPK__S_CMPK_EQ_I32()
~Inst_SOP1__S_MOVRELS_B64()
Inst_VOP3__V_ADD_F16(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_SAMPLE_L()
Inst_VOP3__V_CMPX_LE_U64(InFmt_VOP3A *)
Inst_SOP1__S_XOR_SAVEEXEC_B64(InFmt_SOP1 *)
Inst_MIMG__IMAGE_SAMPLE_C_LZ(InFmt_MIMG *)
~Inst_MIMG__IMAGE_SAMPLE()
void execute(GPUDynInstPtr) override
std::unordered_map< int, uint64_t > rawDist
Inst_VOP3__V_CMPX_F_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F16_U16()
~Inst_VOP3__V_CMPX_LE_I64()
~Inst_VOP3__V_CVT_PKACCUM_U8_F32()
~Inst_FLAT__FLAT_ATOMIC_UMAX()
Inst_VOPC__V_CMP_LT_I32(InFmt_VOPC *)
~Inst_FLAT__FLAT_ATOMIC_OR()
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MUL_I32_I24()
Inst_SOP2__S_ASHR_I64(InFmt_SOP2 *)
~Inst_VOP3__V_FREXP_MANT_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_LOAD_DWORDX2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ALIGNBIT_B32(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_EQ_F64()
Inst_VOP3__V_CVT_I16_F16(InFmt_VOP3A *)
~Inst_VOP3__V_INTERP_P1LL_F16()
~Inst_VOPC__V_CMPX_GT_F32()
~Inst_VOP3__V_INTERP_P1_F32()
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_STORE_DWORD(InFmt_SMEM *)
~Inst_FLAT__FLAT_STORE_DWORDX4()
~Inst_FLAT__FLAT_LOAD_UBYTE()
Inst_VOP3__V_MUL_U32_U24(InFmt_VOP3A *)
Inst_VOP3__V_CNDMASK_B32(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_LT_F32()
void sample(const U &v, int n=1)
Add a value to the distribtion n times.
void initiateAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_TRU_F64()
Inst_MIMG__IMAGE_GATHER4_C_CL_O(InFmt_MIMG *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
std::vector< VectorRegisterFile * > vrf
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_INC_SRC2_U32(InFmt_DS *)
~Inst_VOP1__V_CVT_I32_F64()
~Inst_VOP2__V_SUBREV_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_U32()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NE_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_U16()
void calcAddr(GPUDynInstPtr gpuDynInst, VOFF v_off, VIDX v_idx, SRSRC s_rsrc_desc, SOFF s_offset, int inst_offset)
MUBUF insructions calculate their addresses as follows:
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_CONSUME(InFmt_DS *)
Inst_VOPC__V_CMP_NLE_F16(InFmt_VOPC *)
~Inst_VOPC__V_CMP_GT_F32()
~Inst_VOPC__V_CMPX_T_U32()
~Inst_VOPC__V_CMPX_CLASS_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_T_I16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_D_O(InFmt_MIMG *)
~Inst_DS__DS_MIN_SRC2_I64()
Inst_DS__DS_AND_SRC2_B64(InFmt_DS *)
~Inst_MUBUF__BUFFER_ATOMIC_SWAP_X2()
Inst_VOPC__V_CMPX_F_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_RSQ_F64(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_O_F32()
Inst_VOP2__V_MIN_I32(InFmt_VOP2 *)
Inst_VOP3__V_CMPX_GE_U64(InFmt_VOP3A *)
Inst_VOP1__V_CVT_F32_U32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_I32_F32(InFmt_VOP3A *)
Inst_DS__DS_CMPST_F32(InFmt_DS *)
Inst_VOPC__V_CMP_GT_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_LOAD_DWORD(InFmt_SMEM *)
Inst_MIMG__IMAGE_ATOMIC_INC(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MAD_U64_U32()
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_U32()
~Inst_SOP1__S_NAND_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBREV_CO_U32(InFmt_VOP2 *)
constexpr uint64_t mask(unsigned nbits)
Generate a 64-bit mask of 'nbits' 1s, right justified.
Inst_SOP1__S_QUADMASK_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_B_CL_O(InFmt_MIMG *)
Inst_VOP3__V_CMPX_GE_U32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MADMK_F16(InFmt_VOP2 *)
Inst_VOPC__V_CMPX_T_I32(InFmt_VOPC *)
~Inst_VOPC__V_CMP_LT_I16()
~Inst_DS__DS_AND_RTN_B64()
void initiateAcc(GPUDynInstPtr) override
ScalarRegI32 firstOppositeSignBit(ScalarRegI32 val)
Inst_VOP3__V_CVT_FLR_I32_F32(InFmt_VOP3A *)
~Inst_VOP3__V_INTERP_MOV_F32()
Inst_VOP3__V_CMPX_GT_U32(InFmt_VOP3A *)
Inst_FLAT__FLAT_ATOMIC_SMIN(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FREXP_EXP_I32_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_F_F16()
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_O_F64()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_PKNORM_I16_F32(InFmt_VOP3A *)
Inst_VOP2__V_MUL_LO_U16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LE_F16()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_B_CL_O(InFmt_MIMG *)
~Inst_VOP3__V_CMPX_NGE_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP2__S_BFM_B32(InFmt_SOP2 *)
Inst_SOP2__S_ORN2_B32(InFmt_SOP2 *)
~Inst_SOP1__S_FLBIT_I32_B32()
~Inst_SMEM__S_BUFFER_LOAD_DWORDX16()
Inst_DS__DS_MIN_SRC2_I32(InFmt_DS *)
~Inst_VOPC__V_CMPX_NGT_F16()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_OFF_F32_I4()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LE_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MBCNT_LO_U32_B32()
~Inst_VOP3__V_CMPX_EQ_U64()
void execute(GPUDynInstPtr) override
Cycles is a wrapper class for representing cycle counts, i.e.
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_I16()
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_D()
~Inst_SOPP__S_ICACHE_INV()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NEQ_F64()
Inst_VOPC__V_CMP_NLE_F32(InFmt_VOPC *)
Inst_VOP3__V_CMPX_LT_U64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CEIL_F64(InFmt_VOP3A *)
Inst_MIMG__IMAGE_GATHER4_B_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_I16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LT_F16()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_B_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_SMEM__S_DCACHE_INV(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_RCP_F32(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_EQ_I64(InFmt_VOPC *)
~Inst_MIMG__IMAGE_SAMPLE_C_LZ()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_SETHALT(InFmt_SOPP *)
ScalarRegI32 countZeroBitsMsb(T val)
Inst_VOP3__V_SUB_F32(InFmt_VOP3A *)
~Inst_DS__DS_WRITE2ST64_B32()
~Inst_VOP3__V_CMPX_NE_I64()
Inst_SOPC__S_BITCMP0_B32(InFmt_SOPC *)
Inst_SMEM__S_BUFFER_STORE_DWORDX2(InFmt_SMEM *)
Inst_SOP1__S_WQM_B64(InFmt_SOP1 *)
Inst_VOPC__V_CMPX_NLE_F32(InFmt_VOPC *)
~Inst_SOP1__S_FLBIT_I32()
Inst_DS__DS_ADD_U32(InFmt_DS *)
Inst_VOPC__V_CMP_EQ_I32(InFmt_VOPC *)
Inst_MUBUF__BUFFER_LOAD_SSHORT(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_CLASS_F64()
~Inst_MIMG__IMAGE_SAMPLE_C_CL_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F64_I32()
Inst_DS__DS_MIN_RTN_I64(InFmt_DS *)
~Inst_VOPC__V_CMP_GT_F16()
Inst_VOPC__V_CMP_NGT_F64(InFmt_VOPC *)
Inst_VOPC__V_CMPX_NE_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_VCCZ()
Inst_SMEM__S_DCACHE_INV_VOL(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LT_U16(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_GATHER4_L_O()
Inst_SOP2__S_XOR_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_UMAX_X2()
Inst_VOP3__V_TRIG_PREOP_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_FF0_I32_B64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_I64(InFmt_DS *)
Inst_VOP3__V_CEIL_F32(InFmt_VOP3A *)
~Inst_VINTRP__V_INTERP_P1_F32()
Inst_VOP3__V_CMPX_LT_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LSHL_ADD_U32()
~Inst_VOP1__V_CVT_F64_F32()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MADAK_F16(InFmt_VOP2 *)
Inst_VOP2__V_LDEXP_F16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_EQ_I32()
~Inst_VOPC__V_CMPX_GT_I16()
~Inst_VOP3__V_CMP_O_F32()
Inst_SOP1__S_MOV_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BITSET0_B32(InFmt_SOP1 *)
~Inst_VOP3__V_ASHRREV_I32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NLG_F32()
Inst_VOP3__V_MAX3_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CUBESC_F32()
~Inst_DS__DS_MIN_SRC2_I32()
~Inst_MIMG__IMAGE_GATHER4_C_B()
Inst_DS__DS_WRITE2ST64_B32(InFmt_DS *)
~Inst_VOP3__V_CMPX_EQ_I16()
void setStatus(status_e newStatus)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_F16(InFmt_VOPC *)
~Inst_FLAT__FLAT_LOAD_DWORD()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_ADD_SRC2_F32()
Inst_VOP3__V_ADD_U16(InFmt_VOP3A *)
Inst_VOP3__V_COS_F16(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_EQ_U16(InFmt_VOPC *)
Inst_VOPC__V_CMPX_T_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LG_F32(InFmt_VOP3A *)
Inst_VOPC__V_CMP_GT_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_INTERP_P1LV_F16()
Inst_VOP3__V_CMPX_EQ_I16(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr gpuDynInst) override
~Inst_VOPC__V_CMPX_EQ_F32()
Inst_DS__DS_RSUB_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LG_F64(InFmt_VOPC *)
~Inst_VOP1__V_RNDNE_F64()
Inst_VOPC__V_CMPX_O_F16(InFmt_VOPC *)
Inst_VOPC__V_CMP_CLASS_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_U_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_EQ_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LE_I32(InFmt_VOPC *)
~Inst_MIMG__IMAGE_LOAD_PCK()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE2_B64(InFmt_DS *)
~Inst_DS__DS_WRXCHG2_RTN_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NEQ_F16(InFmt_VOP3A *)
Inst_VOP3__V_CMP_GT_F32(InFmt_VOP3A *)
~Inst_SOPC__S_CMP_LG_I32()
~Inst_DS__DS_RSUB_RTN_U64()
Inst_MIMG__IMAGE_GATHER4_B(InFmt_MIMG *)
~Inst_SMEM__S_MEMREALTIME()
~Inst_SMEM__S_BUFFER_LOAD_DWORD()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_DEC()
Inst_FLAT__FLAT_LOAD_UBYTE(InFmt_FLAT *)
~Inst_VOP3__V_CMPX_GE_I16()
~Inst_DS__DS_READ2ST64_B32()
Inst_SOPP__S_WAKEUP(InFmt_SOPP *)
Inst_MIMG__IMAGE_GATHER4_C_LZ_O(InFmt_MIMG *)
Inst_VOP3__V_INTERP_P2_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_CMPST_F64(InFmt_DS *)
Inst_VOP2__V_SUB_U16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_B64(InFmt_DS *)
~Inst_SOP1__S_BITSET1_B64()
Inst_SOP1__S_NAND_SAVEEXEC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_DEC_X2()
Inst_VOP2__V_ADD_F16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
T median(T val_0, T val_1, T val_2)
void execute(GPUDynInstPtr) override
VecOperand< VecElemU32, true > ConstVecOperandU32
Inst_VOP3__V_FMA_F64(InFmt_VOP3A *)
Inst_FLAT__FLAT_ATOMIC_SWAP_X2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_SOPP__S_BRANCH(InFmt_SOPP *)
~Inst_SOP1__S_AND_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_F32_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPP__S_WAITCNT(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_RPI_I32_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_LOAD_DWORDX4(InFmt_FLAT *)
~Inst_MUBUF__BUFFER_ATOMIC_XOR()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_F32(InFmt_DS *)
~Inst_MIMG__IMAGE_SAMPLE_C_L_O()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_F_I64()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void freeRegisters(Wavefront *w)
Inst_VOP3__V_RCP_F64(InFmt_VOP3A *)
~Inst_VINTRP__V_INTERP_MOV_F32()
void completeAcc(GPUDynInstPtr gpuDynInst) override
~Inst_FLAT__FLAT_ATOMIC_INC()
Inst_MIMG__IMAGE_GATHER4_L(InFmt_MIMG *)
Inst_VOP3__V_CMP_LE_U32(InFmt_VOP3A *)
Inst_SOP2__S_SUBB_U32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_LZ(InFmt_MIMG *)
Inst_VOP3__V_SUBREV_U16(InFmt_VOP3A *)
Inst_VOP3__V_MUL_HI_I32(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_SAMPLE_B_CL_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_O(InFmt_MIMG *)
~Inst_VOPC__V_CMP_TRU_F64()
Inst_VOP3__V_LSHLREV_B16(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_T_I16()
Inst_VOPC__V_CMP_O_F64(InFmt_VOPC *)
~Inst_MIMG__IMAGE_GATHER4_B_O()
Inst_SOPC__S_BITCMP1_B32(InFmt_SOPC *)
~Inst_VOPC__V_CMPX_F_F32()
Inst_VOPC__V_CMPX_LE_F16(InFmt_VOPC *)
~Inst_VOP3__V_CMP_GE_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NE_U32(InFmt_VOPC *)
Inst_SOP2__S_XNOR_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_MOVRELD_B64()
~Inst_FLAT__FLAT_ATOMIC_ADD()
~Inst_MIMG__IMAGE_STORE_MIP()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_EXECNZ(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SIN_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ2_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_STORE_DWORDX3()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_CDBGSYS_AND_USER(InFmt_SOPP *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
uint8_t permute(uint64_t in_dword2x, uint32_t sel)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_CL(InFmt_MIMG *)
Inst_VOPC__V_CMP_U_F64(InFmt_VOPC *)
~Inst_MUBUF__BUFFER_LOAD_UBYTE()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_CD(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_PK_I16_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GT_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
int numAtBarrier(int bar_id)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LDEXP_F32()
Inst_VOPC__V_CMPX_LT_F32(InFmt_VOPC *)
void incNumAtBarrier(int bar_id)
Inst_VOP3__V_OR_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_FREXP_MANT_F16()
Inst_VOP3__V_CMP_GT_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NGE_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
statistics::Scalar completedWfs
~Inst_MIMG__IMAGE_ATOMIC_ADD()
Inst_VOP3__V_SAD_U32(InFmt_VOP3A *)
Inst_VOP3__V_MAX_I16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_F64(InFmt_VOPC *)
~Inst_DS__DS_XOR_SRC2_B32()
~Inst_VOP3__V_CVT_U32_F64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_F16()
~Inst_VOP2__V_ADDC_CO_U32()
Inst_VOPC__V_CMP_NEQ_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NGT_F32()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_MED3_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_PK_U16_U32(InFmt_VOP3A *)
Inst_DS__DS_MSKOR_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LSHLREV_B64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NE_I16()
Inst_VOP3__V_MAD_U16(InFmt_VOP3A *)
Inst_SOPP__S_CBRANCH_EXECZ(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_TRU_F32(InFmt_VOPC *)
~Inst_DS__DS_MAX_SRC2_I32()
~Inst_VOP3__V_CMP_LE_F64()
Inst_VOPC__V_CMP_NGE_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_EQ_I32()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_F16()
Inst_VOP3__V_RNDNE_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GE_I16()
void execute(GPUDynInstPtr) override
Inst_DS__DS_SUB_U32(InFmt_DS *)
~Inst_SMEM__S_STORE_DWORD()
~Inst_SOPP__S_CBRANCH_CDBGSYS_OR_USER()
~Inst_VOP3__V_DIV_FIXUP_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
static const int InvalidID
Inst_VOP3__V_CMP_GE_I32(InFmt_VOP3A *)
constexpr int findLsbSet(uint64_t val)
Returns the bit position of the LSB that is set in the input.
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_LOAD_MIP_PCK_SGN(InFmt_MIMG *)
Inst_VOP3__V_RNDNE_F16(InFmt_VOP3A *)
Inst_SOP2__S_ADDC_U32(InFmt_SOP2 *)
Inst_DS__DS_CMPST_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_I64()
Inst_VOP3__V_CMPX_LG_F16(InFmt_VOP3A *)
Inst_FLAT__FLAT_ATOMIC_DEC(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_CD_O(InFmt_MIMG *)
Inst_VOP1__V_CVT_F64_F32(InFmt_VOP1 *)
Inst_SOP1__S_BITSET0_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_GT_I32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_EQ_I64(InFmt_VOP3A *)
Inst_VOP3__V_CMPX_NLE_F32(InFmt_VOP3A *)
Inst_VOPC__V_CMP_NGT_F32(InFmt_VOPC *)
~Inst_MIMG__IMAGE_ATOMIC_UMAX()
~Inst_DS__DS_ADD_SRC2_U32()
Inst_VOP3__V_SUBREV_F32(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_LT_U32()
void execute(GPUDynInstPtr) override
void decMaxBarrierCnt(int bar_id)
Inst_SMEM__S_ATC_PROBE(InFmt_SMEM *)
Inst_VOP3__V_CMP_NE_U32(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_ATOMIC_SUB()
Inst_SOP2__S_CSELECT_B64(InFmt_SOP2 *)
~Inst_DS__DS_RSUB_RTN_U32()
~Inst_VOP3__V_SUBREV_F16()
~Inst_VOP3__V_CVT_F64_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_EQ_U32(InFmt_VOP3A *)
Inst_VOP3__V_SUB_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_B_CL(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_SUB_CO_U32()
Inst_VOP1__V_FRACT_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ABSDIFF_I32(InFmt_SOP2 *)
Inst_VOP3__V_MUL_I32_I24(InFmt_VOP3A *)
Inst_VOP2__V_SUB_F16(InFmt_VOP2 *)
Inst_VOP3__V_CMP_GE_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_F_U64(InFmt_VOPC *)
~Inst_DS__DS_INC_RTN_U32()
Inst_VOP3__V_RSQ_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_T_I16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LE_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_CLASS_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_AND_X2()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GE_F16()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_RTN_F64(InFmt_DS *)
Inst_DS__DS_WRXCHG2_RTN_B64(InFmt_DS *)
Inst_FLAT__FLAT_LOAD_USHORT(InFmt_FLAT *)
constexpr int popCount(uint64_t val)
Returns the number of set ones in the provided value.
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE_B128()
Inst_VOP3__V_CMPX_LE_U32(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_LG_F16()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LT_U64(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_NLE_F16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NGT_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_CD_CL()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_XAD_U32(InFmt_VOP3A *)
Inst_VOP1__V_CEIL_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP2__S_RFE_RESTORE_B64()
Inst_DS__DS_MIN_U64(InFmt_DS *)
~Inst_SMEM__S_BUFFER_STORE_DWORDX4()
~Inst_VOP3__V_CMP_GE_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_EQ_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_F64(InFmt_DS *)
~Inst_VOP3__V_CVT_F16_F32()
Inst_SOPP__S_SETPRIO(InFmt_SOPP *)
Inst_SOP1__S_BCNT1_I32_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_I32(InFmt_DS *)
Inst_MUBUF__BUFFER_STORE_SHORT(InFmt_MUBUF *)
Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP_X2(InFmt_MUBUF *)
Inst_VOP3__V_FLOOR_F32(InFmt_VOP3A *)
Inst_VINTRP__V_INTERP_P1_F32(InFmt_VINTRP *)
Inst_VOP3__V_CMPX_LT_I64(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_EQ_U64()
Inst_VOPC__V_CMPX_NLT_F32(InFmt_VOPC *)
Inst_MIMG__IMAGE_ATOMIC_SMAX(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_SUBREV_CO_U32()
~Inst_VOP3__V_CMPX_LT_I16()
~Inst_VOP3__V_CMPX_F_F32()
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_AND()
void execute(GPUDynInstPtr) override
ScalarOperand< ScalarRegU32, true, 4 > ConstScalarOperandU128
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAX_F64(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_EQ_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LDEXP_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_LOAD_DWORDX8(InFmt_SMEM *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FREXP_MANT_F32(InFmt_VOP1 *)
~Inst_VOP3__V_CMPX_GE_I32()
~Inst_VOP3__V_CMPX_F_U16()
Inst_MIMG__IMAGE_SAMPLE_C_CL(InFmt_MIMG *)
Inst_VOP3__V_FMA_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_SRC2_F32()
Inst_VOP3__V_ADD_CO_U32(InFmt_VOP3B *)
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_CMPST_RTN_F64(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_I64(InFmt_VOPC *)
Inst_SOPK__S_CMPK_GE_I32(InFmt_SOPK *)
Inst_VOPC__V_CMPX_NEQ_F16(InFmt_VOPC *)
~Inst_VOP2__V_LSHLREV_B32()
~Inst_VOP3__V_CMPX_TRU_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_FLBIT_I32_I64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_UMIN_X2()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_L(InFmt_MIMG *)
~Inst_VOPC__V_CMPX_F_U32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_T_I16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_XOR_SRC2_B64(InFmt_DS *)
Inst_DS__DS_WRITE2ST64_B64(InFmt_DS *)
Inst_SOP2__S_ADD_I32(InFmt_SOP2 *)
Inst_SOPP__S_SLEEP(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LG_F32()
Inst_VOP3__V_FREXP_EXP_I32_F32(InFmt_VOP3A *)
Inst_VOP3__V_CMP_F_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_STORE_DWORDX2()
~Inst_VOP3__V_MAD_I32_I24()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ADD_U32(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_NLE_F32()
Inst_VOPC__V_CMP_NLE_F64(InFmt_VOPC *)
Inst_VOP2__V_ASHRREV_I16(InFmt_VOP2 *)
Inst_VOPC__V_CMPX_GT_I16(InFmt_VOPC *)
~Inst_VOP2__V_SUBREV_U16()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FLOOR_F32(InFmt_VOP1 *)
Inst_VOP3__V_BFREV_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_CLASS_F32()
~Inst_VOP1__V_RCP_IFLAG_F32()
Inst_VOP3__V_MSAD_U8(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_T_I32(InFmt_VOP3A *)
Inst_VOP3__V_CMPX_NEQ_F64(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_O_F16()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CVT_U16_F16(InFmt_VOP1 *)
~Inst_VOP3__V_CMP_NEQ_F16()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_TRU_F64()
Inst_VOP3__V_CMP_CLASS_F32(InFmt_VOP3A *)
Inst_SOPC__S_CMP_GT_I32(InFmt_SOPC *)
~Inst_VOPC__V_CMP_T_I32()
~Inst_VOPC__V_CMP_NE_I64()
Inst_VOP3__V_CVT_U16_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_CL()
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MUL_LEGACY_F32()
Inst_MIMG__IMAGE_SAMPLE_C_O(InFmt_MIMG *)
Inst_DS__DS_MSKOR_RTN_B32(InFmt_DS *)
~Inst_SOP1__S_NOR_SAVEEXEC_B64()
~Inst_SMEM__S_ATC_PROBE_BUFFER()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NE_I16()
Inst_VOP3__V_CMPX_LE_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE2_B32()
~Inst_DS__DS_BPERMUTE_B32()
Inst_VOPC__V_CMP_LG_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NLG_F16()
~Inst_MUBUF__BUFFER_WBINVL1()
~Inst_VOP3__V_CMPX_GT_U64()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_T_U64(InFmt_VOP3A *)
Inst_VOP3__V_CMP_NLG_F32(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_NLT_F64()
~Inst_DS__DS_SUB_RTN_U32()
~Inst_VOP3__V_CMPX_TRU_F32()
Inst_VOP3__V_CMPX_NLG_F16(InFmt_VOP3A *)
Inst_DS__DS_MIN_RTN_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LG_F64()
~Inst_VOP3__V_CMPX_LT_I64()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F16_I16()
Inst_FLAT__FLAT_ATOMIC_SMAX(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_SET_GPR_IDX_MODE()
Inst_VOP3__V_MAX3_U32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GE_I32()
~Inst_SOPP__S_CBRANCH_CDBGSYS_AND_USER()
~Inst_MIMG__IMAGE_SAMPLE_C_CL()
Inst_SOPK__S_CMPK_EQ_U32(InFmt_SOPK *)
Inst_SMEM__S_LOAD_DWORDX2(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_CMOV_B64(InFmt_SOP1 *)
~Inst_MUBUF__BUFFER_LOAD_DWORDX4()
Inst_VOP3__V_CVT_F32_U32(InFmt_VOP3A *)
Inst_VOP3__V_ALIGNBYTE_B32(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_U_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_STORE_DWORDX4()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_CMPST_RTN_F64()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LE_U16(InFmt_VOP3A *)
Inst_VOP3__V_CMPX_LE_I32(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_F_I16(InFmt_VOPC *)
RegisterManager * registerManager
~Inst_FLAT__FLAT_ATOMIC_CMPSWAP()
Inst_VOP3__V_CVT_F16_I16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_AND()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_EQ_I32(InFmt_SOPK *)
~Inst_VOP1__V_CVT_F32_F64()
~Inst_VOP3__V_FLOOR_F32()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LT_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAD_F32(InFmt_VOP3A *)
Inst_VOP3__V_BFI_B32(InFmt_VOP3A *)
Inst_FLAT__FLAT_ATOMIC_ADD_X2(InFmt_FLAT *)
~Inst_VOPC__V_CMP_EQ_U32()
void initiateAcc(GPUDynInstPtr) override
~Inst_SOP2__S_MUL_HI_U32()
~Inst_DS__DS_MAX_RTN_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
@ S_BARRIER
WF is stalled at a barrier.
Inst_VOPC__V_CMP_EQ_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_SUB_U32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LT_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_LOAD_DWORD(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_U64(InFmt_DS *)
Inst_VOPC__V_CMP_NLT_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_TRU_F16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_EQ_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBB_CO_U32(InFmt_VOP2 *)
Inst_SOP2__S_AND_B64(InFmt_SOP2 *)
Inst_SOPP__S_SET_GPR_IDX_OFF(InFmt_SOPP *)
~Inst_VOP3__V_CMPX_GT_F32()
~Inst_VOP3__V_CVT_U16_F16()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_F_U64()
Inst_VOPC__V_CMPX_GE_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_CL()
~Inst_VOP3__V_CVT_F32_F64()
Inst_VOPC__V_CMPX_F_U64(InFmt_VOPC *)
Inst_VOPC__V_CMPX_LT_U32(InFmt_VOPC *)
Inst_VOP3__V_CMPX_CLASS_F16(InFmt_VOP3A *)
Inst_VOP3__V_FLOOR_F16(InFmt_VOP3A *)
ScalarRegI32 findFirstZero(T val)
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_LE_I32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_EQ_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_LZ_O()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_F_I64()
~Inst_DS__DS_AND_SRC2_B64()
Inst_VOP1__V_SQRT_F32(InFmt_VOP1 *)
~Inst_VOPC__V_CMPX_LT_U64()
Inst_VOP1__V_TRUNC_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG2ST64_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MBCNT_HI_U32_B32(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_SAMPLE_C_L()
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_EQ_I32()
~Inst_VOP3__V_CMP_LT_F64()
Inst_VOP3__V_COS_F32(InFmt_VOP3A *)
Inst_VOP2__V_SUBREV_U32(InFmt_VOP2 *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LE_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_TRUNC_F16(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLT_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NE_I16(InFmt_VOPC *)
Inst_VOPC__V_CMPX_F_F64(InFmt_VOPC *)
~Inst_VOP3__V_CMP_GE_U16()
Inst_VOP3__V_LSHLREV_B64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_CDBGUSER(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_LOAD_MIP()
~Inst_MIMG__IMAGE_ATOMIC_SMIN()
void issueRequestHelper(GPUDynInstPtr gpuDynInst)
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_STORE_DWORDX3()
~Inst_DS__DS_CMPST_RTN_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_UMAX_X2(InFmt_FLAT *)
Inst_VOP3__V_MAD_I64_I32(InFmt_VOP3B *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_CMOV_B32(InFmt_SOP1 *)
Inst_SOP2__S_SUB_I32(InFmt_SOP2 *)
Inst_VOP3__V_CMPX_NE_I16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_GWS_SEMA_V(InFmt_DS *)
Inst_VOPC__V_CMP_T_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_T_U32(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_NEQ_F32(InFmt_VOPC *)
Inst_VOP3__V_CMP_NLG_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_DCACHE_WB()
Inst_SOP1__S_OR_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_SOPC__S_BITCMP1_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_F_F32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MUL_F64(InFmt_VOP3A *)
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.
Inst_VOP3__V_LDEXP_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_SWAP(InFmt_MIMG *)
Inst_MIMG__IMAGE_SAMPLE_C_D_CL(InFmt_MIMG *)
Inst_VOP3__V_CMP_TRU_F64(InFmt_VOP3A *)
Inst_VOP1__V_FREXP_MANT_F64(InFmt_VOP1 *)
Inst_VOPC__V_CMP_U_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_UMAX_X2()
void initiateAcc(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_UMIN(InFmt_MIMG *)
Inst_DS__DS_DEC_SRC2_U32(InFmt_DS *)
Inst_VOPC__V_CMPX_F_I64(InFmt_VOPC *)
Inst_MIMG__IMAGE_STORE_PCK(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CVT_F32_UBYTE0(InFmt_VOP1 *)
Inst_MIMG__IMAGE_SAMPLE_CD(InFmt_MIMG *)
~Inst_MUBUF__BUFFER_ATOMIC_SMIN_X2()
Inst_VOPC__V_CMPX_LE_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_WBINVL1(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_CL()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LSHRREV_B16(InFmt_VOP3A *)
Inst_MIMG__IMAGE_GATHER4_C_B_CL_O(InFmt_MIMG *)
Inst_MUBUF__BUFFER_ATOMIC_SMAX_X2(InFmt_MUBUF *)
~Inst_VOP3__V_CMP_NGT_F32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MUL_F16(InFmt_VOP3A *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_SUB(InFmt_MUBUF *)
~Inst_DS__DS_SUB_SRC2_U32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_RTN_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_I64()
Inst_FLAT__FLAT_STORE_SHORT(InFmt_FLAT *)
~Inst_MIMG__IMAGE_SAMPLE_C_B_O()
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_QUADMASK_B64()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_O_F64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_EQ_U32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_T_I32()
~Inst_SOPP__S_SENDMSGHALT()
~Inst_MIMG__IMAGE_GATHER4_C_L()
Inst_VOPC__V_CMP_F_U32(InFmt_VOPC *)
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
~Inst_DS__DS_WRITE2ST64_B64()
Inst_VOP3__V_BFE_I32(InFmt_VOP3A *)
~Inst_VOP3__V_CMPX_LE_U64()
~Inst_VOPC__V_CMP_LT_F64()
~Inst_SMEM__S_BUFFER_LOAD_DWORDX8()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_F_I64()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_TRUNC_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NGE_F16()
Inst_SOPP__S_ENDPGM(InFmt_SOPP *)
~Inst_VOPC__V_CMPX_LT_U32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CLREXCP(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_O_F32(InFmt_VOPC *)
Inst_MUBUF__BUFFER_ATOMIC_ADD_X2(InFmt_MUBUF *)
~Inst_VOP2__V_MUL_LO_U16()
Inst_FLAT__FLAT_ATOMIC_AND(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LG_F64()
~Inst_VOP1__V_FRACT_F16()
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MUL_I32_I24(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_WQM_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_AND(InFmt_MUBUF *)
~Inst_VOP3__V_MOV_FED_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CVT_F64_I32(InFmt_VOP1 *)
~Inst_VOP2__V_MADAK_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LG_F32()
~Inst_VOP3__V_TRUNC_F32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LT_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_FF1_I32_B32()
Inst_VOP3__V_CMPX_F_F16(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_NLG_F64()
Inst_MIMG__IMAGE_SAMPLE_C_L_O(InFmt_MIMG *)
void initiateAcc(GPUDynInstPtr gpuDynInst) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_LOAD_DWORDX2()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_LT_U32(InFmt_SOPK *)
Inst_VOP3__V_MED3_F32(InFmt_VOP3A *)
Inst_VOP1__V_CVT_F32_UBYTE2(InFmt_VOP1 *)
~Inst_FLAT__FLAT_ATOMIC_SMIN()
~Inst_VOP3__V_CMPX_LE_I32()
Inst_VOP3__V_CMP_NGT_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_SOPK__S_SETREG_IMM32_B32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_U32_F32(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_ATOMIC_OR()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NE_I64(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LT_U16()
~Inst_SOP1__S_ORN2_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NLT_F16()
~Inst_VOPC__V_CMPX_O_F32()
void completeAcc(GPUDynInstPtr gpuDynInst)
Inst_VOP2__V_MIN_F16(InFmt_VOP2 *)
Inst_MIMG__IMAGE_LOAD_PCK_SGN(InFmt_MIMG *)
Inst_MIMG__IMAGE_GATHER4_C_B(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_INC(InFmt_FLAT *)
Inst_SMEM__S_MEMREALTIME(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
Inst_SOPP__S_DECPERFLEVEL(InFmt_SOPP *)
Inst_VOPC__V_CMPX_LE_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void readSrc()
certain vector operands can read from the vrf/srf or constants.
Inst_VOP3__V_OR3_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_F32()
~Inst_VOP3__V_CMP_EQ_F32()
~Inst_VOP2__V_SUBBREV_CO_U32()
~Inst_VOP3__V_CMP_NLE_F16()
~Inst_MIMG__IMAGE_GET_LOD()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_F64()
Inst_VOPC__V_CMPX_T_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NE_U64()
Inst_VOP3__V_MOV_FED_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_BFREV_B32()
Inst_VOP3__V_MAX_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_SIN_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F64_U32(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_NGT_F64()
Inst_SOP1__S_FF0_I32_B32(InFmt_SOP1 *)
Inst_SOP2__S_LSHR_B32(InFmt_SOP2 *)
~Inst_SOP2__S_CBRANCH_G_FORK()
~Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP_X2()
Inst_VOPC__V_CMP_NE_I16(InFmt_VOPC *)
~Inst_VOP3__V_CVT_F16_U16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LE_F64()
~Inst_VOP3__V_CVT_F64_F32()
~Inst_VOP3__V_CMP_GT_U64()
~Inst_SOPP__S_DECPERFLEVEL()
~Inst_MIMG__IMAGE_GATHER4_C_LZ_O()
void execute(GPUDynInstPtr) override
Inst_SOP2__S_NAND_B64(InFmt_SOP2 *)
~Inst_VOPC__V_CMP_EQ_U16()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
ComputeUnit * computeUnit
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GT_I32(InFmt_VOP3A *)
~Inst_SOPK__S_CMPK_LE_U32()
Inst_SOPP__S_SETKILL(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NGE_F16(InFmt_VOPC *)
Inst_DS__DS_READ_U8(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_F_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_SMAX()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_O_F16(InFmt_VOPC *)
Inst_VOP3__V_CMP_LT_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_CD_O()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BITSET1_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MUL_HI_U32_U24(InFmt_VOP2 *)
~Inst_VOP3__V_CMP_F_U16()
~Inst_VOPC__V_CMPX_U_F32()
Inst_VOP3__V_CMP_EQ_F32(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_LE_F16()
Inst_VOP1__V_RCP_F64(InFmt_VOP1 *)
Inst_MIMG__IMAGE_SAMPLE_B_O(InFmt_MIMG *)
Inst_DS__DS_OR_B64(InFmt_DS *)
Inst_SOP1__S_BCNT1_I32_B32(InFmt_SOP1 *)
~Inst_VOP3__V_FLOOR_F16()
~Inst_SOPK__S_SETREG_IMM32_B32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_ALIGNBIT_B32()
Inst_VOPC__V_CMPX_TRU_F64(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_MSKOR_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_D_CL_O()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_F_F64()
~Inst_MIMG__IMAGE_SAMPLE_C_D()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_FREXP_EXP_I32_F32()
Inst_VOP3__V_CMP_CLASS_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLT_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Inst_DS__DS_WRITE_B128(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_ADD_CO_U32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_TRU_F16()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LE_F32()
~Inst_VOP3__V_SUBB_CO_U32()
Inst_VOP2__V_MIN_U32(InFmt_VOP2 *)
Inst_VOP3__V_CMP_T_I32(InFmt_VOP3A *)
~Inst_VOP1__V_FRACT_F64()
Inst_VOPC__V_CMP_LT_U16(InFmt_VOPC *)
~Inst_MUBUF__BUFFER_ATOMIC_UMIN()
Inst_DS__DS_SUB_U64(InFmt_DS *)
~Inst_VOP3__V_SUBREV_F32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_RTN_I32()
Inst_VOP1__V_RCP_F16(InFmt_VOP1 *)
~Inst_VOPC__V_CMPX_NGE_F16()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BREV_B32(InFmt_SOP1 *)
Inst_SOP2__S_CSELECT_B32(InFmt_SOP2 *)
Inst_VOP3__V_CMPX_O_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_GWS_SEMA_RELEASE_ALL()
Inst_VOP3__V_ASHRREV_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_F_U64()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NLG_F32()
Inst_MIMG__IMAGE_SAMPLE_C_B(InFmt_MIMG *)
~Inst_DS__DS_SWIZZLE_B32()
Inst_VOP1__V_TRUNC_F64(InFmt_VOP1 *)
Inst_VOPC__V_CMP_LE_F32(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_U_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_SWIZZLE_B32(InFmt_DS *)
~Inst_VOP3__V_CMPX_T_U32()
Inst_VOP2__V_CNDMASK_B32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr gpuDynInst) override
~Inst_VOP2__V_CNDMASK_B32()
Inst_VOPC__V_CMP_NE_U64(InFmt_VOPC *)
Inst_DS__DS_CMPST_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBBREV_CO_U32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LSHRREV_B16()
Inst_DS__DS_MIN_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_BFE_U32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_F_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_TRU_F64(InFmt_VOP3A *)
~Inst_VOP2__V_MADMK_F32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_PKNORM_U16_F32(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_F_I32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GE_F32(InFmt_VOPC *)
Inst_FLAT__FLAT_ATOMIC_DEC_X2(InFmt_FLAT *)
Inst_DS__DS_WRITE_B96(InFmt_DS *)
Inst_VOPC__V_CMP_LE_U64(InFmt_VOPC *)
Inst_VOP3__V_CMPX_LE_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NLG_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_DWORDX3(InFmt_MUBUF *)
Inst_DS__DS_READ_B128(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NGE_F16(InFmt_VOPC *)
FetchUnit & fetchUnit(int simdId)
~Inst_SOP2__S_CSELECT_B64()
~Inst_FLAT__FLAT_LOAD_SSHORT()
~Inst_SOP1__S_ANDN2_SAVEEXEC_B64()
Inst_VOP3__V_CMPX_F_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_FLR_I32_F32()
~Inst_DS__DS_MAX_RTN_U64()
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MUL_F16(InFmt_VOP2 *)
Inst_VOP2__V_ADD_F32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_OFF_F32_I4()
~Inst_VOP3__V_CMP_NGE_F16()
Inst_VOP3__V_CMPX_LG_F32(InFmt_VOP3A *)
std::shared_ptr< GPUDynInst > GPUDynInstPtr
Inst_FLAT__FLAT_ATOMIC_OR(InFmt_FLAT *)
Inst_MIMG__IMAGE_GATHER4_B_O(InFmt_MIMG *)
Inst_SOPC__S_CMP_GT_U32(InFmt_SOPC *)
~Inst_VOP2__V_ASHRREV_I32()
Inst_VOP1__V_FLOOR_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPP__S_ICACHE_INV(InFmt_SOPP *)
Inst_VOP1__V_RSQ_F64(InFmt_VOP1 *)
Inst_VOP3__V_FRACT_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_U16(InFmt_VOPC *)
~Inst_MIMG__IMAGE_LOAD_MIP_PCK_SGN()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NE_I32()
void decVMemInstsIssued()
Inst_VOP3__V_CMPX_NEQ_F32(InFmt_VOP3A *)
~Inst_DS__DS_ADD_RTN_U64()
~Inst_VOP3__V_CMPX_NGT_F16()
~Inst_DS__DS_WRXCHG2_RTN_B32()
Inst_SOP1__S_SETPC_B64(InFmt_SOP1 *)
Inst_SOPC__S_CMP_LT_I32(InFmt_SOPC *)
Inst_VOP1__V_READFIRSTLANE_B32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VINTRP__V_INTERP_P2_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_F_F64()
~Inst_MUBUF__BUFFER_WBINVL1_VOL()
void completeAcc(GPUDynInstPtr) override
~Inst_DS__DS_XOR_RTN_B64()
Inst_FLAT__FLAT_ATOMIC_UMIN(InFmt_FLAT *)
~Inst_DS__DS_MAX_SRC2_I64()
~Inst_VOP3__V_FREXP_MANT_F16()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_F32_U32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LE_F64(InFmt_VOPC *)
~Inst_SOPC__S_CMP_LG_U32()
Inst_DS__DS_PERMUTE_B32(InFmt_DS *)
Inst_DS__DS_WRAP_RTN_B32(InFmt_DS *)
Inst_SOP1__S_ABS_I32(InFmt_SOP1 *)
~Inst_SOPP__S_SET_GPR_IDX_OFF()
void calcAddr(GPUDynInstPtr gpuDynInst, ScalarRegU32 vaddr, ScalarRegU32 saddr, ScalarRegI32 offset)
Inst_VOPC__V_CMPX_CLASS_F64(InFmt_VOPC *)
Inst_VOP3__V_SAD_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_EQ_U16()
Inst_VOPC__V_CMPX_LE_I64(InFmt_VOPC *)
~Inst_MIMG__IMAGE_SAMPLE_C_B_CL()
~Inst_VOP3__V_DIV_FMAS_F32()
Inst_VOP3__V_CMPX_LT_F32(InFmt_VOP3A *)
~Inst_SOPP__S_CBRANCH_SCC0()
~Inst_VOP3__V_CVT_PK_U8_F32()
Inst_VOPC__V_CMP_NE_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ORN2_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_SUB_SRC2_U64(InFmt_DS *)
~Inst_VOP3__V_LSHRREV_B32()
Inst_VOP3__V_CMPX_T_I16(InFmt_VOP3A *)
Inst_SOP1__S_ORN2_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_VOP3__V_CUBEID_F32()
~Inst_VOP3__V_CMPX_LT_F32()
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LG_F64(InFmt_VOPC *)
~Inst_DS__DS_MIN_RTN_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_GT_I32()
Inst_VOP3__V_MAD_I32_I24(InFmt_VOP3A *)
Inst_VOP3__V_CMPX_EQ_F32(InFmt_VOP3A *)
Inst_VOP3__V_SAD_HI_U8(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_TRU_F64()
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MUL_U32_U24()
~Inst_VOP3__V_CMP_GE_I64()
~Inst_VOP3__V_CMPX_CLASS_F64()
~Inst_SOPC__S_CMP_EQ_U64()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NGT_F16(InFmt_VOP3A *)
Inst_SMEM__S_ATC_PROBE_BUFFER(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_ADD_CO_U32(InFmt_VOP2 *)
Inst_SMEM__S_LOAD_DWORDX4(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_AND_OR_B32(InFmt_VOP3A *)
Inst_VOP3__V_LSHLREV_B32(InFmt_VOP3A *)
~Inst_VOP3__V_CMPX_GE_F16()
~Inst_VOP3__V_CMPX_CLASS_F32()
Inst_VOP3__V_CMPX_NLT_F32(InFmt_VOP3A *)
Inst_MUBUF__BUFFER_ATOMIC_XOR(InFmt_MUBUF *)
Inst_VOP3__V_WRITELANE_B32(InFmt_VOP3A *)
Inst_DS__DS_WRITE_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NEQ_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_T_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GT_U16()
Inst_SOP2__S_BFE_I64(InFmt_SOP2 *)
~Inst_VOP1__V_FREXP_EXP_I16_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MUL_LO_U16(InFmt_VOP3A *)
Inst_VOP3__V_SUBREV_CO_U32(InFmt_VOP3B *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GT_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void notifyWgCompl(Wavefront *wf)
When an end program instruction detects that the last WF in a WG has completed it will call this meth...
Inst_VOP3__V_MAX_U32(InFmt_VOP3A *)
~Inst_VOP1__V_FLOOR_F16()
~Inst_VOPC__V_CMP_LT_U64()
Inst_VOP3__V_SAD_U8(InFmt_VOP3A *)
Inst_VOP3__V_SUB_U32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_RTN_F64()
Inst_VOP1__V_CVT_F16_U16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_SWAP()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GT_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_INTERP_P1LV_F16(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_ASHRREV_I16(InFmt_VOP3A *)
~Inst_VOP3__V_CVT_PK_U16_U32()
~Inst_VOPC__V_CMPX_NGT_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_U64()
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_SUB_X2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LE_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SUBBREV_CO_U32(InFmt_VOP3B *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP2__S_MUL_I32(InFmt_SOP2 *)
Inst_VOP3__V_FMA_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_B()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FFBL_B32(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_LE_I32(InFmt_SOPK *)
~Inst_DS__DS_ADD_RTN_F32()
Inst_SOP2__S_LSHR_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_UMIN_X2(InFmt_FLAT *)
Inst_VOP3__V_CMP_NLE_F64(InFmt_VOP3A *)
void calcAddr(GPUDynInstPtr gpu_dyn_inst, ConstScalarOperandU64 &addr, ScalarRegU32 offset)
For normal s_load_dword/s_store_dword instruction addresses.
~Inst_SOP1__S_QUADMASK_B32()
~Inst_MIMG__IMAGE_SAMPLE_CD()
Inst_DS__DS_MAX_SRC2_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMOVK_I32(InFmt_SOPK *)
~Inst_VOPC__V_CMP_LT_I32()
~Inst_VOP3__V_CMPX_NGT_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_RNDNE_F32()
~Inst_MUBUF__BUFFER_ATOMIC_INC_X2()
Inst_VINTRP__V_INTERP_P2_F32(InFmt_VINTRP *)
~Inst_VOP3__V_SAD_HI_U8()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LT_I32(InFmt_VOP3A *)
Inst_VOP1__V_CVT_F16_I16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NE_I16()
Inst_VOP1__V_CVT_F64_U32(InFmt_VOP1 *)
~Inst_VOP1__V_CVT_F32_I32()
~Inst_VOP3__V_CMP_LT_U64()
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_LOAD_DWORDX8()
~Inst_VOPC__V_CMP_LE_U64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_I32()
Inst_DS__DS_CMPST_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE2_B32(InFmt_DS *)
Inst_SOPC__S_CMP_EQ_U32(InFmt_SOPC *)
void completeAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GE_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_SMEM__S_STORE_DWORDX2(InFmt_SMEM *)
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
~Inst_VOP3__V_FREXP_EXP_I32_F32()
~Inst_VOP3__V_CMP_NE_U64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NGT_F64()
void decLGKMInstsIssued()
Inst_VOP3__V_CMPX_NGE_F64(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_O_F16()
~Inst_MIMG__IMAGE_SAMPLE_C_B()
~Inst_MIMG__IMAGE_GATHER4_C()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_F_I32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LG_F64()
Inst_MIMG__IMAGE_STORE_MIP_PCK(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MADAK_F32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_ADDC_CO_U32()
void initiateAcc(GPUDynInstPtr) override
void barrierId(int bar_id)
~Inst_SOPK__S_CBRANCH_I_FORK()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_INCPERFLEVEL(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_DIV_FIXUP_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GT_I16(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_SOP2__S_MIN_U32(InFmt_SOP2 *)
Inst_MUBUF__BUFFER_ATOMIC_XOR_X2(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_U64(InFmt_DS *)
~Inst_VOPC__V_CMPX_GT_U64()
~Inst_DS__DS_MAX_SRC2_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NE_U32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_SOP1__S_SEXT_I32_I8(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LE_F32()
void execute(GPUDynInstPtr) override
Inst_SOP2__S_CBRANCH_G_FORK(InFmt_SOP2 *)
Inst_VOPC__V_CMP_NLG_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_F_I16()
~Inst_FLAT__FLAT_ATOMIC_SUB_X2()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GE_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_TRU_F32()
~Inst_MIMG__IMAGE_SAMPLE_CD_CL()
Inst_VOPC__V_CMP_LT_I64(InFmt_VOPC *)
Inst_SOPP__S_SENDMSG(InFmt_SOPP *)
Inst_VOPC__V_CMP_GT_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LT_U16()
Inst_SOP1__S_BCNT0_I32_B64(InFmt_SOP1 *)
~Inst_FLAT__FLAT_ATOMIC_XOR()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_PKRTZ_F16_F32(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_NEQ_F64()
~Inst_SOP1__S_SET_GPR_IDX_IDX()
void read() override
read from the vrf.
~Inst_VOP3__V_CMP_EQ_F16()
~Inst_SOPK__S_CMPK_GE_I32()
Inst_MIMG__IMAGE_LOAD_PCK(InFmt_MIMG *)
Inst_DS__DS_ADD_SRC2_U64(InFmt_DS *)
~Inst_VOP3__V_CMPX_GT_F64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MSKOR_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE_SRC2_B32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FLOOR_F64(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_U_F32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LG_F64(InFmt_VOP3A *)
Inst_VOP2__V_MUL_LEGACY_F32(InFmt_VOP2 *)
Inst_VOP3__V_CMPX_LT_U16(InFmt_VOP3A *)
Inst_MIMG__IMAGE_SAMPLE_L_O(InFmt_MIMG *)
~Inst_VOP3__V_LSHL_OR_B32()
Inst_VOP3__V_SIN_F16(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_O_F16(InFmt_VOP3A *)
Inst_FLAT__FLAT_ATOMIC_CMPSWAP(InFmt_FLAT *)
Inst_VOPC__V_CMP_EQ_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_CLASS_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
ScalarRegI32 countZeroBits(T val)
Inst_SMEM__S_BUFFER_STORE_DWORDX4(InFmt_SMEM *)
void processDPP(GPUDynInstPtr gpuDynInst, InFmt_VOP_DPP dppInst, T &src0)
processDPP is a helper function for implementing Data Parallel Primitive instructions.
~Inst_VOPC__V_CMP_NGE_F64()
void execute(GPUDynInstPtr) override
Inst_VOP2__V_ADDC_CO_U32(InFmt_VOP2 *)
~Inst_VOPC__V_CMPX_LE_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MUL_HI_I32_I24(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_STORE_DWORDX3(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_U_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LE_I16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MUL_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_GE_I32()
Inst_VOP3__V_CUBEMA_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
GPUDispatcher & dispatcher()
Inst_SOP2__S_MAX_I32(InFmt_SOP2 *)
Inst_MIMG__IMAGE_SAMPLE_C_CD_CL_O(InFmt_MIMG *)
Inst_VOP3__V_FRACT_F16(InFmt_VOP3A *)
Inst_VOP3__V_CVT_F32_UBYTE3(InFmt_VOP3A *)
~Inst_SOPP__S_TTRACEDATA()
~Inst_VOP3__V_FREXP_EXP_I32_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LT_F16(InFmt_VOPC *)
Inst_VOP1__V_FRACT_F64(InFmt_VOP1 *)
~Inst_SOPC__S_CMP_EQ_U32()
Inst_MUBUF__BUFFER_LOAD_DWORDX2(InFmt_MUBUF *)
~Inst_VOP3__V_MBCNT_HI_U32_B32()
Inst_VOP3__V_MUL_HI_I32_I24(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_SUBB_CO_U32(InFmt_VOP3B *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LG_F32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_I32()
Inst_DS__DS_XOR_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_ADD_U32(InFmt_VOP2 *)
~Inst_DS__DS_PERMUTE_B32()
~Inst_VOP3__V_CMP_LE_I16()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_DEC_RTN_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE_B16(InFmt_DS *)
Inst_SOP1__S_SET_GPR_IDX_IDX(InFmt_SOP1 *)
~Inst_SOP1__S_SWAPPC_B64()
Inst_MIMG__IMAGE_GET_LOD(InFmt_MIMG *)
Inst_VOP1__V_CVT_RPI_I32_F32(InFmt_VOP1 *)
~Inst_MIMG__IMAGE_GATHER4()
Inst_SOP2__S_OR_B64(InFmt_SOP2 *)
Inst_VOP3__V_CMPX_NGE_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GT_F16()
Inst_DS__DS_XOR_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_EQ_I32(InFmt_VOP3A *)
~Inst_SMEM__S_LOAD_DWORDX4()
~Inst_VOP3__V_CMPX_EQ_F64()
Inst_DS__DS_WRXCHG2ST64_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_RSQ_F32(InFmt_VOP1 *)
~Inst_MIMG__IMAGE_STORE_MIP_PCK()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CEIL_F16(InFmt_VOP3A *)
Inst_SOP1__S_MOV_FED_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_LOAD_DWORDX2()
Inst_VOP3__V_CMP_NGE_F32(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_F_U32()
Inst_VOP3__V_CMPX_T_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MIN_U32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Base class for branch operations.
Inst_VOPC__V_CMPX_NLG_F64(InFmt_VOPC *)
~Inst_MIMG__IMAGE_GATHER4_L()
~Inst_VOPC__V_CMPX_T_I64()
Inst_VOP3__V_RCP_F16(InFmt_VOP3A *)
Inst_VINTRP__V_INTERP_MOV_F32(InFmt_VINTRP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_LOAD_MIP(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP(InFmt_MUBUF *)
Inst_VOP3__V_CMP_NE_I64(InFmt_VOP3A *)
Inst_SMEM__S_LOAD_DWORDX8(InFmt_SMEM *)
~Inst_VOP3__V_MUL_HI_U32()
Inst_VOP3__V_CMPX_GT_U64(InFmt_VOP3A *)
~Inst_MUBUF__BUFFER_ATOMIC_ADD()
Inst_SOPK__S_MULK_I32(InFmt_SOPK *)
~Inst_SOP2__S_MUL_HI_I32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_OR_SRC2_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_LOAD(InFmt_MIMG *)
~Inst_MUBUF__BUFFER_ATOMIC_INC()
Inst_VOP3__V_DIV_SCALE_F32(InFmt_VOP3B *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_SRC2_F64()
Inst_VOP1__V_CLREXCP(InFmt_VOP1 *)
Inst_VOP3__V_CMP_F_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FLBIT_I32_B32(InFmt_SOP1 *)
Inst_VOP3__V_MAC_F16(InFmt_VOP3A *)
~Inst_VOP1__V_EXP_LEGACY_F32()
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_I32_F32()
Inst_VOP3__V_CMPX_TRU_F32(InFmt_VOP3A *)
Inst_DS__DS_DEC_U64(InFmt_DS *)
~Inst_SOP2__S_ABSDIFF_I32()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_MUL_LO_U16()
void initiateAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NLE_F32()
Inst_FLAT__FLAT_ATOMIC_ADD(InFmt_FLAT *)
Inst_DS__DS_WRITE_B8(InFmt_DS *)
Inst_VOP3__V_INTERP_P1LL_F16(InFmt_VOP3A *)
Inst_MIMG__IMAGE_SAMPLE_D_CL(InFmt_MIMG *)
Bitfield< 31, 16 > selector
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_LZ_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
@ S_WAITCNT
wavefront has unsatisfied wait counts
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LT_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_I32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NGT_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_READLANE_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_EXECZ()
Inst_VOP3__V_LSHRREV_B64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_RTN_I64()
~Inst_VOP3__V_CVT_I32_F32()
~Inst_VOPC__V_CMPX_NLE_F32()
~Inst_SOP1__S_MOVRELS_B32()
Inst_SOP1__S_AND_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_VOPC__V_CMPX_LE_U16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_EQ_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FREXP_EXP_I16_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_F_I32()
~Inst_VOPC__V_CMP_GE_F64()
Inst_MIMG__IMAGE_ATOMIC_AND(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_U16(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
~Inst_DS__DS_WRXCHG2ST64_RTN_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C(InFmt_MIMG *)
~Inst_VOP3__V_CVT_F32_UBYTE1()
Inst_SOPK__S_GETREG_B32(InFmt_SOPK *)
Inst_VOP3__V_CMP_LE_U64(InFmt_VOP3A *)
Inst_VOP3__V_MIN3_U32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_B_CL(InFmt_MIMG *)
Inst_VOP3__V_CMP_LT_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_FF0_I32_B32()
Inst_MIMG__IMAGE_GATHER4_B_CL(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_LZ_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_SRC2_U64(InFmt_DS *)
void completeAcc(GPUDynInstPtr gpuDynInst) override
Inst_VOPC__V_CMP_F_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_UBYTE(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_DEC(InFmt_MUBUF *)
~Inst_SOPP__S_CBRANCH_CDBGSYS()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLG_F16(InFmt_VOPC *)
~Inst_MIMG__IMAGE_SAMPLE_C_CD_O()
Inst_VOP3__V_CMP_EQ_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_F_U16(InFmt_VOPC *)
~Inst_FLAT__FLAT_STORE_SHORT()
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_STORE_BYTE(InFmt_FLAT *)
~Inst_VOPC__V_CMP_LT_F16()
~Inst_DS__DS_MIN_SRC2_F64()
Inst_VOP1__V_TRUNC_F16(InFmt_VOP1 *)
Inst_VOP3__V_FFBH_I32(InFmt_VOP3A *)
Inst_DS__DS_READ2ST64_B32(InFmt_DS *)
int maxBarrierCnt(int bar_id)
~Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2()
~Inst_MUBUF__BUFFER_STORE_DWORD()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LT_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_SRC2_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
VecElemU32 muladd(VecElemU64 &dst, VecElemU32 val_0, VecElemU32 val_1, VecElemU64 val_2)
Inst_MIMG__IMAGE_SAMPLE_D(InFmt_MIMG *)
~Inst_SOPC__S_SET_GPR_IDX_ON()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAX3_F32(InFmt_VOP3A *)
~Inst_VOP3__V_CMPX_EQ_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_DEC_X2()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_T_I64()
Inst_DS__DS_GWS_INIT(InFmt_DS *)
~Inst_VOP1__V_CVT_F32_UBYTE3()
~Inst_DS__DS_WRITE2_B64()
Inst_SOPC__S_CMP_EQ_U64(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_CL_O()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LT_F64(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP2__V_MADAK_F16()
Inst_VOP3__V_EXP_F32(InFmt_VOP3A *)
~Inst_VOP2__V_MUL_HI_I32_I24()
void execute(GPUDynInstPtr) override
void write() override
write to the vrf.
~Inst_SMEM__S_BUFFER_LOAD_DWORDX4()
Inst_VOP1__V_COS_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_EQ_U64()
Inst_VOP3__V_CMP_EQ_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_AND_OR_B32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_F16()
Inst_VOP1__V_CVT_U32_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_SMEM__S_STORE_DWORD(InFmt_SMEM *)
void completeAcc(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_CDBGSYS(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_MIN_I32(InFmt_SOP2 *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_XOR_X2()
Inst_VOP3__V_CMPX_F_I32(InFmt_VOP3A *)
~Inst_VOP2__V_LSHRREV_B32()
Inst_VOP3__V_CMP_EQ_I32(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LT_U64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LE_U16()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_SWAP(InFmt_MUBUF *)
~Inst_VOPC__V_CMP_NLT_F16()
void initiateAcc(GPUDynInstPtr) override
Inst_SOPP__S_TRAP(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_SUB_RTN_U64()
void completeAcc(GPUDynInstPtr) override
Inst_VOP2__V_LSHLREV_B16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LT_U32(InFmt_VOP3A *)
Inst_DS__DS_OR_RTN_B64(InFmt_DS *)
~Inst_VOP1__V_RNDNE_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LE_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_XOR_SRC2_B32(InFmt_DS *)
Inst_VOP3__V_CMP_U_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr gpuDynInst) override
~Inst_VOP3__V_CMP_NE_I64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NEQ_F16()
~Inst_VOPC__V_CMP_T_I64()
Inst_VOP2__V_MUL_U32_U24(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_I16()
Inst_VOP3__V_FREXP_MANT_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F16_U16(InFmt_VOP3A *)
~Inst_VOPC__V_CMP_LT_I64()
Inst_VOPC__V_CMPX_CLASS_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_EQ_I64()
Inst_VOP2__V_MAX_U32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NLT_F64()
~Inst_VOP3__V_CMPX_GE_U32()
~Inst_SOP1__S_SEXT_I32_I8()
Inst_VOP1__V_FFBH_U32(InFmt_VOP1 *)
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_ASHRREV_I16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LE_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_XOR_SRC2_B64()
statistics::Distribution readsPerWrite
Inst_DS__DS_READ_B96(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_INC_X2()
~Inst_VOPC__V_CMP_GE_F32()
Inst_VOPC__V_CMPX_NGT_F32(InFmt_VOPC *)
Inst_VOPC__V_CMP_F_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_B_CL()
~Inst_VOP3__V_CMPX_GT_I32()
~Inst_VOP3__V_CMP_LE_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
std::deque< GPUDynInstPtr > instructionBuffer
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MIN_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CUBETC_F32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_F64()
Inst_VOP3__V_CMPX_F_F32(InFmt_VOP3A *)
Inst_VOP1__V_CVT_F32_I32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_XNOR_SAVEEXEC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_OR_X2()
Inst_FLAT__FLAT_ATOMIC_SMAX_X2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LT_F16()
Inst_VOP2__V_LSHRREV_B32(InFmt_VOP2 *)
Inst_SOP1__S_MOVRELS_B32(InFmt_SOP1 *)
Inst_VOP3__V_CVT_F32_UBYTE0(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_CONDXCHG32_RTN_B64(InFmt_DS *)
Inst_VOP3__V_DIV_FMAS_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_DEC_SRC2_U64()
Inst_VOP3__V_ADD_F32(InFmt_VOP3A *)
Inst_VOP3__V_NOT_B32(InFmt_VOP3A *)
Inst_SOPC__S_BITCMP1_B64(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_PKRTZ_F16_F32()
Inst_VOPC__V_CMPX_F_I32(InFmt_VOPC *)
~Inst_SMEM__S_LOAD_DWORD()
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_L_O()
Inst_EXP__EXP(InFmt_EXP *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_AND_RTN_B32()
Inst_VOP3__V_DIV_FIXUP_F32(InFmt_VOP3A *)
Inst_DS__DS_MAX_SRC2_F32(InFmt_DS *)
~Inst_VOP3__V_CVT_F64_I32()
~Inst_VOP2__V_ASHRREV_I16()
Inst_VOP3__V_BFM_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_XOR(InFmt_MIMG *)
gem5::Wavefront::WavefrontStats stats
Inst_MUBUF__BUFFER_LOAD_DWORDX4(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_LOAD_DWORDX4(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NLE_F16()
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_GT_I32()
void completeAcc(GPUDynInstPtr) override
Inst_VOP1__V_FREXP_EXP_I32_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_ADD(InFmt_MIMG *)
~Inst_VOPC__V_CMP_NE_U16()
Inst_SOPC__S_SETVSKIP(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ADDC_CO_U32(InFmt_VOP3B *)
Inst_DS__DS_RSUB_SRC2_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_T_I32()
~Inst_VOPC__V_CMP_EQ_F16()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_T_I64(InFmt_VOPC *)
~Inst_VOP3__V_CMP_NE_I16()
~Inst_SMEM__S_STORE_DWORDX2()
~Inst_MUBUF__BUFFER_ATOMIC_ADD_X2()
Inst_FLAT__FLAT_STORE_DWORDX2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_SQRT_F16(InFmt_VOP1 *)
~Inst_VOPC__V_CMP_F_U16()
~Inst_VOP3__V_CMPX_NE_U16()
Inst_VOP3__V_CMP_GT_U64(InFmt_VOP3A *)
~Inst_DS__DS_MAX_SRC2_U32()
Inst_DS__DS_MIN_RTN_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_READLANE_B32()
Inst_VOP3__V_BFE_U32(InFmt_VOP3A *)
~Inst_VOP3__V_CMPX_GT_I64()
~Inst_VOPC__V_CMPX_EQ_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_RNDNE_F64()
Inst_VOP1__V_LOG_F32(InFmt_VOP1 *)
Inst_VOP3__V_CMP_LT_F16(InFmt_VOP3A *)
Inst_MIMG__IMAGE_SAMPLE_C_CD_CL(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_CLASS_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_D_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LOG_LEGACY_F32(InFmt_VOP3A *)
Inst_VOPC__V_CMP_F_F16(InFmt_VOPC *)
Inst_SOP1__S_MOVRELD_B32(InFmt_SOP1 *)
Inst_VOP3__V_CUBETC_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_SRC2_U64()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_I16_F16()
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_LOAD_SBYTE(InFmt_FLAT *)
~Inst_VOP3__V_MUL_I32_I24()
Inst_VOP3__V_LERP_U8(InFmt_VOP3A *)
Inst_VOP3__V_MIN_F32(InFmt_VOP3A *)
Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2(InFmt_FLAT *)
~Inst_DS__DS_XOR_RTN_B32()
Inst_VOP3__V_CMPX_GE_I16(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_GATHER4_B_CL_O()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LSHLREV_B16()
Inst_VOP1__V_LOG_LEGACY_F32(InFmt_VOP1 *)
Inst_MIMG__IMAGE_GATHER4_LZ_O(InFmt_MIMG *)
Inst_VOP3__V_CMPX_O_F64(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_T_U64(InFmt_VOPC *)
~Inst_VOPC__V_CMP_GE_I64()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_O_F16(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_NLT_F32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_I8(InFmt_DS *)
Inst_VOPC__V_CMPX_LE_F64(InFmt_VOPC *)
~Inst_VOP3__V_CMP_LE_U64()
~Inst_VOP3__V_CMP_O_F64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLG_F32(InFmt_VOPC *)
Inst_SOPC__S_BITCMP0_B64(InFmt_SOPC *)
Inst_DS__DS_ADD_SRC2_U32(InFmt_DS *)
~Inst_VOPC__V_CMPX_LE_I64()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_TRUNC_F32()
Inst_VOP3__V_CMP_NE_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_XOR(InFmt_FLAT *)
~Inst_MIMG__IMAGE_SAMPLE_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_FLOOR_F64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GT_I64(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_T_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MUL_HI_U32_U24()
Inst_VOPC__V_CMPX_GT_F32(InFmt_VOPC *)
Inst_VOP3__V_CMP_T_U64(InFmt_VOP3A *)
~Inst_SOPK__S_GETREG_B32()
~Inst_DS__DS_MIN_SRC2_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_UBYTE1()
~Inst_VOP3__V_TRUNC_F16()
Inst_SOPC__S_CMP_LG_I32(InFmt_SOPC *)
Inst_MIMG__IMAGE_SAMPLE_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_DEC_X2(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_U64()
Inst_VOPC__V_CMPX_NE_U16(InFmt_VOPC *)
int decreaseRefCounter(const uint32_t dispatchId, const uint32_t wgId)
decrease the reference count after making sure it is in the list give back this chunk if the ref coun...
Inst_FLAT__FLAT_LOAD_DWORDX3(InFmt_FLAT *)
Inst_DS__DS_DEC_RTN_U32(InFmt_DS *)
Inst_SMEM__S_DCACHE_WB(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_FLOOR_F32()
Inst_VOPC__V_CMPX_NLE_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_TRUNC_F64()
Inst_VOPC__V_CMPX_GE_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_AND_X2(InFmt_MUBUF *)
Inst_VOPC__V_CMPX_T_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_F_U32(InFmt_VOP3A *)
~Inst_VOP3__V_CMPX_GE_F64()
~Inst_MUBUF__BUFFER_ATOMIC_SMIN()
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_SRC2_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LT_U32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LDEXP_F64(InFmt_VOP3A *)
Inst_VOP3__V_TRUNC_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NEQ_F64(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BITSET0_B32()
~Inst_DS__DS_WRXCHG_RTN_B32()
~Inst_MIMG__IMAGE_STORE_PCK()
Inst_MUBUF__BUFFER_ATOMIC_ADD(InFmt_MUBUF *)
Inst_DS__DS_BPERMUTE_B32(InFmt_DS *)
Inst_VOP3__V_CMP_NGT_F32(InFmt_VOP3A *)
Inst_VOPC__V_CMP_T_I16(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LE_I16(InFmt_VOP3A *)
Inst_VOP3__V_CMPX_NE_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LT_I64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_INTERP_P1_F32(InFmt_VOP3A *)
Inst_MIMG__IMAGE_SAMPLE_C_CD_O(InFmt_MIMG *)
~Inst_DS__DS_GWS_SEMA_P()
~Inst_SMEM__S_DCACHE_WB_VOL()
~Inst_VOPC__V_CMPX_NEQ_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_U32()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_F_F32(InFmt_VOPC *)
Inst_DS__DS_INC_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LT_U32()
Inst_VOP1__V_RNDNE_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_SWAP_X2(InFmt_MUBUF *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_TRU_F16(InFmt_VOPC *)
Inst_VOP3__V_CMPX_GT_F64(InFmt_VOP3A *)
~Inst_VOP3__V_CUBEMA_F32()
~Inst_VOP1__V_FREXP_MANT_F64()
~Inst_VOP3__V_CMP_GE_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_F16()
Inst_VOPC__V_CMP_TRU_F32(InFmt_VOPC *)
Inst_VOP3__V_CMPX_NE_U64(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_SAMPLE_D_CL()
~Inst_VOPC__V_CMP_EQ_I64()
~Inst_VOPC__V_CMPX_LG_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F64_F32(InFmt_VOP3A *)
~Inst_VOP3__V_CVT_F32_UBYTE2()
~Inst_SOPC__S_CMP_LT_I32()
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_GT_U32(InFmt_SOPK *)
~Inst_VOPC__V_CMP_LE_U16()
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Inst_VOP1__V_RCP_IFLAG_F32(InFmt_VOP1 *)
Inst_MIMG__IMAGE_SAMPLE_CD_CL(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LE_U64()
~Inst_VOPC__V_CMP_LT_U16()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LT_F16(InFmt_VOPC *)
Inst_DS__DS_WRITE_SRC2_B32(InFmt_DS *)
Inst_VOP1__V_CVT_FLR_I32_F32(InFmt_VOP1 *)
Inst_VOP3__V_CVT_F32_UBYTE2(InFmt_VOP3A *)
Inst_VOPC__V_CMPX_LG_F16(InFmt_VOPC *)
~Inst_MUBUF__BUFFER_ATOMIC_AND_X2()
~Inst_DS__DS_OR_RTN_B64()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_SIN_F32(InFmt_VOP1 *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_ADD_X2()
Inst_VOP1__V_CVT_F32_UBYTE3(InFmt_VOP1 *)
~Inst_SOPC__S_BITCMP0_B32()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_NOT_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_UBYTE2()
Inst_VOP3__V_CMPX_TRU_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_DEC()
~Inst_VOP1__V_LOG_LEGACY_F32()
Inst_MIMG__IMAGE_SAMPLE_CL(InFmt_MIMG *)
~Inst_VOP3__V_CMPX_U_F32()
void completeAcc(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_XOR_X2()
~Inst_VOPC__V_CMP_NEQ_F32()
~Inst_VOP3__V_LDEXP_F64()
Inst_DS__DS_INC_U64(InFmt_DS *)
~Inst_VOPC__V_CMP_LE_F64()
Inst_SOPC__S_SET_GPR_IDX_ON(InFmt_SOPC *)
Inst_VOPC__V_CMP_EQ_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NE_U64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_EQ_I64()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_OR_X2(InFmt_MUBUF *)
~Inst_VOP3__V_CMPX_F_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_RNDNE_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GE_U16()
void initiateAcc(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_B_CL_O()
Inst_MUBUF__BUFFER_ATOMIC_SMAX(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_SOP1__S_BITSET1_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_STORE_DWORDX4(InFmt_MUBUF *)
~Inst_DS__DS_MAX_RTN_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_U_F16()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_LSHLREV_B32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_DWORD(InFmt_MUBUF *)
~Inst_VOP3__V_INTERP_P2_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_STORE_DWORDX4()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Read 1 dword from scalar data cache.
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_ALIGNBYTE_B32()
~Inst_DS__DS_WRXCHG2ST64_RTN_B32()
~Inst_SOPC__S_CMP_LG_U64()
~Inst_DS__DS_ADD_SRC2_U64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NLG_F64()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_CMPSWAP(InFmt_MIMG *)
~Inst_VOP3__V_RNDNE_F32()
~Inst_VOPC__V_CMPX_LT_F32()
Inst_MIMG__IMAGE_ATOMIC_SMIN(InFmt_MIMG *)
~Inst_VOP3__V_CMPX_F_F16()
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_EQ_U16(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_MAD_U32_U24(InFmt_VOP3A *)
Inst_VOP2__V_LSHRREV_B16(InFmt_VOP2 *)
Inst_VOP3__V_CMP_NE_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_F_U64()
Inst_VOP3__V_CMP_EQ_F64(InFmt_VOP3A *)
Inst_MIMG__IMAGE_ATOMIC_SUB(InFmt_MIMG *)
~Inst_VOP3__V_CMPX_NLT_F32()
~Inst_MUBUF__BUFFER_ATOMIC_DEC()
Inst_VOP3__V_CMP_O_F64(InFmt_VOP3A *)
Inst_MIMG__IMAGE_SAMPLE_LZ(InFmt_MIMG *)
~Inst_SOPK__S_CMPK_GE_U32()
~Inst_VOP3__V_DIV_FIXUP_F16()
~Inst_SOPK__S_CMPK_LG_I32()
Inst_VOP3__V_MAC_F32(InFmt_VOP3A *)
Inst_VOPC__V_CMP_EQ_F64(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_GT_U16()
Inst_VOP3__V_MUL_HI_U32(InFmt_VOP3A *)
Inst_DS__DS_WRITE_B32(InFmt_DS *)
~Inst_VOP3__V_CMP_T_I64()
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_AND_X2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_EXECNZ()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_U_F16(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NEQ_F16()
~Inst_MIMG__IMAGE_SAMPLE_C_CD_CL_O()
~Inst_VOP1__V_FREXP_EXP_I32_F64()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_LT_I32(InFmt_SOPK *)
Inst_VOP1__V_FREXP_EXP_I16_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_STORE(InFmt_MIMG *)
Inst_VOPC__V_CMP_LE_I64(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LG_F32()
~Inst_VOP1__V_CVT_F64_U32()
Inst_VOP3__V_LSHL_OR_B32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MUL_F32(InFmt_VOP2 *)
Inst_VOPC__V_CMP_CLASS_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LT_I64()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_RTN_U64(InFmt_DS *)
Inst_VOPC__V_CMP_NEQ_F32(InFmt_VOPC *)
Inst_MUBUF__BUFFER_STORE_DWORDX2(InFmt_MUBUF *)
~Inst_VOP3__V_CMPX_NLE_F64()
Inst_DS__DS_MIN_SRC2_U32(InFmt_DS *)
~Inst_SOP1__S_BITSET1_B32()
Inst_VOPC__V_CMP_EQ_I16(InFmt_VOPC *)
~Inst_VOP3__V_FRACT_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GE_U16()
Inst_VOP1__V_CVT_F32_UBYTE1(InFmt_VOP1 *)
Inst_SOP2__S_BFE_U64(InFmt_SOP2 *)
Inst_VOP1__V_CVT_F32_F64(InFmt_VOP1 *)
~Inst_VOP2__V_LSHRREV_B16()
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ADD_U32(InFmt_SOP2 *)
~Inst_MUBUF__BUFFER_ATOMIC_SMAX_X2()
Inst_VOPC__V_CMPX_GT_I32(InFmt_VOPC *)
Inst_VOP3__V_CMP_LE_I64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP2__S_NAND_B32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_INC_SRC2_U64()
Inst_SOP2__S_MUL_HI_U32(InFmt_SOP2 *)
~Inst_VOP3__V_CMP_LE_F16()
~Inst_MIMG__IMAGE_GATHER4_B_CL()
~Inst_VOP3__V_MAD_U32_U24()
Inst_VOPC__V_CMP_LT_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_SUBREV_F16()
~Inst_DS__DS_OR_SRC2_B32()
Inst_VOP3__V_CMPX_NE_U16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LE_I16()
Inst_DS__DS_READ_I16(InFmt_DS *)
Inst_SOPC__S_CMP_LG_U64(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_CLASS_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_EQ_I32(InFmt_SOPC *)
Inst_VOP3__V_ASHRREV_I32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_APPEND(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MQSAD_PK_U16_U8()
Inst_SOP1__S_FLBIT_I32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MBCNT_LO_U32_B32(InFmt_VOP3A *)
Inst_VOP3__V_RSQ_F32(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SQRT_F16(InFmt_VOP3A *)
Inst_VOPC__V_CMP_GE_I16(InFmt_VOPC *)
Inst_VOP3__V_CMP_TRU_F16(InFmt_VOP3A *)
~Inst_MIMG__IMAGE_SAMPLE_B_O()
~Inst_VOP3__V_TRIG_PREOP_F64()
Inst_VOPC__V_CMPX_LE_U16(InFmt_VOPC *)
Inst_SOP1__S_BCNT0_I32_B32(InFmt_SOP1 *)
Inst_MUBUF__BUFFER_ATOMIC_UMIN(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NGE_F16(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_EQ_I64()
Inst_SMEM__S_LOAD_DWORDX16(InFmt_SMEM *)
~Inst_DS__DS_INC_SRC2_U32()
~Inst_VOPC__V_CMP_NLT_F32()
Inst_SOPP__S_ENDPGM_SAVED(InFmt_SOPP *)
Inst_VOP3__V_CMP_GE_U32(InFmt_VOP3A *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP2__V_LDEXP_F16()
Inst_SOP2__S_NOR_B32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_AND_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ASHR_I32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_LE_U32(InFmt_SOPC *)
~Inst_VOP3__V_CMPX_LT_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_EXP_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ANDN2_B32(InFmt_SOP2 *)
~Inst_VOP3__V_CMP_CLASS_F16()
Inst_SOP2__S_XOR_B32(InFmt_SOP2 *)
~Inst_VOP1__V_CVT_FLR_I32_F32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NGT_F32(InFmt_VOP3A *)
Inst_VOP3__V_MAX_F32(InFmt_VOP3A *)
~Inst_VOPC__V_CMPX_NE_U32()
Inst_DS__DS_MAX_U32(InFmt_DS *)
~Inst_VOP3__V_CMP_F_F16()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_F16(InFmt_VOP3A *)
void processSDWA_dst(InFmt_VOP_SDWA sdwaInst, T &dst, T &origDst)
processSDWA_dst is a helper function for implementing sub d-word addressing instructions for the dst ...
~Inst_DS__DS_MIN_RTN_U32()
~Inst_VOP3__V_CMPX_LE_U32()
~Inst_FLAT__FLAT_ATOMIC_SWAP_X2()
Inst_VOP2__V_SUBREV_F16(InFmt_VOP2 *)
~Inst_VOP3__V_MUL_HI_I32_I24()
Inst_VOP3__V_CMP_LG_F16(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_F32_UBYTE3()
~Inst_VOP3__V_DIV_FMAS_F64()
Inst_VOPC__V_CMP_F_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_LZ()
Inst_VOP3__V_MAD_I16(InFmt_VOP3A *)
~Inst_VOP3__V_CMP_NE_U16()
Inst_DS__DS_MAX_SRC2_U32(InFmt_DS *)
~Inst_SOPP__S_CBRANCH_VCCNZ()
Inst_MIMG__IMAGE_ATOMIC_DEC(InFmt_MIMG *)
~Inst_SOP1__S_MOVRELD_B32()
Inst_VOP3__V_CMP_NLT_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NLT_F64()
Inst_VOP1__V_FFBH_I32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FREXP_EXP_I32_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_SWAP(InFmt_FLAT *)
~Inst_VOP3__V_CVT_U32_F32()
Inst_VOPC__V_CMPX_LG_F32(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_NGE_F64()
Inst_VOP3__V_FRACT_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LOG_F16(InFmt_VOP3A *)
Inst_VOP1__V_CEIL_F64(InFmt_VOP1 *)
~Inst_VOPC__V_CMP_GT_I16()
Inst_VOPC__V_CMPX_NGT_F64(InFmt_VOPC *)
Inst_MIMG__IMAGE_GATHER4_LZ(InFmt_MIMG *)
Inst_VOP3__V_CMP_EQ_U64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_D_O()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NGE_F64(InFmt_VOP3A *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_D_CL()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_SBYTE(InFmt_MUBUF *)
~Inst_VOPC__V_CMP_T_U32()
Inst_VOP3__V_CMP_LE_U16(InFmt_VOP3A *)
~Inst_VOP3__V_CMPX_O_F32()
~Inst_VOP3__V_DIV_SCALE_F64()
~Inst_VOP3__V_EXP_LEGACY_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_CMPST_RTN_F32(InFmt_DS *)
~Inst_VOPC__V_CMPX_LT_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ADD_F64(InFmt_VOP3A *)
void initiateAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NE_I32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_ADD_CO_U32()
~Inst_VOPC__V_CMP_NEQ_F64()
ScalarRegI32 findFirstOne(T val)
Inst_VOP3__V_MED3_U32(InFmt_VOP3A *)
void processSDWA_src(InFmt_VOP_SDWA sdwaInst, T &src0, T &origSrc0)
processSDWA_src is a helper function for implementing sub d-word addressing instructions for the src ...
Inst_SOP2__S_MUL_HI_I32(InFmt_SOP2 *)
Inst_VOP2__V_OR_B32(InFmt_VOP2 *)
Inst_DS__DS_MIN_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_U32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG_RTN_B64(InFmt_DS *)
~Inst_VOPC__V_CMPX_GE_U32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBREV_U16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_SRC2_U64()
Inst_VOP2__V_MAX_I16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NE_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_LOAD_DWORDX3()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_RSUB_SRC2_U32()
~Inst_DS__DS_GWS_SEMA_V()
Inst_MUBUF__BUFFER_ATOMIC_SMIN_X2(InFmt_MUBUF *)
Inst_MUBUF__BUFFER_WBINVL1_VOL(InFmt_MUBUF *)
~Inst_VOPC__V_CMP_GT_F64()
Inst_SOP1__S_SEXT_I32_I16(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_OR_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_ATC_PROBE()
Generated on Sun Jul 30 2023 01:56:38 for gem5 by doxygen 1.8.17