Go to the documentation of this file.
37 #include "debug/GCN3.hh"
38 #include "debug/GPUSync.hh"
73 >= 0x100000000ULL ? 1 : 0;
617 sdst = src0.
rawData() &~ src1.rawData();
647 sdst = src0.
rawData() &~ src1.rawData();
677 sdst = src0.
rawData() |~ src1.rawData();
707 sdst = src0.
rawData() |~ src1.rawData();
1427 scc = (src.
rawData() == simm16) ? 1 : 0;
1452 scc = (src.
rawData() != simm16) ? 1 : 0;
1477 scc = (src.
rawData() > simm16) ? 1 : 0;
1502 scc = (src.
rawData() >= simm16) ? 1 : 0;
1527 scc = (src.
rawData() < simm16) ? 1 : 0;
1552 scc = (src.
rawData() <= simm16) ? 1 : 0;
1577 scc = (src.rawData() == simm16) ? 1 : 0;
1602 scc = (src.rawData() != simm16) ? 1 : 0;
1627 scc = (src.rawData() > simm16) ? 1 : 0;
1652 scc = (src.rawData() >= simm16) ? 1 : 0;
1677 scc = (src.rawData() < simm16) ? 1 : 0;
1702 scc = (src.rawData() <= simm16) ? 1 : 0;
1834 if (hwregId==1 && size==2
1836 warn_once(
"Be cautious that s_setreg_b32 has no real effect "
1837 "on FP modes: %s\n", gpuDynInst->disassemble());
1877 if (hwregId==1 && size==2
1879 warn_once(
"Be cautious that s_setreg_imm32_b32 has no real effect "
1880 "on FP modes: %s\n", gpuDynInst->disassemble());
2498 sdst = sext<std::numeric_limits<ScalarRegI8>::digits>(
2523 sdst = sext<std::numeric_limits<ScalarRegI16>::digits>(
2640 Wavefront *wf = gpuDynInst->wavefront();
2664 Wavefront *wf = gpuDynInst->wavefront();
2687 Wavefront *wf = gpuDynInst->wavefront();
2733 Wavefront *wf = gpuDynInst->wavefront();
2742 scc = wf->
execMask().any() ? 1 : 0;
2765 Wavefront *wf = gpuDynInst->wavefront();
2774 scc = wf->
execMask().any() ? 1 : 0;
2797 Wavefront *wf = gpuDynInst->wavefront();
2806 scc = wf->
execMask().any() ? 1 : 0;
2814 :
Inst_SOP1(iFmt,
"s_andn2_saveexec_b64")
2829 Wavefront *wf = gpuDynInst->wavefront();
2838 scc = wf->
execMask().any() ? 1 : 0;
2846 :
Inst_SOP1(iFmt,
"s_orn2_saveexec_b64")
2861 Wavefront *wf = gpuDynInst->wavefront();
2870 scc = wf->
execMask().any() ? 1 : 0;
2878 :
Inst_SOP1(iFmt,
"s_nand_saveexec_b64")
2893 Wavefront *wf = gpuDynInst->wavefront();
2902 scc = wf->
execMask().any() ? 1 : 0;
2925 Wavefront *wf = gpuDynInst->wavefront();
2934 scc = wf->
execMask().any() ? 1 : 0;
2942 :
Inst_SOP1(iFmt,
"s_xnor_saveexec_b64")
2957 Wavefront *wf = gpuDynInst->wavefront();
2966 scc = wf->
execMask().any() ? 1 : 0;
3176 sdst = std::abs(src.
rawData());
3761 Wavefront *wf = gpuDynInst->wavefront();
3791 DPRINTF(GPUSync,
"CU[%d] WF[%d][%d] Wave[%d] - Exiting the "
3792 "program and decrementing max barrier count for "
3793 "barrier Id%d. New max count: %d.\n", cu->
cu_id,
3798 DPRINTF(GPUExec,
"CU%d: decrease ref ctr WG[%d] to [%d]\n",
3808 DPRINTF(GPUExec,
"Doing return for CU%d: WF[%d][%d][%d]\n",
3828 DPRINTF(GPUSync,
"CU[%d] WF[%d][%d] Wave[%d] - All waves are "
3829 "now complete. Releasing barrier Id%d.\n", cu->
cu_id,
3852 if (!kernelEnd || !relNeeded) {
3868 gpuDynInst->simdId = wf->
simdId;
3869 gpuDynInst->wfSlotId = wf->
wfSlotId;
3870 gpuDynInst->wfDynId = wf->
wfDynId;
3872 DPRINTF(GPUExec,
"inject global memory fence for CU%d: "
3900 Wavefront *wf = gpuDynInst->wavefront();
3942 Wavefront *wf = gpuDynInst->wavefront();
3971 Wavefront *wf = gpuDynInst->wavefront();
4001 Wavefront *wf = gpuDynInst->wavefront();
4031 Wavefront *wf = gpuDynInst->wavefront();
4059 Wavefront *wf = gpuDynInst->wavefront();
4084 Wavefront *wf = gpuDynInst->wavefront();
4113 Wavefront *wf = gpuDynInst->wavefront();
4119 DPRINTF(GPUSync,
"CU[%d] WF[%d][%d] Wave[%d] - Stalling at "
4120 "barrier Id%d. %d waves now at barrier, %d waves "
4168 gpuDynInst->wavefront()->setWaitCnts(vm_cnt, exp_cnt, lgkm_cnt);
4204 gpuDynInst->wavefront()->setSleepTime(64 * simm16);
4368 :
Inst_SOPP(iFmt,
"s_cbranch_cdbgsys_or_user")
4386 :
Inst_SOPP(iFmt,
"s_cbranch_cdbgsys_and_user")
4478 Wavefront *wf = gpuDynInst->wavefront();
4480 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4481 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4497 gpuDynInst->computeUnit()->scalarMemoryPipe
4498 .issueRequest(gpuDynInst);
4504 initMemRead<1>(gpuDynInst);
4532 Wavefront *wf = gpuDynInst->wavefront();
4534 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4535 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4551 gpuDynInst->computeUnit()->scalarMemoryPipe.
4552 issueRequest(gpuDynInst);
4558 initMemRead<2>(gpuDynInst);
4584 Wavefront *wf = gpuDynInst->wavefront();
4586 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4587 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4603 gpuDynInst->computeUnit()->scalarMemoryPipe.
4604 issueRequest(gpuDynInst);
4610 initMemRead<4>(gpuDynInst);
4636 Wavefront *wf = gpuDynInst->wavefront();
4638 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4639 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4655 gpuDynInst->computeUnit()->scalarMemoryPipe.
4656 issueRequest(gpuDynInst);
4662 initMemRead<8>(gpuDynInst);
4688 Wavefront *wf = gpuDynInst->wavefront();
4690 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4691 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4707 gpuDynInst->computeUnit()->scalarMemoryPipe.
4708 issueRequest(gpuDynInst);
4714 initMemRead<16>(gpuDynInst);
4726 :
Inst_SMEM(iFmt,
"s_buffer_load_dword")
4741 Wavefront *wf = gpuDynInst->wavefront();
4743 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4744 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4760 gpuDynInst->computeUnit()->scalarMemoryPipe
4761 .issueRequest(gpuDynInst);
4767 initMemRead<1>(gpuDynInst);
4780 :
Inst_SMEM(iFmt,
"s_buffer_load_dwordx2")
4795 Wavefront *wf = gpuDynInst->wavefront();
4797 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4798 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4814 gpuDynInst->computeUnit()->scalarMemoryPipe
4815 .issueRequest(gpuDynInst);
4821 initMemRead<2>(gpuDynInst);
4834 :
Inst_SMEM(iFmt,
"s_buffer_load_dwordx4")
4849 Wavefront *wf = gpuDynInst->wavefront();
4851 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4852 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4868 gpuDynInst->computeUnit()->scalarMemoryPipe
4869 .issueRequest(gpuDynInst);
4875 initMemRead<4>(gpuDynInst);
4888 :
Inst_SMEM(iFmt,
"s_buffer_load_dwordx8")
4903 Wavefront *wf = gpuDynInst->wavefront();
4905 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4906 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4922 gpuDynInst->computeUnit()->scalarMemoryPipe
4923 .issueRequest(gpuDynInst);
4929 initMemRead<8>(gpuDynInst);
4942 :
Inst_SMEM(iFmt,
"s_buffer_load_dwordx16")
4957 Wavefront *wf = gpuDynInst->wavefront();
4959 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4960 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
4976 gpuDynInst->computeUnit()->scalarMemoryPipe
4977 .issueRequest(gpuDynInst);
4983 initMemRead<16>(gpuDynInst);
5013 Wavefront *wf = gpuDynInst->wavefront();
5015 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5016 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5024 std::memcpy((
void*)gpuDynInst->scalar_data, sdata.
rawDataPtr(),
5037 gpuDynInst->computeUnit()->scalarMemoryPipe.
5038 issueRequest(gpuDynInst);
5044 initMemWrite<1>(gpuDynInst);
5068 Wavefront *wf = gpuDynInst->wavefront();
5070 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5071 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5079 std::memcpy((
void*)gpuDynInst->scalar_data, sdata.
rawDataPtr(),
5092 gpuDynInst->computeUnit()->scalarMemoryPipe.
5093 issueRequest(gpuDynInst);
5099 initMemWrite<2>(gpuDynInst);
5123 Wavefront *wf = gpuDynInst->wavefront();
5125 gpuDynInst->latency.init(gpuDynInst->computeUnit());
5126 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
5134 std::memcpy((
void*)gpuDynInst->scalar_data, sdata.
rawDataPtr(),
5147 gpuDynInst->computeUnit()->scalarMemoryPipe.
5148 issueRequest(gpuDynInst);
5154 initMemWrite<4>(gpuDynInst);
5164 :
Inst_SMEM(iFmt,
"s_buffer_store_dword")
5194 :
Inst_SMEM(iFmt,
"s_buffer_store_dwordx2")
5224 :
Inst_SMEM(iFmt,
"s_buffer_store_dwordx4")
5332 sdst = (
ScalarRegU64)gpuDynInst->computeUnit()->curCycle();
5399 Wavefront *wf = gpuDynInst->wavefront();
5412 =
bits(vcc.
rawData(), lane) ? src1[lane] : src0[lane];
5434 Wavefront *wf = gpuDynInst->wavefront();
5446 DPRINTF(GCN3,
"Handling V_ADD_F32 SRC DPP. SRC0: register v[%d], "
5447 "DPP_CTRL: 0x%#x, SRC0_ABS: %d, SRC0_NEG: %d, "
5448 "SRC1_ABS: %d, SRC1_NEG: %d, BOUND_CTRL: %d, "
5463 vdst[lane] = src0_dpp[lane] + src1[lane];
5469 vdst[lane] = src0[lane] + src1[lane];
5492 Wavefront *wf = gpuDynInst->wavefront();
5502 vdst[lane] = src0[lane] - src1[lane];
5524 Wavefront *wf = gpuDynInst->wavefront();
5534 vdst[lane] = src1[lane] - src0[lane];
5556 Wavefront *wf = gpuDynInst->wavefront();
5566 vdst[lane] = src0[lane] * src1[lane];
5588 Wavefront *wf = gpuDynInst->wavefront();
5598 if (std::isnan(src0[lane]) ||
5599 std::isnan(src1[lane])) {
5601 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
5602 std::fpclassify(src0[lane]) == FP_ZERO) &&
5603 !std::signbit(src0[lane])) {
5604 if (std::isinf(src1[lane])) {
5606 }
else if (!std::signbit(src1[lane])) {
5611 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
5612 std::fpclassify(src0[lane]) == FP_ZERO) &&
5613 std::signbit(src0[lane])) {
5614 if (std::isinf(src1[lane])) {
5616 }
else if (std::signbit(src1[lane])) {
5621 }
else if (std::isinf(src0[lane]) &&
5622 !std::signbit(src0[lane])) {
5623 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
5624 std::fpclassify(src1[lane]) == FP_ZERO) {
5626 }
else if (!std::signbit(src1[lane])) {
5627 vdst[lane] = +INFINITY;
5629 vdst[lane] = -INFINITY;
5631 }
else if (std::isinf(src0[lane]) &&
5632 std::signbit(src0[lane])) {
5633 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
5634 std::fpclassify(src1[lane]) == FP_ZERO) {
5636 }
else if (std::signbit(src1[lane])) {
5637 vdst[lane] = +INFINITY;
5639 vdst[lane] = -INFINITY;
5642 vdst[lane] = src0[lane] * src1[lane];
5664 Wavefront *wf = gpuDynInst->wavefront();
5674 vdst[lane] = szext<24>(src0[lane]) * szext<24>(src1[lane]);
5695 Wavefront *wf = gpuDynInst->wavefront();
5708 vdst[lane] = (
VecElemI32)((tmp_src0 * tmp_src1) >> 32);
5729 Wavefront *wf = gpuDynInst->wavefront();
5746 origSrc0_sdwa.
read();
5749 DPRINTF(GCN3,
"Handling V_MUL_U32_U24 SRC SDWA. SRC0: register "
5750 "v[%d], DST_SEL: %d, DST_UNUSED: %d, CLAMP: %d, SRC0_SEL: "
5751 "%d, SRC0_SEXT: %d, SRC0_NEG: %d, SRC0_ABS: %d, SRC1_SEL: "
5752 "%d, SRC1_SEXT: %d, SRC1_NEG: %d, SRC1_ABS: %d\n",
5770 vdst[lane] =
bits(src0_sdwa[lane], 23, 0) *
5771 bits(src1[lane], 23, 0);
5772 origVdst[lane] = vdst[lane];
5780 vdst[lane] =
bits(src0[lane], 23, 0) *
5781 bits(src1[lane], 23, 0);
5804 Wavefront *wf = gpuDynInst->wavefront();
5816 vdst[lane] = (
VecElemU32)((tmp_src0 * tmp_src1) >> 32);
5838 Wavefront *wf = gpuDynInst->wavefront();
5848 vdst[lane] = std::fmin(src0[lane], src1[lane]);
5870 Wavefront *wf = gpuDynInst->wavefront();
5880 vdst[lane] = std::fmax(src0[lane], src1[lane]);
5901 Wavefront *wf = gpuDynInst->wavefront();
5911 vdst[lane] = std::min(src0[lane], src1[lane]);
5932 Wavefront *wf = gpuDynInst->wavefront();
5942 vdst[lane] = std::max(src0[lane], src1[lane]);
5963 Wavefront *wf = gpuDynInst->wavefront();
5973 vdst[lane] = std::min(src0[lane], src1[lane]);
5994 Wavefront *wf = gpuDynInst->wavefront();
6004 vdst[lane] = std::max(src0[lane], src1[lane]);
6026 Wavefront *wf = gpuDynInst->wavefront();
6036 vdst[lane] = src1[lane] >>
bits(src0[lane], 4, 0);
6058 Wavefront *wf = gpuDynInst->wavefront();
6068 vdst[lane] = src1[lane] >>
bits(src0[lane], 4, 0);
6089 Wavefront *wf = gpuDynInst->wavefront();
6106 origSrc0_sdwa.
read();
6109 DPRINTF(GCN3,
"Handling V_LSHLREV_B32 SRC SDWA. SRC0: register "
6110 "v[%d], DST_SEL: %d, DST_UNUSED: %d, CLAMP: %d, SRC0_SEL: "
6111 "%d, SRC0_SEXT: %d, SRC0_NEG: %d, SRC0_ABS: %d, SRC1_SEL: "
6112 "%d, SRC1_SEXT: %d, SRC1_NEG: %d, SRC1_ABS: %d\n",
6130 vdst[lane] = src1[lane] <<
bits(src0_sdwa[lane], 4, 0);
6131 origVdst[lane] = vdst[lane];
6139 vdst[lane] = src1[lane] <<
bits(src0[lane], 4, 0);
6162 Wavefront *wf = gpuDynInst->wavefront();
6172 vdst[lane] = src0[lane] & src1[lane];
6194 Wavefront *wf = gpuDynInst->wavefront();
6211 origSrc0_sdwa.
read();
6214 DPRINTF(GCN3,
"Handling V_OR_B32 SRC SDWA. SRC0: register v[%d], "
6215 "DST_SEL: %d, DST_UNUSED: %d, CLAMP: %d, SRC0_SEL: %d, "
6216 "SRC0_SEXT: %d, SRC0_NEG: %d, SRC0_ABS: %d, SRC1_SEL: %d, "
6217 "SRC1_SEXT: %d, SRC1_NEG: %d, SRC1_ABS: %d\n",
6235 vdst[lane] = src0_sdwa[lane] | src1[lane];
6236 origVdst[lane] = vdst[lane];
6244 vdst[lane] = src0[lane] | src1[lane];
6267 Wavefront *wf = gpuDynInst->wavefront();
6277 vdst[lane] = src0[lane] ^ src1[lane];
6300 Wavefront *wf = gpuDynInst->wavefront();
6313 DPRINTF(GCN3,
"Handling V_MAC_F32 SRC DPP. SRC0: register v[%d], "
6314 "DPP_CTRL: 0x%#x, SRC0_ABS: %d, SRC0_NEG: %d, "
6315 "SRC1_ABS: %d, SRC1_NEG: %d, BOUND_CTRL: %d, "
6330 vdst[lane] = std::fma(src0_dpp[lane], src1[lane],
6337 vdst[lane] = std::fma(src0[lane], src1[lane], vdst[lane]);
6362 Wavefront *wf = gpuDynInst->wavefront();
6373 vdst[lane] = std::fma(src0[lane],
k, src1[lane]);
6397 Wavefront *wf = gpuDynInst->wavefront();
6408 vdst[lane] = std::fma(src0[lane], src1[lane],
k);
6433 Wavefront *wf = gpuDynInst->wavefront();
6451 origSrc0_sdwa.
read();
6454 DPRINTF(GCN3,
"Handling V_ADD_U32 SRC SDWA. SRC0: register v[%d], "
6455 "DST_SEL: %d, DST_UNUSED: %d, CLAMP: %d, SRC0_SEL: %d, "
6456 "SRC0_SEXT: %d, SRC0_NEG: %d, SRC0_ABS: %d, SRC1_SEL: %d, "
6457 "SRC1_SEXT: %d, SRC1_NEG: %d, SRC1_ABS: %d\n",
6475 vdst[lane] = src0_sdwa[lane] + src1[lane];
6476 origVdst[lane] = vdst[lane];
6478 + (
VecElemU64)src1[lane] >= 0x100000000ULL) ? 1 : 0);
6486 vdst[lane] = src0[lane] + src1[lane];
6488 + (
VecElemU64)src1[lane] >= 0x100000000ULL) ? 1 : 0);
6515 Wavefront *wf = gpuDynInst->wavefront();
6526 vdst[lane] = src0[lane] - src1[lane];
6527 vcc.
setBit(lane, src1[lane] > src0[lane] ? 1 : 0);
6553 Wavefront *wf = gpuDynInst->wavefront();
6564 vdst[lane] = src1[lane] - src0[lane];
6565 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
6593 Wavefront *wf = gpuDynInst->wavefront();
6605 vdst[lane] = src0[lane] + src1[lane]
6610 >= 0x100000000 ? 1 : 0);
6638 Wavefront *wf = gpuDynInst->wavefront();
6651 = src0[lane] - src1[lane] -
bits(vcc.
rawData(), lane);
6653 > src0[lane] ? 1 : 0);
6681 Wavefront *wf = gpuDynInst->wavefront();
6694 = src1[lane] - src0[lane] -
bits(vcc.
rawData(), lane);
6696 > src1[lane] ? 1 : 0);
6853 Wavefront *wf = gpuDynInst->wavefront();
6863 vdst[lane] = src0[lane] + src1[lane];
6884 Wavefront *wf = gpuDynInst->wavefront();
6894 vdst[lane] = src0[lane] - src1[lane];
6915 Wavefront *wf = gpuDynInst->wavefront();
6925 vdst[lane] = src1[lane] - src0[lane];
6946 Wavefront *wf = gpuDynInst->wavefront();
6956 vdst[lane] = src0[lane] * src1[lane];
6977 Wavefront *wf = gpuDynInst->wavefront();
6987 vdst[lane] = src1[lane] <<
bits(src0[lane], 3, 0);
7009 Wavefront *wf = gpuDynInst->wavefront();
7019 vdst[lane] = src1[lane] >> src0[lane];
7041 Wavefront *wf = gpuDynInst->wavefront();
7051 vdst[lane] = src1[lane] >> src0[lane];
7108 Wavefront *wf = gpuDynInst->wavefront();
7118 vdst[lane] = std::max(src0[lane], src1[lane]);
7139 Wavefront *wf = gpuDynInst->wavefront();
7149 vdst[lane] = std::max(src0[lane], src1[lane]);
7170 Wavefront *wf = gpuDynInst->wavefront();
7180 vdst[lane] = std::min(src0[lane], src1[lane]);
7201 Wavefront *wf = gpuDynInst->wavefront();
7211 vdst[lane] = std::min(src0[lane], src1[lane]);
7268 Wavefront *wf = gpuDynInst->wavefront();
7278 DPRINTF(GCN3,
"Handling V_MOV_B32 SRC DPP. SRC0: register v[%d], "
7279 "DPP_CTRL: 0x%#x, SRC0_ABS: %d, SRC0_NEG: %d, "
7280 "SRC1_ABS: %d, SRC1_NEG: %d, BOUND_CTRL: %d, "
7299 vdst[lane] = src_dpp[lane];
7305 vdst[lane] = src[lane];
7315 :
Inst_VOP1(iFmt,
"v_readfirstlane_b32")
7331 Wavefront *wf = gpuDynInst->wavefront();
7343 sdst = src[src_lane];
7365 Wavefront *wf = gpuDynInst->wavefront();
7374 std::frexp(src[lane],&exp);
7375 if (std::isnan(src[lane])) {
7377 }
else if (std::isinf(src[lane]) || exp > 30) {
7378 if (std::signbit(src[lane])) {
7379 vdst[lane] = INT_MIN;
7381 vdst[lane] = INT_MAX;
7407 Wavefront *wf = gpuDynInst->wavefront();
7437 Wavefront *wf = gpuDynInst->wavefront();
7467 Wavefront *wf = gpuDynInst->wavefront();
7499 Wavefront *wf = gpuDynInst->wavefront();
7508 std::frexp(src[lane],&exp);
7509 if (std::isnan(src[lane])) {
7511 }
else if (std::isinf(src[lane])) {
7512 if (std::signbit(src[lane])) {
7515 vdst[lane] = UINT_MAX;
7517 }
else if (exp > 31) {
7518 vdst[lane] = UINT_MAX;
7545 Wavefront *wf = gpuDynInst->wavefront();
7554 std::frexp(src[lane],&exp);
7555 if (std::isnan(src[lane])) {
7557 }
else if (std::isinf(src[lane]) || exp > 30) {
7558 if (std::signbit(src[lane])) {
7559 vdst[lane] = INT_MIN;
7561 vdst[lane] = INT_MAX;
7642 Wavefront *wf = gpuDynInst->wavefront();
7650 vdst[lane] = (
VecElemI32)std::floor(src[lane] + 0.5);
7673 Wavefront *wf = gpuDynInst->wavefront();
7681 vdst[lane] = (
VecElemI32)std::floor(src[lane]);
7721 Wavefront *wf = gpuDynInst->wavefront();
7751 Wavefront *wf = gpuDynInst->wavefront();
7781 Wavefront *wf = gpuDynInst->wavefront();
7811 Wavefront *wf = gpuDynInst->wavefront();
7841 Wavefront *wf = gpuDynInst->wavefront();
7871 Wavefront *wf = gpuDynInst->wavefront();
7903 Wavefront *wf = gpuDynInst->wavefront();
7912 std::frexp(src[lane],&exp);
7913 if (std::isnan(src[lane])) {
7915 }
else if (std::isinf(src[lane])) {
7916 if (std::signbit(src[lane])) {
7919 vdst[lane] = UINT_MAX;
7921 }
else if (exp > 31) {
7922 vdst[lane] = UINT_MAX;
7947 Wavefront *wf = gpuDynInst->wavefront();
7977 Wavefront *wf = gpuDynInst->wavefront();
7985 vdst[lane] = std::trunc(src[lane]);
8007 Wavefront *wf = gpuDynInst->wavefront();
8015 vdst[lane] = std::ceil(src[lane]);
8037 Wavefront *wf = gpuDynInst->wavefront();
8067 Wavefront *wf = gpuDynInst->wavefront();
8075 vdst[lane] = std::floor(src[lane]);
8097 Wavefront *wf = gpuDynInst->wavefront();
8106 vdst[lane] = std::modf(src[lane], &int_part);
8128 Wavefront *wf = gpuDynInst->wavefront();
8136 vdst[lane] = std::trunc(src[lane]);
8158 Wavefront *wf = gpuDynInst->wavefront();
8166 vdst[lane] = std::ceil(src[lane]);
8188 Wavefront *wf = gpuDynInst->wavefront();
8218 Wavefront *wf = gpuDynInst->wavefront();
8226 vdst[lane] = std::floor(src[lane]);
8248 Wavefront *wf = gpuDynInst->wavefront();
8256 vdst[lane] = std::pow(2.0, src[lane]);
8278 Wavefront *wf = gpuDynInst->wavefront();
8286 vdst[lane] = std::log2(src[lane]);
8308 Wavefront *wf = gpuDynInst->wavefront();
8316 vdst[lane] = 1.0 / src[lane];
8338 Wavefront *wf = gpuDynInst->wavefront();
8346 vdst[lane] = 1.0 / src[lane];
8368 Wavefront *wf = gpuDynInst->wavefront();
8376 vdst[lane] = 1.0 / std::sqrt(src[lane]);
8398 Wavefront *wf = gpuDynInst->wavefront();
8406 if (std::fpclassify(src[lane]) == FP_ZERO) {
8407 vdst[lane] = +INFINITY;
8408 }
else if (std::isnan(src[lane])) {
8410 }
else if (std::isinf(src[lane])) {
8411 if (std::signbit(src[lane])) {
8417 vdst[lane] = 1.0 / src[lane];
8440 Wavefront *wf = gpuDynInst->wavefront();
8448 if (std::fpclassify(src[lane]) == FP_ZERO) {
8449 vdst[lane] = +INFINITY;
8450 }
else if (std::isnan(src[lane])) {
8452 }
else if (std::isinf(src[lane])
8453 && !std::signbit(src[lane])) {
8455 }
else if (std::signbit(src[lane])) {
8458 vdst[lane] = 1.0 / std::sqrt(src[lane]);
8481 Wavefront *wf = gpuDynInst->wavefront();
8489 vdst[lane] = std::sqrt(src[lane]);
8511 Wavefront *wf = gpuDynInst->wavefront();
8519 vdst[lane] = std::sqrt(src[lane]);
8541 Wavefront *wf = gpuDynInst->wavefront();
8551 if (src[lane] < -256.0 || src[lane] > 256.0) {
8554 vdst[lane] = std::sin(src[lane] * 2.0 * pi.
rawData());
8577 Wavefront *wf = gpuDynInst->wavefront();
8587 if (src[lane] < -256.0 || src[lane] > 256.0) {
8590 vdst[lane] = std::cos(src[lane] * 2.0 * pi.
rawData());
8613 Wavefront *wf = gpuDynInst->wavefront();
8621 vdst[lane] = ~src[lane];
8643 Wavefront *wf = gpuDynInst->wavefront();
8673 Wavefront *wf = gpuDynInst->wavefront();
8703 Wavefront *wf = gpuDynInst->wavefront();
8733 Wavefront *wf = gpuDynInst->wavefront();
8750 :
Inst_VOP1(iFmt,
"v_frexp_exp_i32_f64")
8763 Wavefront *wf = gpuDynInst->wavefront();
8771 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
8775 std::frexp(src[lane], &exp);
8798 Wavefront *wf = gpuDynInst->wavefront();
8806 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
8807 vdst[lane] = src[lane];
8810 vdst[lane] = std::frexp(src[lane], &exp);
8832 Wavefront *wf = gpuDynInst->wavefront();
8841 vdst[lane] = std::modf(src[lane], &int_part);
8850 :
Inst_VOP1(iFmt,
"v_frexp_exp_i32_f32")
8866 Wavefront *wf = gpuDynInst->wavefront();
8874 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
8878 std::frexp(src[lane], &exp);
8903 Wavefront *wf = gpuDynInst->wavefront();
8911 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
8912 vdst[lane] = src[lane];
8915 vdst[lane] = std::frexp(src[lane], &exp);
9139 :
Inst_VOP1(iFmt,
"v_frexp_exp_i16_f16")
9301 Wavefront *wf = gpuDynInst->wavefront();
9309 vdst[lane] = std::pow(2.0, src[lane]);
9331 Wavefront *wf = gpuDynInst->wavefront();
9339 vdst[lane] = std::log2(src[lane]);
9373 Wavefront *wf = gpuDynInst->wavefront();
9383 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
9385 if (std::isnan(src0[lane])) {
9390 if (
bits(src1[lane], 2)) {
9392 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
9397 if (
bits(src1[lane], 3)) {
9399 if (std::isnormal(src0[lane])
9400 && std::signbit(src0[lane])) {
9405 if (
bits(src1[lane], 4)) {
9407 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
9408 && std::signbit(src0[lane])) {
9413 if (
bits(src1[lane], 5)) {
9415 if (std::fpclassify(src0[lane]) == FP_ZERO
9416 && std::signbit(src0[lane])) {
9421 if (
bits(src1[lane], 6)) {
9423 if (std::fpclassify(src0[lane]) == FP_ZERO
9424 && !std::signbit(src0[lane])) {
9429 if (
bits(src1[lane], 7)) {
9431 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
9432 && !std::signbit(src0[lane])) {
9437 if (
bits(src1[lane], 8)) {
9439 if (std::isnormal(src0[lane])
9440 && !std::signbit(src0[lane])) {
9445 if (
bits(src1[lane], 9)) {
9447 if (std::isinf(src0[lane]) && !std::signbit(src0[lane])) {
9485 Wavefront *wf = gpuDynInst->wavefront();
9495 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
9497 if (std::isnan(src0[lane])) {
9502 if (
bits(src1[lane], 2)) {
9504 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
9509 if (
bits(src1[lane], 3)) {
9511 if (std::isnormal(src0[lane])
9512 && std::signbit(src0[lane])) {
9517 if (
bits(src1[lane], 4)) {
9519 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
9520 && std::signbit(src0[lane])) {
9525 if (
bits(src1[lane], 5)) {
9527 if (std::fpclassify(src0[lane]) == FP_ZERO
9528 && std::signbit(src0[lane])) {
9533 if (
bits(src1[lane], 6)) {
9535 if (std::fpclassify(src0[lane]) == FP_ZERO
9536 && !std::signbit(src0[lane])) {
9541 if (
bits(src1[lane], 7)) {
9543 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
9544 && !std::signbit(src0[lane])) {
9549 if (
bits(src1[lane], 8)) {
9551 if (std::isnormal(src0[lane])
9552 && !std::signbit(src0[lane])) {
9557 if (
bits(src1[lane], 9)) {
9559 if (std::isinf(src0[lane]) && !std::signbit(src0[lane])) {
9598 Wavefront *wf = gpuDynInst->wavefront();
9608 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
9610 if (std::isnan(src0[lane])) {
9615 if (
bits(src1[lane], 2)) {
9617 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
9622 if (
bits(src1[lane], 3)) {
9624 if (std::isnormal(src0[lane])
9625 && std::signbit(src0[lane])) {
9630 if (
bits(src1[lane], 4)) {
9632 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
9633 && std::signbit(src0[lane])) {
9638 if (
bits(src1[lane], 5)) {
9640 if (std::fpclassify(src0[lane]) == FP_ZERO
9641 && std::signbit(src0[lane])) {
9646 if (
bits(src1[lane], 6)) {
9648 if (std::fpclassify(src0[lane]) == FP_ZERO
9649 && !std::signbit(src0[lane])) {
9654 if (
bits(src1[lane], 7)) {
9656 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
9657 && !std::signbit(src0[lane])) {
9662 if (
bits(src1[lane], 8)) {
9664 if (std::isnormal(src0[lane])
9665 && !std::signbit(src0[lane])) {
9670 if (
bits(src1[lane], 9)) {
9672 if (std::isinf(src0[lane])
9673 && !std::signbit(src0[lane])) {
9711 Wavefront *wf = gpuDynInst->wavefront();
9721 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
9723 if (std::isnan(src0[lane])) {
9728 if (
bits(src1[lane], 2)) {
9730 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
9735 if (
bits(src1[lane], 3)) {
9737 if (std::isnormal(src0[lane])
9738 && std::signbit(src0[lane])) {
9743 if (
bits(src1[lane], 4)) {
9745 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
9746 && std::signbit(src0[lane])) {
9751 if (
bits(src1[lane], 5)) {
9753 if (std::fpclassify(src0[lane]) == FP_ZERO
9754 && std::signbit(src0[lane])) {
9759 if (
bits(src1[lane], 6)) {
9761 if (std::fpclassify(src0[lane]) == FP_ZERO
9762 && !std::signbit(src0[lane])) {
9767 if (
bits(src1[lane], 7)) {
9769 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
9770 && !std::signbit(src0[lane])) {
9775 if (
bits(src1[lane], 8)) {
9777 if (std::isnormal(src0[lane])
9778 && !std::signbit(src0[lane])) {
9783 if (
bits(src1[lane], 9)) {
9785 if (std::isinf(src0[lane])
9786 && !std::signbit(src0[lane])) {
10452 Wavefront *wf = gpuDynInst->wavefront();
10479 Wavefront *wf = gpuDynInst->wavefront();
10489 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
10511 Wavefront *wf = gpuDynInst->wavefront();
10521 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
10543 Wavefront *wf = gpuDynInst->wavefront();
10553 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
10575 Wavefront *wf = gpuDynInst->wavefront();
10585 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
10607 Wavefront *wf = gpuDynInst->wavefront();
10617 vcc.
setBit(lane, (src0[lane] < src1[lane]
10618 || src0[lane] > src1[lane]) ? 1 : 0);
10640 Wavefront *wf = gpuDynInst->wavefront();
10650 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
10672 Wavefront *wf = gpuDynInst->wavefront();
10682 vcc.
setBit(lane, (!std::isnan(src0[lane])
10683 && !std::isnan(src1[lane])) ? 1 : 0);
10705 Wavefront *wf = gpuDynInst->wavefront();
10715 vcc.
setBit(lane, (std::isnan(src0[lane])
10716 || std::isnan(src1[lane])) ? 1 : 0);
10738 Wavefront *wf = gpuDynInst->wavefront();
10748 vcc.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
10770 Wavefront *wf = gpuDynInst->wavefront();
10780 vcc.
setBit(lane, !(src0[lane] < src1[lane]
10781 || src0[lane] > src1[lane]) ? 1 : 0);
10803 Wavefront *wf = gpuDynInst->wavefront();
10813 vcc.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
10835 Wavefront *wf = gpuDynInst->wavefront();
10845 vcc.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
10867 Wavefront *wf = gpuDynInst->wavefront();
10877 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
10899 Wavefront *wf = gpuDynInst->wavefront();
10909 vcc.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
10931 Wavefront *wf = gpuDynInst->wavefront();
10958 Wavefront *wf = gpuDynInst->wavefront();
10986 Wavefront *wf = gpuDynInst->wavefront();
10996 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
11019 Wavefront *wf = gpuDynInst->wavefront();
11029 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
11052 Wavefront *wf = gpuDynInst->wavefront();
11062 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
11085 Wavefront *wf = gpuDynInst->wavefront();
11095 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
11118 Wavefront *wf = gpuDynInst->wavefront();
11128 vcc.
setBit(lane, (src0[lane] < src1[lane]
11129 || src0[lane] > src1[lane]) ? 1 : 0);
11152 Wavefront *wf = gpuDynInst->wavefront();
11162 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
11186 Wavefront *wf = gpuDynInst->wavefront();
11196 vcc.
setBit(lane, (!std::isnan(src0[lane])
11197 && !std::isnan(src1[lane])) ? 1 : 0);
11221 Wavefront *wf = gpuDynInst->wavefront();
11231 vcc.
setBit(lane, (std::isnan(src0[lane])
11232 || std::isnan(src1[lane])) ? 1 : 0);
11255 Wavefront *wf = gpuDynInst->wavefront();
11265 vcc.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
11288 Wavefront *wf = gpuDynInst->wavefront();
11298 vcc.
setBit(lane, !(src0[lane] < src1[lane]
11299 || src0[lane] > src1[lane]) ? 1 : 0);
11322 Wavefront *wf = gpuDynInst->wavefront();
11332 vcc.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
11355 Wavefront *wf = gpuDynInst->wavefront();
11365 vcc.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
11388 Wavefront *wf = gpuDynInst->wavefront();
11398 vcc.
setBit(lane, !(src0[lane] == src1[lane]) ? 1 : 0);
11420 Wavefront *wf = gpuDynInst->wavefront();
11430 vcc.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
11453 Wavefront *wf = gpuDynInst->wavefront();
11481 Wavefront *wf = gpuDynInst->wavefront();
11508 Wavefront *wf = gpuDynInst->wavefront();
11518 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
11540 Wavefront *wf = gpuDynInst->wavefront();
11550 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
11572 Wavefront *wf = gpuDynInst->wavefront();
11582 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
11604 Wavefront *wf = gpuDynInst->wavefront();
11614 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
11636 Wavefront *wf = gpuDynInst->wavefront();
11646 vcc.
setBit(lane, (src0[lane] < src1[lane]
11647 || src0[lane] > src1[lane]) ? 1 : 0);
11669 Wavefront *wf = gpuDynInst->wavefront();
11679 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
11701 Wavefront *wf = gpuDynInst->wavefront();
11711 vcc.
setBit(lane, (!std::isnan(src0[lane])
11712 && !std::isnan(src1[lane])) ? 1 : 0);
11734 Wavefront *wf = gpuDynInst->wavefront();
11744 vcc.
setBit(lane, (std::isnan(src0[lane])
11745 || std::isnan(src1[lane])) ? 1 : 0);
11767 Wavefront *wf = gpuDynInst->wavefront();
11777 vcc.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
11799 Wavefront *wf = gpuDynInst->wavefront();
11809 vcc.
setBit(lane, !(src0[lane] < src1[lane]
11810 || src0[lane] > src1[lane]) ? 1 : 0);
11832 Wavefront *wf = gpuDynInst->wavefront();
11842 vcc.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
11864 Wavefront *wf = gpuDynInst->wavefront();
11874 vcc.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
11896 Wavefront *wf = gpuDynInst->wavefront();
11906 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
11928 Wavefront *wf = gpuDynInst->wavefront();
11938 vcc.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
11960 Wavefront *wf = gpuDynInst->wavefront();
11987 Wavefront *wf = gpuDynInst->wavefront();
12015 Wavefront *wf = gpuDynInst->wavefront();
12025 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
12048 Wavefront *wf = gpuDynInst->wavefront();
12058 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
12081 Wavefront *wf = gpuDynInst->wavefront();
12091 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
12114 Wavefront *wf = gpuDynInst->wavefront();
12124 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
12147 Wavefront *wf = gpuDynInst->wavefront();
12157 vcc.
setBit(lane, (src0[lane] < src1[lane]
12158 || src0[lane] > src1[lane]) ? 1 : 0);
12181 Wavefront *wf = gpuDynInst->wavefront();
12191 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
12215 Wavefront *wf = gpuDynInst->wavefront();
12225 vcc.
setBit(lane, (!std::isnan(src0[lane])
12226 && !std::isnan(src1[lane])) ? 1 : 0);
12250 Wavefront *wf = gpuDynInst->wavefront();
12260 vcc.
setBit(lane, (std::isnan(src0[lane])
12261 || std::isnan(src1[lane])) ? 1 : 0);
12284 Wavefront *wf = gpuDynInst->wavefront();
12294 vcc.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
12317 Wavefront *wf = gpuDynInst->wavefront();
12327 vcc.
setBit(lane, !(src0[lane] < src1[lane]
12328 || src0[lane] > src1[lane]) ? 1 : 0);
12351 Wavefront *wf = gpuDynInst->wavefront();
12361 vcc.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
12384 Wavefront *wf = gpuDynInst->wavefront();
12394 vcc.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
12417 Wavefront *wf = gpuDynInst->wavefront();
12427 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
12450 Wavefront *wf = gpuDynInst->wavefront();
12460 vcc.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
12483 Wavefront *wf = gpuDynInst->wavefront();
12510 Wavefront *wf = gpuDynInst->wavefront();
12536 Wavefront *wf = gpuDynInst->wavefront();
12546 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
12567 Wavefront *wf = gpuDynInst->wavefront();
12577 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
12598 Wavefront *wf = gpuDynInst->wavefront();
12608 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
12629 Wavefront *wf = gpuDynInst->wavefront();
12639 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
12660 Wavefront *wf = gpuDynInst->wavefront();
12670 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
12691 Wavefront *wf = gpuDynInst->wavefront();
12701 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
12722 Wavefront *wf = gpuDynInst->wavefront();
12748 Wavefront *wf = gpuDynInst->wavefront();
12774 Wavefront *wf = gpuDynInst->wavefront();
12784 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
12805 Wavefront *wf = gpuDynInst->wavefront();
12815 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
12836 Wavefront *wf = gpuDynInst->wavefront();
12846 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
12867 Wavefront *wf = gpuDynInst->wavefront();
12877 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
12898 Wavefront *wf = gpuDynInst->wavefront();
12908 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
12929 Wavefront *wf = gpuDynInst->wavefront();
12939 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
12960 Wavefront *wf = gpuDynInst->wavefront();
12986 Wavefront *wf = gpuDynInst->wavefront();
13013 Wavefront *wf = gpuDynInst->wavefront();
13023 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
13045 Wavefront *wf = gpuDynInst->wavefront();
13055 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
13077 Wavefront *wf = gpuDynInst->wavefront();
13087 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
13109 Wavefront *wf = gpuDynInst->wavefront();
13119 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
13141 Wavefront *wf = gpuDynInst->wavefront();
13151 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
13173 Wavefront *wf = gpuDynInst->wavefront();
13183 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
13205 Wavefront *wf = gpuDynInst->wavefront();
13232 Wavefront *wf = gpuDynInst->wavefront();
13259 Wavefront *wf = gpuDynInst->wavefront();
13269 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
13291 Wavefront *wf = gpuDynInst->wavefront();
13301 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
13323 Wavefront *wf = gpuDynInst->wavefront();
13333 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
13355 Wavefront *wf = gpuDynInst->wavefront();
13365 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
13387 Wavefront *wf = gpuDynInst->wavefront();
13397 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
13419 Wavefront *wf = gpuDynInst->wavefront();
13429 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
13451 Wavefront *wf = gpuDynInst->wavefront();
13478 Wavefront *wf = gpuDynInst->wavefront();
13504 Wavefront *wf = gpuDynInst->wavefront();
13514 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
13535 Wavefront *wf = gpuDynInst->wavefront();
13545 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
13566 Wavefront *wf = gpuDynInst->wavefront();
13576 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
13597 Wavefront *wf = gpuDynInst->wavefront();
13607 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
13628 Wavefront *wf = gpuDynInst->wavefront();
13638 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
13659 Wavefront *wf = gpuDynInst->wavefront();
13669 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
13690 Wavefront *wf = gpuDynInst->wavefront();
13716 Wavefront *wf = gpuDynInst->wavefront();
13742 Wavefront *wf = gpuDynInst->wavefront();
13752 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
13773 Wavefront *wf = gpuDynInst->wavefront();
13783 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
13804 Wavefront *wf = gpuDynInst->wavefront();
13814 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
13835 Wavefront *wf = gpuDynInst->wavefront();
13845 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
13866 Wavefront *wf = gpuDynInst->wavefront();
13876 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
13897 Wavefront *wf = gpuDynInst->wavefront();
13907 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
13928 Wavefront *wf = gpuDynInst->wavefront();
13954 Wavefront *wf = gpuDynInst->wavefront();
13981 Wavefront *wf = gpuDynInst->wavefront();
13991 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14013 Wavefront *wf = gpuDynInst->wavefront();
14023 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
14045 Wavefront *wf = gpuDynInst->wavefront();
14055 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
14077 Wavefront *wf = gpuDynInst->wavefront();
14087 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
14109 Wavefront *wf = gpuDynInst->wavefront();
14119 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
14141 Wavefront *wf = gpuDynInst->wavefront();
14151 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
14173 Wavefront *wf = gpuDynInst->wavefront();
14200 Wavefront *wf = gpuDynInst->wavefront();
14227 Wavefront *wf = gpuDynInst->wavefront();
14237 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14259 Wavefront *wf = gpuDynInst->wavefront();
14269 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
14291 Wavefront *wf = gpuDynInst->wavefront();
14301 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
14323 Wavefront *wf = gpuDynInst->wavefront();
14333 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
14355 Wavefront *wf = gpuDynInst->wavefront();
14365 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
14387 Wavefront *wf = gpuDynInst->wavefront();
14397 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
14419 Wavefront *wf = gpuDynInst->wavefront();
14446 Wavefront *wf = gpuDynInst->wavefront();
14472 Wavefront *wf = gpuDynInst->wavefront();
14482 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14503 Wavefront *wf = gpuDynInst->wavefront();
14513 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
14534 Wavefront *wf = gpuDynInst->wavefront();
14544 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
14565 Wavefront *wf = gpuDynInst->wavefront();
14575 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
14596 Wavefront *wf = gpuDynInst->wavefront();
14606 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
14627 Wavefront *wf = gpuDynInst->wavefront();
14637 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
14658 Wavefront *wf = gpuDynInst->wavefront();
14684 Wavefront *wf = gpuDynInst->wavefront();
14710 Wavefront *wf = gpuDynInst->wavefront();
14720 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14741 Wavefront *wf = gpuDynInst->wavefront();
14751 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
14772 Wavefront *wf = gpuDynInst->wavefront();
14782 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
14803 Wavefront *wf = gpuDynInst->wavefront();
14813 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
14834 Wavefront *wf = gpuDynInst->wavefront();
14844 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
14865 Wavefront *wf = gpuDynInst->wavefront();
14875 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
14896 Wavefront *wf = gpuDynInst->wavefront();
14922 Wavefront *wf = gpuDynInst->wavefront();
14949 Wavefront *wf = gpuDynInst->wavefront();
14959 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
14981 Wavefront *wf = gpuDynInst->wavefront();
14991 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
15013 Wavefront *wf = gpuDynInst->wavefront();
15023 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
15045 Wavefront *wf = gpuDynInst->wavefront();
15055 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
15077 Wavefront *wf = gpuDynInst->wavefront();
15087 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
15109 Wavefront *wf = gpuDynInst->wavefront();
15119 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
15141 Wavefront *wf = gpuDynInst->wavefront();
15168 Wavefront *wf = gpuDynInst->wavefront();
15195 Wavefront *wf = gpuDynInst->wavefront();
15205 vcc.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
15227 Wavefront *wf = gpuDynInst->wavefront();
15237 vcc.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
15259 Wavefront *wf = gpuDynInst->wavefront();
15269 vcc.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
15291 Wavefront *wf = gpuDynInst->wavefront();
15301 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
15323 Wavefront *wf = gpuDynInst->wavefront();
15333 vcc.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
15355 Wavefront *wf = gpuDynInst->wavefront();
15365 vcc.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
15387 Wavefront *wf = gpuDynInst->wavefront();
15458 :
Inst_VOP3(iFmt,
"v_cmp_class_f32", true)
15484 Wavefront *wf = gpuDynInst->wavefront();
15494 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
15496 if (std::isnan(src0[lane])) {
15501 if (
bits(src1[lane], 2)) {
15503 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
15508 if (
bits(src1[lane], 3)) {
15510 if (std::isnormal(src0[lane])
15511 && std::signbit(src0[lane])) {
15516 if (
bits(src1[lane], 4)) {
15518 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
15519 && std::signbit(src0[lane])) {
15524 if (
bits(src1[lane], 5)) {
15526 if (std::fpclassify(src0[lane]) == FP_ZERO
15527 && std::signbit(src0[lane])) {
15532 if (
bits(src1[lane], 6)) {
15534 if (std::fpclassify(src0[lane]) == FP_ZERO
15535 && !std::signbit(src0[lane])) {
15540 if (
bits(src1[lane], 7)) {
15542 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
15543 && !std::signbit(src0[lane])) {
15548 if (
bits(src1[lane], 8)) {
15550 if (std::isnormal(src0[lane])
15551 && !std::signbit(src0[lane])) {
15556 if (
bits(src1[lane], 9)) {
15558 if (std::isinf(src0[lane])
15559 && !std::signbit(src0[lane])) {
15572 :
Inst_VOP3(iFmt,
"v_cmpx_class_f32", true)
15599 Wavefront *wf = gpuDynInst->wavefront();
15609 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
15611 if (std::isnan(src0[lane])) {
15616 if (
bits(src1[lane], 2)) {
15618 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
15623 if (
bits(src1[lane], 3)) {
15625 if (std::isnormal(src0[lane])
15626 && std::signbit(src0[lane])) {
15631 if (
bits(src1[lane], 4)) {
15633 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
15634 && std::signbit(src0[lane])) {
15639 if (
bits(src1[lane], 5)) {
15641 if (std::fpclassify(src0[lane]) == FP_ZERO
15642 && std::signbit(src0[lane])) {
15647 if (
bits(src1[lane], 6)) {
15649 if (std::fpclassify(src0[lane]) == FP_ZERO
15650 && !std::signbit(src0[lane])) {
15655 if (
bits(src1[lane], 7)) {
15657 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
15658 && !std::signbit(src0[lane])) {
15663 if (
bits(src1[lane], 8)) {
15665 if (std::isnormal(src0[lane])
15666 && !std::signbit(src0[lane])) {
15671 if (
bits(src1[lane], 9)) {
15673 if (std::isinf(src0[lane])
15674 && !std::signbit(src0[lane])) {
15688 :
Inst_VOP3(iFmt,
"v_cmp_class_f64", true)
15714 Wavefront *wf = gpuDynInst->wavefront();
15724 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
15726 if (std::isnan(src0[lane])) {
15731 if (
bits(src1[lane], 2)) {
15733 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
15738 if (
bits(src1[lane], 3)) {
15740 if (std::isnormal(src0[lane])
15741 && std::signbit(src0[lane])) {
15746 if (
bits(src1[lane], 4)) {
15748 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
15749 && std::signbit(src0[lane])) {
15754 if (
bits(src1[lane], 5)) {
15756 if (std::fpclassify(src0[lane]) == FP_ZERO
15757 && std::signbit(src0[lane])) {
15762 if (
bits(src1[lane], 6)) {
15764 if (std::fpclassify(src0[lane]) == FP_ZERO
15765 && !std::signbit(src0[lane])) {
15770 if (
bits(src1[lane], 7)) {
15772 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
15773 && !std::signbit(src0[lane])) {
15778 if (
bits(src1[lane], 8)) {
15780 if (std::isnormal(src0[lane])
15781 && !std::signbit(src0[lane])) {
15786 if (
bits(src1[lane], 9)) {
15788 if (std::isinf(src0[lane])
15789 && !std::signbit(src0[lane])) {
15802 :
Inst_VOP3(iFmt,
"v_cmpx_class_f64", true)
15829 Wavefront *wf = gpuDynInst->wavefront();
15839 if (
bits(src1[lane], 0) ||
bits(src1[lane], 1)) {
15841 if (std::isnan(src0[lane])) {
15846 if (
bits(src1[lane], 2)) {
15848 if (std::isinf(src0[lane]) && std::signbit(src0[lane])) {
15853 if (
bits(src1[lane], 3)) {
15855 if (std::isnormal(src0[lane])
15856 && std::signbit(src0[lane])) {
15861 if (
bits(src1[lane], 4)) {
15863 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
15864 && std::signbit(src0[lane])) {
15869 if (
bits(src1[lane], 5)) {
15871 if (std::fpclassify(src0[lane]) == FP_ZERO
15872 && std::signbit(src0[lane])) {
15877 if (
bits(src1[lane], 6)) {
15879 if (std::fpclassify(src0[lane]) == FP_ZERO
15880 && !std::signbit(src0[lane])) {
15885 if (
bits(src1[lane], 7)) {
15887 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
15888 && !std::signbit(src0[lane])) {
15893 if (
bits(src1[lane], 8)) {
15895 if (std::isnormal(src0[lane])
15896 && !std::signbit(src0[lane])) {
15901 if (
bits(src1[lane], 9)) {
15903 if (std::isinf(src0[lane])
15904 && !std::signbit(src0[lane])) {
15918 :
Inst_VOP3(iFmt,
"v_cmp_class_f16", true)
15949 :
Inst_VOP3(iFmt,
"v_cmpx_class_f16", true)
15999 :
Inst_VOP3(iFmt,
"v_cmp_lt_f16", true)
16018 :
Inst_VOP3(iFmt,
"v_cmp_eq_f16", true)
16037 :
Inst_VOP3(iFmt,
"v_cmp_le_f16", true)
16056 :
Inst_VOP3(iFmt,
"v_cmp_gt_f16", true)
16075 :
Inst_VOP3(iFmt,
"v_cmp_lg_f16", true)
16094 :
Inst_VOP3(iFmt,
"v_cmp_ge_f16", true)
16149 :
Inst_VOP3(iFmt,
"v_cmp_nge_f16", true)
16168 :
Inst_VOP3(iFmt,
"v_cmp_nlg_f16", true)
16187 :
Inst_VOP3(iFmt,
"v_cmp_ngt_f16", true)
16206 :
Inst_VOP3(iFmt,
"v_cmp_nle_f16", true)
16225 :
Inst_VOP3(iFmt,
"v_cmp_neq_f16", true)
16244 :
Inst_VOP3(iFmt,
"v_cmp_nlt_f16", true)
16263 :
Inst_VOP3(iFmt,
"v_cmp_tru_f16", true)
16277 Wavefront *wf = gpuDynInst->wavefront();
16291 :
Inst_VOP3(iFmt,
"v_cmpx_f_f16", true)
16304 Wavefront *wf = gpuDynInst->wavefront();
16319 :
Inst_VOP3(iFmt,
"v_cmpx_lt_f16", true)
16338 :
Inst_VOP3(iFmt,
"v_cmpx_eq_f16", true)
16357 :
Inst_VOP3(iFmt,
"v_cmpx_le_f16", true)
16376 :
Inst_VOP3(iFmt,
"v_cmpx_gt_f16", true)
16395 :
Inst_VOP3(iFmt,
"v_cmpx_lg_f16", true)
16414 :
Inst_VOP3(iFmt,
"v_cmpx_ge_f16", true)
16433 :
Inst_VOP3(iFmt,
"v_cmpx_o_f16", true)
16453 :
Inst_VOP3(iFmt,
"v_cmpx_u_f16", true)
16473 :
Inst_VOP3(iFmt,
"v_cmpx_nge_f16", true)
16492 :
Inst_VOP3(iFmt,
"v_cmpx_nlg_f16", true)
16511 :
Inst_VOP3(iFmt,
"v_cmpx_ngt_f16", true)
16530 :
Inst_VOP3(iFmt,
"v_cmpx_nle_f16", true)
16549 :
Inst_VOP3(iFmt,
"v_cmpx_neq_f16", true)
16568 :
Inst_VOP3(iFmt,
"v_cmpx_nlt_f16", true)
16587 :
Inst_VOP3(iFmt,
"v_cmpx_tru_f16", true)
16601 Wavefront *wf = gpuDynInst->wavefront();
16629 Wavefront *wf = gpuDynInst->wavefront();
16643 :
Inst_VOP3(iFmt,
"v_cmp_lt_f32", true)
16657 Wavefront *wf = gpuDynInst->wavefront();
16667 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
16676 :
Inst_VOP3(iFmt,
"v_cmp_eq_f32", true)
16690 Wavefront *wf = gpuDynInst->wavefront();
16700 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
16709 :
Inst_VOP3(iFmt,
"v_cmp_le_f32", true)
16723 Wavefront *wf = gpuDynInst->wavefront();
16733 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
16742 :
Inst_VOP3(iFmt,
"v_cmp_gt_f32", true)
16756 Wavefront *wf = gpuDynInst->wavefront();
16766 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
16775 :
Inst_VOP3(iFmt,
"v_cmp_lg_f32", true)
16789 Wavefront *wf = gpuDynInst->wavefront();
16799 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
16808 :
Inst_VOP3(iFmt,
"v_cmp_ge_f32", true)
16822 Wavefront *wf = gpuDynInst->wavefront();
16832 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
16854 Wavefront *wf = gpuDynInst->wavefront();
16864 sdst.
setBit(lane, (!std::isnan(src0[lane])
16865 && !std::isnan(src1[lane])) ? 1 : 0);
16887 Wavefront *wf = gpuDynInst->wavefront();
16897 sdst.
setBit(lane, (std::isnan(src0[lane])
16898 || std::isnan(src1[lane])) ? 1 : 0);
16907 :
Inst_VOP3(iFmt,
"v_cmp_nge_f32", true)
16921 Wavefront *wf = gpuDynInst->wavefront();
16931 sdst.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
16940 :
Inst_VOP3(iFmt,
"v_cmp_nlg_f32", true)
16954 Wavefront *wf = gpuDynInst->wavefront();
16964 sdst.
setBit(lane, !(src0[lane] < src1[lane]
16965 || src0[lane] > src1[lane]) ? 1 : 0);
16974 :
Inst_VOP3(iFmt,
"v_cmp_ngt_f32", true)
16988 Wavefront *wf = gpuDynInst->wavefront();
16998 sdst.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
17007 :
Inst_VOP3(iFmt,
"v_cmp_nle_f32", true)
17021 Wavefront *wf = gpuDynInst->wavefront();
17031 sdst.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
17040 :
Inst_VOP3(iFmt,
"v_cmp_neq_f32", true)
17054 Wavefront *wf = gpuDynInst->wavefront();
17064 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
17073 :
Inst_VOP3(iFmt,
"v_cmp_nlt_f32", true)
17087 Wavefront *wf = gpuDynInst->wavefront();
17097 sdst.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
17106 :
Inst_VOP3(iFmt,
"v_cmp_tru_f32", true)
17120 Wavefront *wf = gpuDynInst->wavefront();
17134 :
Inst_VOP3(iFmt,
"v_cmpx_f_f32", true)
17148 Wavefront *wf = gpuDynInst->wavefront();
17163 :
Inst_VOP3(iFmt,
"v_cmpx_lt_f32", true)
17177 Wavefront *wf = gpuDynInst->wavefront();
17187 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
17197 :
Inst_VOP3(iFmt,
"v_cmpx_eq_f32", true)
17211 Wavefront *wf = gpuDynInst->wavefront();
17221 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
17231 :
Inst_VOP3(iFmt,
"v_cmpx_le_f32", true)
17245 Wavefront *wf = gpuDynInst->wavefront();
17255 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
17265 :
Inst_VOP3(iFmt,
"v_cmpx_gt_f32", true)
17279 Wavefront *wf = gpuDynInst->wavefront();
17289 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
17299 :
Inst_VOP3(iFmt,
"v_cmpx_lg_f32", true)
17313 Wavefront *wf = gpuDynInst->wavefront();
17323 sdst.
setBit(lane, (src0[lane] < src1[lane]
17324 || src0[lane] > src1[lane]) ? 1 : 0);
17334 :
Inst_VOP3(iFmt,
"v_cmpx_ge_f32", true)
17348 Wavefront *wf = gpuDynInst->wavefront();
17358 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
17368 :
Inst_VOP3(iFmt,
"v_cmpx_o_f32", true)
17383 Wavefront *wf = gpuDynInst->wavefront();
17393 sdst.
setBit(lane, (!std::isnan(src0[lane])
17394 && !std::isnan(src1[lane])) ? 1 : 0);
17404 :
Inst_VOP3(iFmt,
"v_cmpx_u_f32", true)
17419 Wavefront *wf = gpuDynInst->wavefront();
17429 sdst.
setBit(lane, (std::isnan(src0[lane])
17430 || std::isnan(src1[lane])) ? 1 : 0);
17440 :
Inst_VOP3(iFmt,
"v_cmpx_nge_f32", true)
17454 Wavefront *wf = gpuDynInst->wavefront();
17464 sdst.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
17474 :
Inst_VOP3(iFmt,
"v_cmpx_nlg_f32", true)
17488 Wavefront *wf = gpuDynInst->wavefront();
17498 sdst.
setBit(lane, !(src0[lane] < src1[lane]
17499 || src0[lane] > src1[lane]) ? 1 : 0);
17509 :
Inst_VOP3(iFmt,
"v_cmpx_ngt_f32", true)
17523 Wavefront *wf = gpuDynInst->wavefront();
17533 sdst.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
17543 :
Inst_VOP3(iFmt,
"v_cmpx_nle_f32", true)
17557 Wavefront *wf = gpuDynInst->wavefront();
17567 sdst.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
17577 :
Inst_VOP3(iFmt,
"v_cmpx_neq_f32", true)
17591 Wavefront *wf = gpuDynInst->wavefront();
17601 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
17611 :
Inst_VOP3(iFmt,
"v_cmpx_nlt_f32", true)
17625 Wavefront *wf = gpuDynInst->wavefront();
17635 sdst.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
17645 :
Inst_VOP3(iFmt,
"v_cmpx_tru_f32", true)
17659 Wavefront *wf = gpuDynInst->wavefront();
17687 Wavefront *wf = gpuDynInst->wavefront();
17701 :
Inst_VOP3(iFmt,
"v_cmp_lt_f64", true)
17715 Wavefront *wf = gpuDynInst->wavefront();
17747 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
17756 :
Inst_VOP3(iFmt,
"v_cmp_eq_f64", true)
17770 Wavefront *wf = gpuDynInst->wavefront();
17802 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
17811 :
Inst_VOP3(iFmt,
"v_cmp_le_f64", true)
17825 Wavefront *wf = gpuDynInst->wavefront();
17857 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
17866 :
Inst_VOP3(iFmt,
"v_cmp_gt_f64", true)
17880 Wavefront *wf = gpuDynInst->wavefront();
17912 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
17921 :
Inst_VOP3(iFmt,
"v_cmp_lg_f64", true)
17935 Wavefront *wf = gpuDynInst->wavefront();
17967 sdst.
setBit(lane, (src0[lane] < src1[lane]
17968 || src0[lane] > src1[lane]) ? 1 : 0);
17977 :
Inst_VOP3(iFmt,
"v_cmp_ge_f64", true)
17991 Wavefront *wf = gpuDynInst->wavefront();
18023 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
18045 Wavefront *wf = gpuDynInst->wavefront();
18077 sdst.
setBit(lane, (!std::isnan(src0[lane])
18078 && !std::isnan(src1[lane])) ? 1 : 0);
18100 Wavefront *wf = gpuDynInst->wavefront();
18132 sdst.
setBit(lane, (std::isnan(src0[lane])
18133 || std::isnan(src1[lane])) ? 1 : 0);
18142 :
Inst_VOP3(iFmt,
"v_cmp_nge_f64", true)
18156 Wavefront *wf = gpuDynInst->wavefront();
18188 sdst.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
18197 :
Inst_VOP3(iFmt,
"v_cmp_nlg_f64", true)
18211 Wavefront *wf = gpuDynInst->wavefront();
18243 sdst.
setBit(lane, !(src0[lane] < src1[lane]
18244 || src0[lane] > src1[lane]) ? 1 : 0);
18253 :
Inst_VOP3(iFmt,
"v_cmp_ngt_f64", true)
18267 Wavefront *wf = gpuDynInst->wavefront();
18299 sdst.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
18308 :
Inst_VOP3(iFmt,
"v_cmp_nle_f64", true)
18322 Wavefront *wf = gpuDynInst->wavefront();
18354 sdst.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
18363 :
Inst_VOP3(iFmt,
"v_cmp_neq_f64", true)
18377 Wavefront *wf = gpuDynInst->wavefront();
18409 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
18418 :
Inst_VOP3(iFmt,
"v_cmp_nlt_f64", true)
18432 Wavefront *wf = gpuDynInst->wavefront();
18464 sdst.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
18473 :
Inst_VOP3(iFmt,
"v_cmp_tru_f64", true)
18487 Wavefront *wf = gpuDynInst->wavefront();
18501 :
Inst_VOP3(iFmt,
"v_cmpx_f_f64", true)
18515 Wavefront *wf = gpuDynInst->wavefront();
18530 :
Inst_VOP3(iFmt,
"v_cmpx_lt_f64", true)
18544 Wavefront *wf = gpuDynInst->wavefront();
18576 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
18586 :
Inst_VOP3(iFmt,
"v_cmpx_eq_f64", true)
18600 Wavefront *wf = gpuDynInst->wavefront();
18632 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
18642 :
Inst_VOP3(iFmt,
"v_cmpx_le_f64", true)
18656 Wavefront *wf = gpuDynInst->wavefront();
18688 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
18698 :
Inst_VOP3(iFmt,
"v_cmpx_gt_f64", true)
18712 Wavefront *wf = gpuDynInst->wavefront();
18744 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
18754 :
Inst_VOP3(iFmt,
"v_cmpx_lg_f64", true)
18768 Wavefront *wf = gpuDynInst->wavefront();
18800 sdst.
setBit(lane, (src0[lane] < src1[lane]
18801 || src0[lane] > src1[lane]) ? 1 : 0);
18811 :
Inst_VOP3(iFmt,
"v_cmpx_ge_f64", true)
18825 Wavefront *wf = gpuDynInst->wavefront();
18857 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
18867 :
Inst_VOP3(iFmt,
"v_cmpx_o_f64", true)
18882 Wavefront *wf = gpuDynInst->wavefront();
18914 sdst.
setBit(lane, (!std::isnan(src0[lane])
18915 && !std::isnan(src1[lane])) ? 1 : 0);
18925 :
Inst_VOP3(iFmt,
"v_cmpx_u_f64", true)
18940 Wavefront *wf = gpuDynInst->wavefront();
18972 sdst.
setBit(lane, (std::isnan(src0[lane])
18973 || std::isnan(src1[lane])) ? 1 : 0);
18983 :
Inst_VOP3(iFmt,
"v_cmpx_nge_f64", true)
18997 Wavefront *wf = gpuDynInst->wavefront();
19029 sdst.
setBit(lane, !(src0[lane] >= src1[lane]) ? 1 : 0);
19039 :
Inst_VOP3(iFmt,
"v_cmpx_nlg_f64", true)
19053 Wavefront *wf = gpuDynInst->wavefront();
19085 sdst.
setBit(lane, !(src0[lane] < src1[lane]
19086 || src0[lane] > src1[lane]) ? 1 : 0);
19096 :
Inst_VOP3(iFmt,
"v_cmpx_ngt_f64", true)
19110 Wavefront *wf = gpuDynInst->wavefront();
19142 sdst.
setBit(lane, !(src0[lane] > src1[lane]) ? 1 : 0);
19152 :
Inst_VOP3(iFmt,
"v_cmpx_nle_f64", true)
19166 Wavefront *wf = gpuDynInst->wavefront();
19198 sdst.
setBit(lane, !(src0[lane] <= src1[lane]) ? 1 : 0);
19208 :
Inst_VOP3(iFmt,
"v_cmpx_neq_f64", true)
19222 Wavefront *wf = gpuDynInst->wavefront();
19254 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
19264 :
Inst_VOP3(iFmt,
"v_cmpx_nlt_f64", true)
19278 Wavefront *wf = gpuDynInst->wavefront();
19310 sdst.
setBit(lane, !(src0[lane] < src1[lane]) ? 1 : 0);
19320 :
Inst_VOP3(iFmt,
"v_cmpx_tru_f64", true)
19334 Wavefront *wf = gpuDynInst->wavefront();
19361 Wavefront *wf = gpuDynInst->wavefront();
19375 :
Inst_VOP3(iFmt,
"v_cmp_lt_i16", true)
19388 Wavefront *wf = gpuDynInst->wavefront();
19408 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
19417 :
Inst_VOP3(iFmt,
"v_cmp_eq_i16", true)
19430 Wavefront *wf = gpuDynInst->wavefront();
19450 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
19459 :
Inst_VOP3(iFmt,
"v_cmp_le_i16", true)
19472 Wavefront *wf = gpuDynInst->wavefront();
19492 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
19501 :
Inst_VOP3(iFmt,
"v_cmp_gt_i16", true)
19514 Wavefront *wf = gpuDynInst->wavefront();
19534 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
19543 :
Inst_VOP3(iFmt,
"v_cmp_ne_i16", true)
19556 Wavefront *wf = gpuDynInst->wavefront();
19576 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
19585 :
Inst_VOP3(iFmt,
"v_cmp_ge_i16", true)
19598 Wavefront *wf = gpuDynInst->wavefront();
19618 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
19639 Wavefront *wf = gpuDynInst->wavefront();
19665 Wavefront *wf = gpuDynInst->wavefront();
19679 :
Inst_VOP3(iFmt,
"v_cmp_lt_u16", true)
19692 Wavefront *wf = gpuDynInst->wavefront();
19712 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
19721 :
Inst_VOP3(iFmt,
"v_cmp_eq_u16", true)
19734 Wavefront *wf = gpuDynInst->wavefront();
19754 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
19763 :
Inst_VOP3(iFmt,
"v_cmp_le_u16", true)
19776 Wavefront *wf = gpuDynInst->wavefront();
19796 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
19805 :
Inst_VOP3(iFmt,
"v_cmp_gt_u16", true)
19818 Wavefront *wf = gpuDynInst->wavefront();
19838 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
19847 :
Inst_VOP3(iFmt,
"v_cmp_ne_u16", true)
19860 Wavefront *wf = gpuDynInst->wavefront();
19880 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
19889 :
Inst_VOP3(iFmt,
"v_cmp_ge_u16", true)
19902 Wavefront *wf = gpuDynInst->wavefront();
19922 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
19943 Wavefront *wf = gpuDynInst->wavefront();
19957 :
Inst_VOP3(iFmt,
"v_cmpx_f_i16", true)
19970 Wavefront *wf = gpuDynInst->wavefront();
19985 :
Inst_VOP3(iFmt,
"v_cmpx_lt_i16", true)
19998 Wavefront *wf = gpuDynInst->wavefront();
20018 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
20028 :
Inst_VOP3(iFmt,
"v_cmpx_eq_i16", true)
20041 Wavefront *wf = gpuDynInst->wavefront();
20061 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
20071 :
Inst_VOP3(iFmt,
"v_cmpx_le_i16", true)
20084 Wavefront *wf = gpuDynInst->wavefront();
20104 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
20114 :
Inst_VOP3(iFmt,
"v_cmpx_gt_i16", true)
20127 Wavefront *wf = gpuDynInst->wavefront();
20147 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
20157 :
Inst_VOP3(iFmt,
"v_cmpx_ne_i16", true)
20170 Wavefront *wf = gpuDynInst->wavefront();
20190 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
20200 :
Inst_VOP3(iFmt,
"v_cmpx_ge_i16", true)
20213 Wavefront *wf = gpuDynInst->wavefront();
20233 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
20243 :
Inst_VOP3(iFmt,
"v_cmpx_t_i16", true)
20256 Wavefront *wf = gpuDynInst->wavefront();
20271 :
Inst_VOP3(iFmt,
"v_cmpx_f_u16", true)
20284 Wavefront *wf = gpuDynInst->wavefront();
20299 :
Inst_VOP3(iFmt,
"v_cmpx_lt_u16", true)
20312 Wavefront *wf = gpuDynInst->wavefront();
20332 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
20342 :
Inst_VOP3(iFmt,
"v_cmpx_eq_u16", true)
20355 Wavefront *wf = gpuDynInst->wavefront();
20375 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
20385 :
Inst_VOP3(iFmt,
"v_cmpx_le_u16", true)
20398 Wavefront *wf = gpuDynInst->wavefront();
20418 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
20428 :
Inst_VOP3(iFmt,
"v_cmpx_gt_u16", true)
20441 Wavefront *wf = gpuDynInst->wavefront();
20461 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
20471 :
Inst_VOP3(iFmt,
"v_cmpx_ne_u16", true)
20484 Wavefront *wf = gpuDynInst->wavefront();
20504 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
20514 :
Inst_VOP3(iFmt,
"v_cmpx_ge_u16", true)
20527 Wavefront *wf = gpuDynInst->wavefront();
20547 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
20557 :
Inst_VOP3(iFmt,
"v_cmpx_t_u16", true)
20570 Wavefront *wf = gpuDynInst->wavefront();
20597 Wavefront *wf = gpuDynInst->wavefront();
20611 :
Inst_VOP3(iFmt,
"v_cmp_lt_i32", true)
20624 Wavefront *wf = gpuDynInst->wavefront();
20644 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
20653 :
Inst_VOP3(iFmt,
"v_cmp_eq_i32", true)
20666 Wavefront *wf = gpuDynInst->wavefront();
20686 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
20695 :
Inst_VOP3(iFmt,
"v_cmp_le_i32", true)
20708 Wavefront *wf = gpuDynInst->wavefront();
20728 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
20737 :
Inst_VOP3(iFmt,
"v_cmp_gt_i32", true)
20750 Wavefront *wf = gpuDynInst->wavefront();
20770 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
20779 :
Inst_VOP3(iFmt,
"v_cmp_ne_i32", true)
20792 Wavefront *wf = gpuDynInst->wavefront();
20812 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
20821 :
Inst_VOP3(iFmt,
"v_cmp_ge_i32", true)
20834 Wavefront *wf = gpuDynInst->wavefront();
20854 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
20875 Wavefront *wf = gpuDynInst->wavefront();
20901 Wavefront *wf = gpuDynInst->wavefront();
20915 :
Inst_VOP3(iFmt,
"v_cmp_lt_u32", true)
20928 Wavefront *wf = gpuDynInst->wavefront();
20948 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
20957 :
Inst_VOP3(iFmt,
"v_cmp_eq_u32", true)
20970 Wavefront *wf = gpuDynInst->wavefront();
20990 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
20999 :
Inst_VOP3(iFmt,
"v_cmp_le_u32", true)
21012 Wavefront *wf = gpuDynInst->wavefront();
21032 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
21041 :
Inst_VOP3(iFmt,
"v_cmp_gt_u32", true)
21054 Wavefront *wf = gpuDynInst->wavefront();
21074 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
21083 :
Inst_VOP3(iFmt,
"v_cmp_ne_u32", true)
21096 Wavefront *wf = gpuDynInst->wavefront();
21116 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
21125 :
Inst_VOP3(iFmt,
"v_cmp_ge_u32", true)
21138 Wavefront *wf = gpuDynInst->wavefront();
21158 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
21179 Wavefront *wf = gpuDynInst->wavefront();
21193 :
Inst_VOP3(iFmt,
"v_cmpx_f_i32", true)
21206 Wavefront *wf = gpuDynInst->wavefront();
21221 :
Inst_VOP3(iFmt,
"v_cmpx_lt_i32", true)
21234 Wavefront *wf = gpuDynInst->wavefront();
21254 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
21264 :
Inst_VOP3(iFmt,
"v_cmpx_eq_i32", true)
21277 Wavefront *wf = gpuDynInst->wavefront();
21297 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
21307 :
Inst_VOP3(iFmt,
"v_cmpx_le_i32", true)
21320 Wavefront *wf = gpuDynInst->wavefront();
21340 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
21350 :
Inst_VOP3(iFmt,
"v_cmpx_gt_i32", true)
21363 Wavefront *wf = gpuDynInst->wavefront();
21383 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
21393 :
Inst_VOP3(iFmt,
"v_cmpx_ne_i32", true)
21406 Wavefront *wf = gpuDynInst->wavefront();
21426 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
21436 :
Inst_VOP3(iFmt,
"v_cmpx_ge_i32", true)
21449 Wavefront *wf = gpuDynInst->wavefront();
21469 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
21479 :
Inst_VOP3(iFmt,
"v_cmpx_t_i32", true)
21492 Wavefront *wf = gpuDynInst->wavefront();
21507 :
Inst_VOP3(iFmt,
"v_cmpx_f_u32", true)
21520 Wavefront *wf = gpuDynInst->wavefront();
21535 :
Inst_VOP3(iFmt,
"v_cmpx_lt_u32", true)
21548 Wavefront *wf = gpuDynInst->wavefront();
21568 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
21578 :
Inst_VOP3(iFmt,
"v_cmpx_eq_u32", true)
21591 Wavefront *wf = gpuDynInst->wavefront();
21611 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
21621 :
Inst_VOP3(iFmt,
"v_cmpx_le_u32", true)
21634 Wavefront *wf = gpuDynInst->wavefront();
21654 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
21664 :
Inst_VOP3(iFmt,
"v_cmpx_gt_u32", true)
21677 Wavefront *wf = gpuDynInst->wavefront();
21697 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
21707 :
Inst_VOP3(iFmt,
"v_cmpx_ne_u32", true)
21720 Wavefront *wf = gpuDynInst->wavefront();
21740 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
21750 :
Inst_VOP3(iFmt,
"v_cmpx_ge_u32", true)
21763 Wavefront *wf = gpuDynInst->wavefront();
21783 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
21793 :
Inst_VOP3(iFmt,
"v_cmpx_t_u32", true)
21806 Wavefront *wf = gpuDynInst->wavefront();
21833 Wavefront *wf = gpuDynInst->wavefront();
21847 :
Inst_VOP3(iFmt,
"v_cmp_lt_i64", true)
21860 Wavefront *wf = gpuDynInst->wavefront();
21880 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
21889 :
Inst_VOP3(iFmt,
"v_cmp_eq_i64", true)
21902 Wavefront *wf = gpuDynInst->wavefront();
21922 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
21931 :
Inst_VOP3(iFmt,
"v_cmp_le_i64", true)
21944 Wavefront *wf = gpuDynInst->wavefront();
21964 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
21973 :
Inst_VOP3(iFmt,
"v_cmp_gt_i64", true)
21986 Wavefront *wf = gpuDynInst->wavefront();
22006 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
22015 :
Inst_VOP3(iFmt,
"v_cmp_ne_i64", true)
22028 Wavefront *wf = gpuDynInst->wavefront();
22048 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
22057 :
Inst_VOP3(iFmt,
"v_cmp_ge_i64", true)
22070 Wavefront *wf = gpuDynInst->wavefront();
22090 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
22111 Wavefront *wf = gpuDynInst->wavefront();
22137 Wavefront *wf = gpuDynInst->wavefront();
22151 :
Inst_VOP3(iFmt,
"v_cmp_lt_u64", true)
22164 Wavefront *wf = gpuDynInst->wavefront();
22184 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
22193 :
Inst_VOP3(iFmt,
"v_cmp_eq_u64", true)
22206 Wavefront *wf = gpuDynInst->wavefront();
22226 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
22235 :
Inst_VOP3(iFmt,
"v_cmp_le_u64", true)
22248 Wavefront *wf = gpuDynInst->wavefront();
22268 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
22277 :
Inst_VOP3(iFmt,
"v_cmp_gt_u64", true)
22290 Wavefront *wf = gpuDynInst->wavefront();
22310 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
22319 :
Inst_VOP3(iFmt,
"v_cmp_ne_u64", true)
22332 Wavefront *wf = gpuDynInst->wavefront();
22352 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
22361 :
Inst_VOP3(iFmt,
"v_cmp_ge_u64", true)
22374 Wavefront *wf = gpuDynInst->wavefront();
22394 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
22415 Wavefront *wf = gpuDynInst->wavefront();
22429 :
Inst_VOP3(iFmt,
"v_cmpx_f_i64", true)
22442 Wavefront *wf = gpuDynInst->wavefront();
22457 :
Inst_VOP3(iFmt,
"v_cmpx_lt_i64", true)
22470 Wavefront *wf = gpuDynInst->wavefront();
22490 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
22500 :
Inst_VOP3(iFmt,
"v_cmpx_eq_i64", true)
22513 Wavefront *wf = gpuDynInst->wavefront();
22533 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
22543 :
Inst_VOP3(iFmt,
"v_cmpx_le_i64", true)
22556 Wavefront *wf = gpuDynInst->wavefront();
22576 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
22586 :
Inst_VOP3(iFmt,
"v_cmpx_gt_i64", true)
22599 Wavefront *wf = gpuDynInst->wavefront();
22619 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
22629 :
Inst_VOP3(iFmt,
"v_cmpx_ne_i64", true)
22642 Wavefront *wf = gpuDynInst->wavefront();
22662 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
22672 :
Inst_VOP3(iFmt,
"v_cmpx_ge_i64", true)
22685 Wavefront *wf = gpuDynInst->wavefront();
22705 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
22715 :
Inst_VOP3(iFmt,
"v_cmpx_t_i64", true)
22728 Wavefront *wf = gpuDynInst->wavefront();
22743 :
Inst_VOP3(iFmt,
"v_cmpx_f_u64", true)
22756 Wavefront *wf = gpuDynInst->wavefront();
22771 :
Inst_VOP3(iFmt,
"v_cmpx_lt_u64", true)
22784 Wavefront *wf = gpuDynInst->wavefront();
22804 sdst.
setBit(lane, src0[lane] < src1[lane] ? 1 : 0);
22814 :
Inst_VOP3(iFmt,
"v_cmpx_eq_u64", true)
22827 Wavefront *wf = gpuDynInst->wavefront();
22847 sdst.
setBit(lane, src0[lane] == src1[lane] ? 1 : 0);
22857 :
Inst_VOP3(iFmt,
"v_cmpx_le_u64", true)
22870 Wavefront *wf = gpuDynInst->wavefront();
22890 sdst.
setBit(lane, src0[lane] <= src1[lane] ? 1 : 0);
22900 :
Inst_VOP3(iFmt,
"v_cmpx_gt_u64", true)
22913 Wavefront *wf = gpuDynInst->wavefront();
22933 sdst.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
22943 :
Inst_VOP3(iFmt,
"v_cmpx_ne_u64", true)
22956 Wavefront *wf = gpuDynInst->wavefront();
22976 sdst.
setBit(lane, src0[lane] != src1[lane] ? 1 : 0);
22986 :
Inst_VOP3(iFmt,
"v_cmpx_ge_u64", true)
22999 Wavefront *wf = gpuDynInst->wavefront();
23019 sdst.
setBit(lane, src0[lane] >= src1[lane] ? 1 : 0);
23029 :
Inst_VOP3(iFmt,
"v_cmpx_t_u64", true)
23042 Wavefront *wf = gpuDynInst->wavefront();
23066 :
Inst_VOP3(iFmt,
"v_cndmask_b32", false)
23081 Wavefront *wf = gpuDynInst->wavefront();
23104 ? src1[lane] : src0[lane];
23126 Wavefront *wf = gpuDynInst->wavefront();
23158 vdst[lane] = src0[lane] + src1[lane];
23180 Wavefront *wf = gpuDynInst->wavefront();
23212 vdst[lane] = src0[lane] - src1[lane];
23220 :
Inst_VOP3(iFmt,
"v_subrev_f32", false)
23234 Wavefront *wf = gpuDynInst->wavefront();
23266 vdst[lane] = src1[lane] - src0[lane];
23274 :
Inst_VOP3(iFmt,
"v_mul_legacy_f32", false)
23288 Wavefront *wf = gpuDynInst->wavefront();
23320 if (std::isnan(src0[lane]) ||
23321 std::isnan(src1[lane])) {
23323 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
23324 std::fpclassify(src0[lane]) == FP_ZERO) &&
23325 !std::signbit(src0[lane])) {
23326 if (std::isinf(src1[lane])) {
23328 }
else if (!std::signbit(src1[lane])) {
23333 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
23334 std::fpclassify(src0[lane]) == FP_ZERO) &&
23335 std::signbit(src0[lane])) {
23336 if (std::isinf(src1[lane])) {
23338 }
else if (std::signbit(src1[lane])) {
23343 }
else if (std::isinf(src0[lane]) &&
23344 !std::signbit(src0[lane])) {
23345 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
23346 std::fpclassify(src1[lane]) == FP_ZERO) {
23348 }
else if (!std::signbit(src1[lane])) {
23349 vdst[lane] = +INFINITY;
23351 vdst[lane] = -INFINITY;
23353 }
else if (std::isinf(src0[lane]) &&
23354 std::signbit(src0[lane])) {
23355 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
23356 std::fpclassify(src1[lane]) == FP_ZERO) {
23358 }
else if (std::signbit(src1[lane])) {
23359 vdst[lane] = +INFINITY;
23361 vdst[lane] = -INFINITY;
23364 vdst[lane] = src0[lane] * src1[lane];
23387 Wavefront *wf = gpuDynInst->wavefront();
23419 if (std::isnan(src0[lane]) ||
23420 std::isnan(src1[lane])) {
23422 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
23423 std::fpclassify(src0[lane]) == FP_ZERO) &&
23424 !std::signbit(src0[lane])) {
23425 if (std::isinf(src1[lane])) {
23427 }
else if (!std::signbit(src1[lane])) {
23432 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
23433 std::fpclassify(src0[lane]) == FP_ZERO) &&
23434 std::signbit(src0[lane])) {
23435 if (std::isinf(src1[lane])) {
23437 }
else if (std::signbit(src1[lane])) {
23442 }
else if (std::isinf(src0[lane]) &&
23443 !std::signbit(src0[lane])) {
23444 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
23445 std::fpclassify(src1[lane]) == FP_ZERO) {
23447 }
else if (!std::signbit(src1[lane])) {
23448 vdst[lane] = +INFINITY;
23450 vdst[lane] = -INFINITY;
23452 }
else if (std::isinf(src0[lane]) &&
23453 std::signbit(src0[lane])) {
23454 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
23455 std::fpclassify(src1[lane]) == FP_ZERO) {
23457 }
else if (std::signbit(src1[lane])) {
23458 vdst[lane] = +INFINITY;
23460 vdst[lane] = -INFINITY;
23463 vdst[lane] = src0[lane] * src1[lane];
23472 :
Inst_VOP3(iFmt,
"v_mul_i32_i24", false)
23485 Wavefront *wf = gpuDynInst->wavefront();
23505 vdst[lane] = szext<24>(src0[lane]) * szext<24>(src1[lane]);
23513 :
Inst_VOP3(iFmt,
"v_mul_hi_i32_i24", false)
23526 Wavefront *wf = gpuDynInst->wavefront();
23549 vdst[lane] = (
VecElemI32)((tmp_src0 * tmp_src1) >> 32);
23557 :
Inst_VOP3(iFmt,
"v_mul_u32_u24", false)
23570 Wavefront *wf = gpuDynInst->wavefront();
23590 vdst[lane] =
bits(src0[lane], 23, 0) *
bits(src1[lane], 23, 0);
23598 :
Inst_VOP3(iFmt,
"v_mul_hi_u32_u24", false)
23611 Wavefront *wf = gpuDynInst->wavefront();
23633 vdst[lane] = (
VecElemU32)((tmp_src0 * tmp_src1) >> 32);
23655 Wavefront *wf = gpuDynInst->wavefront();
23687 vdst[lane] = std::fmin(src0[lane], src1[lane]);
23709 Wavefront *wf = gpuDynInst->wavefront();
23741 vdst[lane] = std::fmax(src0[lane], src1[lane]);
23762 Wavefront *wf = gpuDynInst->wavefront();
23782 vdst[lane] = std::min(src0[lane], src1[lane]);
23803 Wavefront *wf = gpuDynInst->wavefront();
23823 vdst[lane] = std::max(src0[lane], src1[lane]);
23844 Wavefront *wf = gpuDynInst->wavefront();
23864 vdst[lane] = std::min(src0[lane], src1[lane]);
23885 Wavefront *wf = gpuDynInst->wavefront();
23905 vdst[lane] = std::max(src0[lane], src1[lane]);
23913 :
Inst_VOP3(iFmt,
"v_lshrrev_b32", false)
23927 Wavefront *wf = gpuDynInst->wavefront();
23947 vdst[lane] = src1[lane] >>
bits(src0[lane], 4, 0);
23955 :
Inst_VOP3(iFmt,
"v_ashrrev_i32", false)
23969 Wavefront *wf = gpuDynInst->wavefront();
23989 vdst[lane] = src1[lane] >>
bits(src0[lane], 4, 0);
23997 :
Inst_VOP3(iFmt,
"v_lshlrev_b32", false)
24010 Wavefront *wf = gpuDynInst->wavefront();
24030 vdst[lane] = src1[lane] <<
bits(src0[lane], 4, 0);
24052 Wavefront *wf = gpuDynInst->wavefront();
24072 vdst[lane] = src0[lane] & src1[lane];
24094 Wavefront *wf = gpuDynInst->wavefront();
24114 vdst[lane] = src0[lane] | src1[lane];
24136 Wavefront *wf = gpuDynInst->wavefront();
24156 vdst[lane] = src0[lane] ^ src1[lane];
24179 Wavefront *wf = gpuDynInst->wavefront();
24212 vdst[lane] = std::fma(src0[lane], src1[lane], vdst[lane]);
24237 Wavefront *wf = gpuDynInst->wavefront();
24255 vdst[lane] = src0[lane] + src1[lane];
24257 + (
VecElemU64)src1[lane]) >= 0x100000000ULL ? 1 : 0);
24283 Wavefront *wf = gpuDynInst->wavefront();
24301 vdst[lane] = src0[lane] - src1[lane];
24302 vcc.
setBit(lane, src1[lane] > src0[lane] ? 1 : 0);
24329 Wavefront *wf = gpuDynInst->wavefront();
24347 vdst[lane] = src1[lane] - src0[lane];
24348 vcc.
setBit(lane, src0[lane] > src1[lane] ? 1 : 0);
24376 Wavefront *wf = gpuDynInst->wavefront();
24396 vdst[lane] = src0[lane] + src1[lane]
24401 >= 0x100000000 ? 1 : 0);
24429 Wavefront *wf = gpuDynInst->wavefront();
24449 vdst[lane] = src0[lane] - src1[lane]
24452 > src0[lane] ? 1 : 0);
24481 Wavefront *wf = gpuDynInst->wavefront();
24501 vdst[lane] = src1[lane] - src0[lane]
24504 > src0[lane] ? 1 : 0);
24549 :
Inst_VOP3(iFmt,
"v_subrev_f16", false)
24617 Wavefront *wf = gpuDynInst->wavefront();
24637 vdst[lane] = src0[lane] + src1[lane];
24658 Wavefront *wf = gpuDynInst->wavefront();
24678 vdst[lane] = src0[lane] - src1[lane];
24686 :
Inst_VOP3(iFmt,
"v_subrev_u16", false)
24699 Wavefront *wf = gpuDynInst->wavefront();
24719 vdst[lane] = src1[lane] - src0[lane];
24727 :
Inst_VOP3(iFmt,
"v_mul_lo_u16", false)
24740 Wavefront *wf = gpuDynInst->wavefront();
24760 vdst[lane] = src0[lane] * src1[lane];
24768 :
Inst_VOP3(iFmt,
"v_lshlrev_b16", false)
24781 Wavefront *wf = gpuDynInst->wavefront();
24801 vdst[lane] = src1[lane] <<
bits(src0[lane], 3, 0);
24809 :
Inst_VOP3(iFmt,
"v_lshrrev_b16", false)
24823 Wavefront *wf = gpuDynInst->wavefront();
24849 vdst[lane] = src1[lane] >>
bits(src0[lane], 3, 0);
24857 :
Inst_VOP3(iFmt,
"v_ashrrev_i16", false)
24871 Wavefront *wf = gpuDynInst->wavefront();
24891 vdst[lane] = src1[lane] >>
bits(src0[lane], 3, 0);
24948 Wavefront *wf = gpuDynInst->wavefront();
24974 vdst[lane] = std::max(src0[lane], src1[lane]);
24995 Wavefront *wf = gpuDynInst->wavefront();
25021 vdst[lane] = std::max(src0[lane], src1[lane]);
25042 Wavefront *wf = gpuDynInst->wavefront();
25068 vdst[lane] = std::min(src0[lane], src1[lane]);
25089 Wavefront *wf = gpuDynInst->wavefront();
25115 vdst[lane] = std::min(src0[lane], src1[lane]);
25123 :
Inst_VOP3(iFmt,
"v_ldexp_f16", false)
25172 Wavefront *wf = gpuDynInst->wavefront();
25180 vdst[lane] = src[lane];
25188 :
Inst_VOP3(iFmt,
"v_cvt_i32_f64", false)
25204 Wavefront *wf = gpuDynInst->wavefront();
25221 std::frexp(src[lane],&exp);
25222 if (std::isnan(src[lane])) {
25224 }
else if (std::isinf(src[lane]) || exp > 30) {
25225 if (std::signbit(src[lane])) {
25226 vdst[lane] = INT_MIN;
25228 vdst[lane] = INT_MAX;
25240 :
Inst_VOP3(iFmt,
"v_cvt_f64_i32", false)
25254 Wavefront *wf = gpuDynInst->wavefront();
25278 :
Inst_VOP3(iFmt,
"v_cvt_f32_i32", false)
25292 Wavefront *wf = gpuDynInst->wavefront();
25318 :
Inst_VOP3(iFmt,
"v_cvt_f32_u32", false)
25332 Wavefront *wf = gpuDynInst->wavefront();
25356 :
Inst_VOP3(iFmt,
"v_cvt_u32_f32", false)
25372 Wavefront *wf = gpuDynInst->wavefront();
25389 std::frexp(src[lane],&exp);
25390 if (std::isnan(src[lane])) {
25392 }
else if (std::isinf(src[lane])) {
25393 if (std::signbit(src[lane])) {
25396 vdst[lane] = UINT_MAX;
25398 }
else if (exp > 31) {
25399 vdst[lane] = UINT_MAX;
25410 :
Inst_VOP3(iFmt,
"v_cvt_i32_f32", false)
25426 Wavefront *wf = gpuDynInst->wavefront();
25451 std::frexp(src[lane],&exp);
25452 if (std::isnan(src[lane])) {
25454 }
else if (std::isinf(src[lane]) || exp > 30) {
25455 if (std::signbit(src[lane])) {
25456 vdst[lane] = INT_MIN;
25458 vdst[lane] = INT_MAX;
25470 :
Inst_VOP3(iFmt,
"v_mov_fed_b32", false)
25488 :
Inst_VOP3(iFmt,
"v_cvt_f16_f32", false)
25506 :
Inst_VOP3(iFmt,
"v_cvt_f32_f16", false)
25525 :
Inst_VOP3(iFmt,
"v_cvt_rpi_i32_f32", false)
25539 Wavefront *wf = gpuDynInst->wavefront();
25555 vdst[lane] = (
VecElemI32)std::floor(src[lane] + 0.5);
25564 :
Inst_VOP3(iFmt,
"v_cvt_flr_i32_f32", false)
25578 Wavefront *wf = gpuDynInst->wavefront();
25594 vdst[lane] = (
VecElemI32)std::floor(src[lane]);
25602 :
Inst_VOP3(iFmt,
"v_cvt_off_f32_i4", false)
25620 :
Inst_VOP3(iFmt,
"v_cvt_f32_f64", false)
25634 Wavefront *wf = gpuDynInst->wavefront();
25666 :
Inst_VOP3(iFmt,
"v_cvt_f64_f32", false)
25680 Wavefront *wf = gpuDynInst->wavefront();
25712 :
Inst_VOP3(iFmt,
"v_cvt_f32_ubyte0", false)
25726 Wavefront *wf = gpuDynInst->wavefront();
25750 :
Inst_VOP3(iFmt,
"v_cvt_f32_ubyte1", false)
25764 Wavefront *wf = gpuDynInst->wavefront();
25788 :
Inst_VOP3(iFmt,
"v_cvt_f32_ubyte2", false)
25802 Wavefront *wf = gpuDynInst->wavefront();
25826 :
Inst_VOP3(iFmt,
"v_cvt_f32_ubyte3", false)
25840 Wavefront *wf = gpuDynInst->wavefront();
25864 :
Inst_VOP3(iFmt,
"v_cvt_u32_f64", false)
25880 Wavefront *wf = gpuDynInst->wavefront();
25897 std::frexp(src[lane],&exp);
25898 if (std::isnan(src[lane])) {
25900 }
else if (std::isinf(src[lane])) {
25901 if (std::signbit(src[lane])) {
25904 vdst[lane] = UINT_MAX;
25906 }
else if (exp > 31) {
25907 vdst[lane] = UINT_MAX;
25918 :
Inst_VOP3(iFmt,
"v_cvt_f64_u32", false)
25932 Wavefront *wf = gpuDynInst->wavefront();
25956 :
Inst_VOP3(iFmt,
"v_trunc_f64", false)
25970 Wavefront *wf = gpuDynInst->wavefront();
25986 vdst[lane] = std::trunc(src[lane]);
26008 Wavefront *wf = gpuDynInst->wavefront();
26024 vdst[lane] = std::ceil(src[lane]);
26032 :
Inst_VOP3(iFmt,
"v_rndne_f64", false)
26046 Wavefront *wf = gpuDynInst->wavefront();
26070 :
Inst_VOP3(iFmt,
"v_floor_f64", false)
26084 Wavefront *wf = gpuDynInst->wavefront();
26100 vdst[lane] = std::floor(src[lane]);
26108 :
Inst_VOP3(iFmt,
"v_fract_f32", false)
26122 Wavefront *wf = gpuDynInst->wavefront();
26139 vdst[lane] = std::modf(src[lane], &int_part);
26147 :
Inst_VOP3(iFmt,
"v_trunc_f32", false)
26161 Wavefront *wf = gpuDynInst->wavefront();
26177 vdst[lane] = std::trunc(src[lane]);
26199 Wavefront *wf = gpuDynInst->wavefront();
26215 vdst[lane] = std::ceil(src[lane]);
26223 :
Inst_VOP3(iFmt,
"v_rndne_f32", false)
26237 Wavefront *wf = gpuDynInst->wavefront();
26261 :
Inst_VOP3(iFmt,
"v_floor_f32", false)
26275 Wavefront *wf = gpuDynInst->wavefront();
26291 vdst[lane] = std::floor(src[lane]);
26313 Wavefront *wf = gpuDynInst->wavefront();
26329 vdst[lane] = std::pow(2.0, src[lane]);
26351 Wavefront *wf = gpuDynInst->wavefront();
26375 vdst[lane] = std::log2(src[lane]);
26397 Wavefront *wf = gpuDynInst->wavefront();
26413 vdst[lane] = 1.0 / src[lane];
26421 :
Inst_VOP3(iFmt,
"v_rcp_iflag_f32", false)
26435 Wavefront *wf = gpuDynInst->wavefront();
26451 vdst[lane] = 1.0 / src[lane];
26473 Wavefront *wf = gpuDynInst->wavefront();
26489 vdst[lane] = 1.0 / std::sqrt(src[lane]);
26511 Wavefront *wf = gpuDynInst->wavefront();
26527 if (std::fpclassify(src[lane]) == FP_ZERO) {
26528 vdst[lane] = +INFINITY;
26529 }
else if (std::isnan(src[lane])) {
26531 }
else if (std::isinf(src[lane])) {
26532 if (std::signbit(src[lane])) {
26538 vdst[lane] = 1.0 / src[lane];
26561 Wavefront *wf = gpuDynInst->wavefront();
26577 if (std::fpclassify(src[lane]) == FP_ZERO) {
26578 vdst[lane] = +INFINITY;
26579 }
else if (std::isnan(src[lane])) {
26581 }
else if (std::isinf(src[lane]) && !std::signbit(src[lane])) {
26583 }
else if (std::signbit(src[lane])) {
26586 vdst[lane] = 1.0 / std::sqrt(src[lane]);
26609 Wavefront *wf = gpuDynInst->wavefront();
26625 vdst[lane] = std::sqrt(src[lane]);
26647 Wavefront *wf = gpuDynInst->wavefront();
26663 vdst[lane] = std::sqrt(src[lane]);
26685 Wavefront *wf = gpuDynInst->wavefront();
26703 vdst[lane] = std::sin(src[lane] * 2 * pi.
rawData());
26725 Wavefront *wf = gpuDynInst->wavefront();
26743 vdst[lane] = std::cos(src[lane] * 2 * pi.
rawData());
26765 Wavefront *wf = gpuDynInst->wavefront();
26773 vdst[lane] = ~src[lane];
26781 :
Inst_VOP3(iFmt,
"v_bfrev_b32", false)
26795 Wavefront *wf = gpuDynInst->wavefront();
26825 Wavefront *wf = gpuDynInst->wavefront();
26863 Wavefront *wf = gpuDynInst->wavefront();
26901 Wavefront *wf = gpuDynInst->wavefront();
26926 :
Inst_VOP3(iFmt,
"v_frexp_exp_i32_f64", false)
26940 Wavefront *wf = gpuDynInst->wavefront();
26956 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
26960 std::frexp(src[lane], &exp);
26970 :
Inst_VOP3(iFmt,
"v_frexp_mant_f64", false)
26983 Wavefront *wf = gpuDynInst->wavefront();
27000 vdst[lane] = std::frexp(src[lane], &exp);
27008 :
Inst_VOP3(iFmt,
"v_fract_f64", false)
27021 Wavefront *wf = gpuDynInst->wavefront();
27038 vdst[lane] = std::modf(src[lane], &int_part);
27047 :
Inst_VOP3(iFmt,
"v_frexp_exp_i32_f32", false)
27063 Wavefront *wf = gpuDynInst->wavefront();
27079 if (std::isinf(src[lane])|| std::isnan(src[lane])) {
27083 std::frexp(src[lane], &exp);
27093 :
Inst_VOP3(iFmt,
"v_frexp_mant_f32", false)
27108 Wavefront *wf = gpuDynInst->wavefront();
27124 if (std::isinf(src[lane]) || std::isnan(src[lane])) {
27125 vdst[lane] = src[lane];
27128 vdst[lane] = std::frexp(src[lane], &exp);
27152 :
Inst_VOP3(iFmt,
"v_cvt_f16_u16", false)
27170 :
Inst_VOP3(iFmt,
"v_cvt_f16_i16", false)
27188 :
Inst_VOP3(iFmt,
"v_cvt_u16_f16", false)
27206 :
Inst_VOP3(iFmt,
"v_cvt_i16_f16", false)
27329 :
Inst_VOP3(iFmt,
"v_frexp_mant_f16", false)
27351 :
Inst_VOP3(iFmt,
"v_frexp_exp_i16_f16", false)
27368 :
Inst_VOP3(iFmt,
"v_floor_f16", false)
27404 :
Inst_VOP3(iFmt,
"v_trunc_f16", false)
27422 :
Inst_VOP3(iFmt,
"v_rndne_f16", false)
27440 :
Inst_VOP3(iFmt,
"v_fract_f16", false)
27494 :
Inst_VOP3(iFmt,
"v_exp_legacy_f32", false)
27508 Wavefront *wf = gpuDynInst->wavefront();
27532 vdst[lane] = std::pow(2.0, src[lane]);
27540 :
Inst_VOP3(iFmt,
"v_log_legacy_f32", false)
27554 Wavefront *wf = gpuDynInst->wavefront();
27562 vdst[lane] = std::log2(src[lane]);
27570 :
Inst_VOP3(iFmt,
"v_mad_legacy_f32", false)
27585 Wavefront *wf = gpuDynInst->wavefront();
27621 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
27644 Wavefront *wf = gpuDynInst->wavefront();
27680 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
27688 :
Inst_VOP3(iFmt,
"v_mad_i32_i24", false)
27702 Wavefront *wf = gpuDynInst->wavefront();
27724 vdst[lane] = szext<24>(src0[lane])
27725 * szext<24>(src1[lane]) + src2[lane];
27733 :
Inst_VOP3(iFmt,
"v_mad_u32_u24", false)
27747 Wavefront *wf = gpuDynInst->wavefront();
27769 vdst[lane] =
bits(src0[lane], 23, 0) *
bits(src1[lane], 23, 0)
27778 :
Inst_VOP3(iFmt,
"v_cubeid_f32", false)
27795 :
Inst_VOP3(iFmt,
"v_cubesc_f32", false)
27812 :
Inst_VOP3(iFmt,
"v_cubetc_f32", false)
27829 :
Inst_VOP3(iFmt,
"v_cubema_f32", false)
27860 Wavefront *wf = gpuDynInst->wavefront();
27882 vdst[lane] = (src0[lane] >>
bits(src1[lane], 4, 0))
27883 & ((1 <<
bits(src2[lane], 4, 0)) - 1);
27905 Wavefront *wf = gpuDynInst->wavefront();
27927 vdst[lane] = (src0[lane] >>
bits(src1[lane], 4, 0))
27928 & ((1 <<
bits(src2[lane], 4, 0)) - 1);
27949 Wavefront *wf = gpuDynInst->wavefront();
27971 vdst[lane] = (src0[lane] & src1[lane]) | (~src0[lane]
27995 Wavefront *wf = gpuDynInst->wavefront();
28031 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
28054 Wavefront *wf = gpuDynInst->wavefront();
28090 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
28114 Wavefront *wf = gpuDynInst->wavefront();
28136 vdst[lane] = ((
bits(src0[lane], 31, 24)
28137 +
bits(src1[lane], 31, 24) +
bits(src2[lane], 24)) >> 1)
28139 vdst[lane] += ((
bits(src0[lane], 23, 16)
28140 +
bits(src1[lane], 23, 16) +
bits(src2[lane], 16)) >> 1)
28142 vdst[lane] += ((
bits(src0[lane], 15, 8)
28143 +
bits(src1[lane], 15, 8) +
bits(src2[lane], 8)) >> 1)
28145 vdst[lane] += ((
bits(src0[lane], 7, 0) +
bits(src1[lane], 7, 0)
28146 +
bits(src2[lane], 0)) >> 1);
28154 :
Inst_VOP3(iFmt,
"v_alignbit_b32", false)
28167 Wavefront *wf = gpuDynInst->wavefront();
28200 :
Inst_VOP3(iFmt,
"v_alignbyte_b32", false)
28213 Wavefront *wf = gpuDynInst->wavefront();
28261 Wavefront *wf = gpuDynInst->wavefront();
28297 VecElemF32 min_0_1 = std::fmin(src0[lane], src1[lane]);
28298 vdst[lane] = std::fmin(min_0_1, src2[lane]);
28319 Wavefront *wf = gpuDynInst->wavefront();
28341 VecElemI32 min_0_1 = std::min(src0[lane], src1[lane]);
28342 vdst[lane] = std::min(min_0_1, src2[lane]);
28363 Wavefront *wf = gpuDynInst->wavefront();
28385 VecElemU32 min_0_1 = std::min(src0[lane], src1[lane]);
28386 vdst[lane] = std::min(min_0_1, src2[lane]);
28408 Wavefront *wf = gpuDynInst->wavefront();
28444 VecElemF32 max_0_1 = std::fmax(src0[lane], src1[lane]);
28445 vdst[lane] = std::fmax(max_0_1, src2[lane]);
28466 Wavefront *wf = gpuDynInst->wavefront();
28488 VecElemI32 max_0_1 = std::max(src0[lane], src1[lane]);
28489 vdst[lane] = std::max(max_0_1, src2[lane]);
28510 Wavefront *wf = gpuDynInst->wavefront();
28532 VecElemU32 max_0_1 = std::max(src0[lane], src1[lane]);
28533 vdst[lane] = std::max(max_0_1, src2[lane]);
28555 Wavefront *wf = gpuDynInst->wavefront();
28591 vdst[lane] =
median(src0[lane], src1[lane], src2[lane]);
28612 Wavefront *wf = gpuDynInst->wavefront();
28634 vdst[lane] =
median(src0[lane], src1[lane], src2[lane]);
28655 Wavefront *wf = gpuDynInst->wavefront();
28677 vdst[lane] =
median(src0[lane], src1[lane], src2[lane]);
28701 Wavefront *wf = gpuDynInst->wavefront();
28723 vdst[lane] = std::abs(
bits(src0[lane], 31, 24)
28724 -
bits(src1[lane], 31, 24))
28725 + std::abs(
bits(src0[lane], 23, 16)
28726 -
bits(src1[lane], 23, 16))
28727 + std::abs(
bits(src0[lane], 15, 8)
28728 -
bits(src1[lane], 15, 8))
28729 + std::abs(
bits(src0[lane], 7, 0)
28730 -
bits(src1[lane], 7, 0)) + src2[lane];
28738 :
Inst_VOP3(iFmt,
"v_sad_hi_u8", false)
28752 Wavefront *wf = gpuDynInst->wavefront();
28774 vdst[lane] = (((
bits(src0[lane], 31, 24)
28775 -
bits(src1[lane], 31, 24)) + (
bits(src0[lane], 23, 16)
28776 -
bits(src1[lane], 23, 16)) + (
bits(src0[lane], 15, 8)
28777 -
bits(src1[lane], 15, 8)) + (
bits(src0[lane], 7, 0)
28778 -
bits(src1[lane], 7, 0))) << 16) + src2[lane];
28801 Wavefront *wf = gpuDynInst->wavefront();
28823 vdst[lane] = std::abs(
bits(src0[lane], 31, 16)
28824 -
bits(src1[lane], 31, 16))
28825 + std::abs(
bits(src0[lane], 15, 0)
28826 -
bits(src1[lane], 15, 0)) + src2[lane];
28848 Wavefront *wf = gpuDynInst->wavefront();
28870 vdst[lane] = std::abs(src0[lane] - src1[lane]) + src2[lane];
28878 :
Inst_VOP3(iFmt,
"v_cvt_pk_u8_f32", false)
28895 Wavefront *wf = gpuDynInst->wavefront();
28924 vdst[lane] = (((
VecElemU8)src0[lane] & 0xff)
28925 << (8 *
bits(src1[lane], 1, 0)))
28926 | (src2[lane] & ~(0xff << (8 *
bits(src1[lane], 1, 0))));
28934 :
Inst_VOP3(iFmt,
"v_div_fixup_f32", false)
28949 Wavefront *wf = gpuDynInst->wavefront();
28985 if (std::fpclassify(src1[lane]) == FP_ZERO) {
28986 if (std::signbit(src1[lane])) {
28987 vdst[lane] = -INFINITY;
28989 vdst[lane] = +INFINITY;
28991 }
else if (std::isnan(src2[lane]) || std::isnan(src1[lane])) {
28993 }
else if (std::isinf(src1[lane])) {
28994 if (std::signbit(src1[lane])) {
28995 vdst[lane] = -INFINITY;
28997 vdst[lane] = +INFINITY;
29000 vdst[lane] = src2[lane] / src1[lane];
29010 :
Inst_VOP3(iFmt,
"v_div_fixup_f64", false)
29025 Wavefront *wf = gpuDynInst->wavefront();
29061 int sign_out = std::signbit(src1[lane])
29062 ^ std::signbit(src2[lane]);
29065 std::frexp(src1[lane], &exp1);
29066 std::frexp(src2[lane], &exp2);
29068 if (std::isnan(src1[lane]) || std::isnan(src2[lane])) {
29069 vdst[lane] = std::numeric_limits<VecElemF64>::quiet_NaN();
29070 }
else if (std::fpclassify(src1[lane]) == FP_ZERO
29071 && std::fpclassify(src2[lane]) == FP_ZERO) {
29073 = std::numeric_limits<VecElemF64>::signaling_NaN();
29074 }
else if (std::isinf(src1[lane]) && std::isinf(src2[lane])) {
29076 = std::numeric_limits<VecElemF64>::signaling_NaN();
29077 }
else if (std::fpclassify(src1[lane]) == FP_ZERO
29078 || std::isinf(src2[lane])) {
29079 vdst[lane] = sign_out ? -INFINITY : +INFINITY;
29080 }
else if (std::isinf(src1[lane])
29081 || std::fpclassify(src2[lane]) == FP_ZERO) {
29082 vdst[lane] = sign_out ? -0.0 : +0.0;
29083 }
else if (exp2 - exp1 < -1075) {
29084 vdst[lane] = src0[lane];
29085 }
else if (exp1 == 2047) {
29086 vdst[lane] = src0[lane];
29088 vdst[lane] = sign_out ? -std::fabs(src0[lane])
29089 : std::fabs(src0[lane]);
29118 Wavefront *wf = gpuDynInst->wavefront();
29143 vdst[lane] = src0[lane];
29174 Wavefront *wf = gpuDynInst->wavefront();
29201 std::frexp(src1[lane], &exp1);
29202 std::frexp(src2[lane], &exp2);
29205 if (std::fpclassify(src1[lane]) == FP_ZERO
29206 || std::fpclassify(src2[lane]) == FP_ZERO) {
29208 }
else if (exp2 - exp1 >= 768) {
29210 if (src0[lane] == src1[lane]) {
29211 vdst[lane] = std::ldexp(src0[lane], 128);
29213 }
else if (std::fpclassify(src1[lane]) == FP_SUBNORMAL) {
29214 vdst[lane] = std::ldexp(src0[lane], 128);
29215 }
else if (std::fpclassify(1.0 / src1[lane]) == FP_SUBNORMAL
29216 && std::fpclassify(src2[lane] / src1[lane])
29219 if (src0[lane] == src1[lane]) {
29220 vdst[lane] = std::ldexp(src0[lane], 128);
29222 }
else if (std::fpclassify(1.0 / src1[lane]) == FP_SUBNORMAL) {
29223 vdst[lane] = std::ldexp(src0[lane], -128);
29224 }
else if (std::fpclassify(src2[lane] / src1[lane])
29227 if (src0[lane] == src2[lane]) {
29228 vdst[lane] = std::ldexp(src0[lane], 128);
29230 }
else if (exp2 <= 53) {
29231 vdst[lane] = std::ldexp(src0[lane], 128);
29241 :
Inst_VOP3(iFmt,
"v_div_fmas_f32", false)
29258 Wavefront *wf = gpuDynInst->wavefront();
29294 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
29303 :
Inst_VOP3(iFmt,
"v_div_fmas_f64", false)
29320 Wavefront *wf = gpuDynInst->wavefront();
29359 vdst[lane] = std::pow(2, 64)
29360 * std::fma(src0[lane], src1[lane], src2[lane]);
29362 vdst[lane] = std::fma(src0[lane], src1[lane], src2[lane]);
29388 :
Inst_VOP3(iFmt,
"v_qsad_pk_u16_u8", false)
29407 :
Inst_VOP3(iFmt,
"v_mqsad_pk_u16_u8", false)
29425 :
Inst_VOP3(iFmt,
"v_mqsad_u32_u8", false)
29459 Wavefront *wf = gpuDynInst->wavefront();
29480 vcc.
setBit(lane,
muladd(vdst[lane], src0[lane], src1[lane],
29506 Wavefront *wf = gpuDynInst->wavefront();
29526 vcc.
setBit(lane,
muladd(vdst[lane], src0[lane], src1[lane],
29571 Wavefront *wf = gpuDynInst->wavefront();
29593 vdst[lane] = src0[lane] * src1[lane] + src2[lane];
29616 Wavefront *wf = gpuDynInst->wavefront();
29638 vdst[lane] = src0[lane] * src1[lane] + src2[lane];
29671 Wavefront *wf = gpuDynInst->wavefront();
29687 DPRINTF(GCN3,
"Executing v_perm_b32 src_0 0x%08x, src_1 "
29688 "0x%08x, src_2 0x%08x, vdst 0x%08x\n", src0[lane],
29689 src1[lane], src2[lane], vdst[lane]);
29692 for (
int i = 0;
i < 4 ; ++
i) {
29695 vdst[lane] |= (permuted_val <<
i);
29698 DPRINTF(GCN3,
"v_perm result: 0x%08x\n", vdst[lane]);
29726 :
Inst_VOP3(iFmt,
"v_div_fixup_f16", false)
29773 :
Inst_VOP3(iFmt,
"v_cvt_pkaccum_u8_f32", false)
29795 :
Inst_VOP3(iFmt,
"v_interp_p1_f32", false)
29813 :
Inst_VOP3(iFmt,
"v_interp_p2_f32", false)
29831 :
Inst_VOP3(iFmt,
"v_interp_mov_f32", false)
29850 :
Inst_VOP3(iFmt,
"v_interp_p1ll_f16", false)
29869 :
Inst_VOP3(iFmt,
"v_interp_p1lv_f16", false)
29886 :
Inst_VOP3(iFmt,
"v_interp_p2_f16", false)
29918 Wavefront *wf = gpuDynInst->wavefront();
29950 if (std::isnan(src0[lane]) ||
29951 std::isnan(src1[lane]) ) {
29953 }
else if (std::isinf(src0[lane]) &&
29954 std::isinf(src1[lane])) {
29955 if (std::signbit(src0[lane]) !=
29956 std::signbit(src1[lane])) {
29959 vdst[lane] = src0[lane];
29961 }
else if (std::isinf(src0[lane])) {
29962 vdst[lane] = src0[lane];
29963 }
else if (std::isinf(src1[lane])) {
29964 vdst[lane] = src1[lane];
29965 }
else if (std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
29966 std::fpclassify(src0[lane]) == FP_ZERO) {
29967 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
29968 std::fpclassify(src1[lane]) == FP_ZERO) {
29969 if (std::signbit(src0[lane]) &&
29970 std::signbit(src1[lane])) {
29976 vdst[lane] = src1[lane];
29978 }
else if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
29979 std::fpclassify(src1[lane]) == FP_ZERO) {
29980 if (std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
29981 std::fpclassify(src0[lane]) == FP_ZERO) {
29982 if (std::signbit(src0[lane]) &&
29983 std::signbit(src1[lane])) {
29989 vdst[lane] = src0[lane];
29992 vdst[lane] = src0[lane] + src1[lane];
30015 Wavefront *wf = gpuDynInst->wavefront();
30047 if (std::isnan(src0[lane]) ||
30048 std::isnan(src1[lane])) {
30050 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
30051 std::fpclassify(src0[lane]) == FP_ZERO) &&
30052 !std::signbit(src0[lane])) {
30053 if (std::isinf(src1[lane])) {
30055 }
else if (!std::signbit(src1[lane])) {
30060 }
else if ((std::fpclassify(src0[lane]) == FP_SUBNORMAL ||
30061 std::fpclassify(src0[lane]) == FP_ZERO) &&
30062 std::signbit(src0[lane])) {
30063 if (std::isinf(src1[lane])) {
30065 }
else if (std::signbit(src1[lane])) {
30070 }
else if (std::isinf(src0[lane]) &&
30071 !std::signbit(src0[lane])) {
30072 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
30073 std::fpclassify(src1[lane]) == FP_ZERO) {
30075 }
else if (!std::signbit(src1[lane])) {
30076 vdst[lane] = +INFINITY;
30078 vdst[lane] = -INFINITY;
30080 }
else if (std::isinf(src0[lane]) &&
30081 std::signbit(src0[lane])) {
30082 if (std::fpclassify(src1[lane]) == FP_SUBNORMAL ||
30083 std::fpclassify(src1[lane]) == FP_ZERO) {
30085 }
else if (std::signbit(src1[lane])) {
30086 vdst[lane] = +INFINITY;
30088 vdst[lane] = -INFINITY;
30091 vdst[lane] = src0[lane] * src1[lane];
30114 Wavefront *wf = gpuDynInst->wavefront();
30146 vdst[lane] = std::fmin(src0[lane], src1[lane]);
30168 Wavefront *wf = gpuDynInst->wavefront();
30200 vdst[lane] = std::fmax(src0[lane], src1[lane]);
30208 :
Inst_VOP3(iFmt,
"v_ldexp_f64", false)
30222 Wavefront *wf = gpuDynInst->wavefront();
30248 if (std::isnan(src0[lane]) || std::isinf(src0[lane])) {
30249 vdst[lane] = src0[lane];
30250 }
else if (std::fpclassify(src0[lane]) == FP_SUBNORMAL
30251 || std::fpclassify(src0[lane]) == FP_ZERO) {
30252 if (std::signbit(src0[lane])) {
30258 vdst[lane] = std::ldexp(src0[lane], src1[lane]);
30267 :
Inst_VOP3(iFmt,
"v_mul_lo_u32", false)
30280 Wavefront *wf = gpuDynInst->wavefront();
30302 vdst[lane] = (
VecElemU32)((s0 * s1) & 0xffffffffLL);
30310 :
Inst_VOP3(iFmt,
"v_mul_hi_u32", false)
30323 Wavefront *wf = gpuDynInst->wavefront();
30346 = (
VecElemU32)(((s0 * s1) >> 32) & 0xffffffffLL);
30354 :
Inst_VOP3(iFmt,
"v_mul_hi_i32", false)
30367 Wavefront *wf = gpuDynInst->wavefront();
30390 = (
VecElemI32)(((s0 * s1) >> 32LL) & 0xffffffffLL);
30398 :
Inst_VOP3(iFmt,
"v_ldexp_f32", false)
30412 Wavefront *wf = gpuDynInst->wavefront();
30430 vdst[lane] = std::ldexp(src0[lane], src1[lane]);
30438 :
Inst_VOP3(iFmt,
"v_readlane_b32", true)
30471 sdst = src0[src1.
rawData() & 0x3f];
30477 :
Inst_VOP3(iFmt,
"v_writelane_b32", false)
30518 :
Inst_VOP3(iFmt,
"v_bcnt_u32_b32", false)
30531 Wavefront *wf = gpuDynInst->wavefront();
30551 vdst[lane] =
popCount(src0[lane]) + src1[lane];
30560 :
Inst_VOP3(iFmt,
"v_mbcnt_lo_u32_b32", false)
30574 Wavefront *wf = gpuDynInst->wavefront();
30578 uint64_t threadMask = 0;
30595 threadMask = ((1LL << lane) - 1LL);
30596 vdst[lane] =
popCount(src0[lane] &
bits(threadMask, 31, 0)) +
30607 :
Inst_VOP3(iFmt,
"v_mbcnt_hi_u32_b32", false)
30623 Wavefront *wf = gpuDynInst->wavefront();
30627 uint64_t threadMask = 0;
30644 threadMask = ((1LL << lane) - 1LL);
30645 vdst[lane] =
popCount(src0[lane] &
bits(threadMask, 63, 32)) +
30655 :
Inst_VOP3(iFmt,
"v_lshlrev_b64", false)
30668 Wavefront *wf = gpuDynInst->wavefront();
30688 vdst[lane] = src1[lane] <<
bits(src0[lane], 5, 0);
30696 :
Inst_VOP3(iFmt,
"v_lshrrev_b64", false)
30710 Wavefront *wf = gpuDynInst->wavefront();
30730 vdst[lane] = src1[lane] >>
bits(src0[lane], 5, 0);
30738 :
Inst_VOP3(iFmt,
"v_ashrrev_i64", false)
30752 Wavefront *wf = gpuDynInst->wavefront();
30773 = src1[lane] >>
bits(src0[lane], 5, 0);
30781 :
Inst_VOP3(iFmt,
"v_trig_preop_f64", false)
30811 Wavefront *wf = gpuDynInst->wavefront();
30831 vdst[lane] = ((1 <<
bits(src0[lane], 4, 0)) - 1)
30832 <<
bits(src1[lane], 4, 0);
30841 :
Inst_VOP3(iFmt,
"v_cvt_pknorm_i16_f32", false)
30860 :
Inst_VOP3(iFmt,
"v_cvt_pknorm_u16_f32", false)
30879 :
Inst_VOP3(iFmt,
"v_cvt_pkrtz_f16_f32", false)
30896 :
Inst_VOP3(iFmt,
"v_cvt_pk_u16_u32", false)
30913 :
Inst_VOP3(iFmt,
"v_cvt_pk_i16_i32", false)
30930 :
Inst_DS(iFmt,
"ds_add_u32")
30948 :
Inst_DS(iFmt,
"ds_sub_u32")
30966 :
Inst_DS(iFmt,
"ds_rsub_u32")
30985 :
Inst_DS(iFmt,
"ds_inc_u32")
31003 :
Inst_DS(iFmt,
"ds_dec_u32")
31021 :
Inst_DS(iFmt,
"ds_min_i32")
31039 :
Inst_DS(iFmt,
"ds_max_i32")
31057 :
Inst_DS(iFmt,
"ds_min_u32")
31075 :
Inst_DS(iFmt,
"ds_max_u32")
31093 :
Inst_DS(iFmt,
"ds_and_b32")
31129 :
Inst_DS(iFmt,
"ds_xor_b32")
31147 :
Inst_DS(iFmt,
"ds_mskor_b32")
31165 :
Inst_DS(iFmt,
"ds_write_b32")
31180 Wavefront *wf = gpuDynInst->wavefront();
31182 gpuDynInst->latency.init(gpuDynInst->computeUnit());
31183 gpuDynInst->latency.set(
31184 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
31195 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane]
31200 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
31210 initMemWrite<VecElemU32>(gpuDynInst,
offset);
31219 :
Inst_DS(iFmt,
"ds_write2_b32")
31235 Wavefront *wf = gpuDynInst->wavefront();
31237 gpuDynInst->latency.init(gpuDynInst->computeUnit());
31238 gpuDynInst->latency.set(
31239 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
31252 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 2]
31255 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
31259 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
31268 initDualMemWrite<VecElemU32>(gpuDynInst, offset0, offset1);
31277 :
Inst_DS(iFmt,
"ds_write2st64_b32")
31293 Wavefront *wf = gpuDynInst->wavefront();
31295 gpuDynInst->latency.init(gpuDynInst->computeUnit());
31296 gpuDynInst->latency.set(
31297 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
31310 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 2]
31313 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
31317 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
31326 initDualMemWrite<VecElemU32>(gpuDynInst, offset0, offset1);
31336 :
Inst_DS(iFmt,
"ds_cmpst_b32")
31357 :
Inst_DS(iFmt,
"ds_cmpst_f32")
31378 :
Inst_DS(iFmt,
"ds_min_f32")
31398 :
Inst_DS(iFmt,
"ds_max_f32")
31434 :
Inst_DS(iFmt,
"ds_add_f32")
31453 :
Inst_DS(iFmt,
"ds_write_b8")
31467 Wavefront *wf = gpuDynInst->wavefront();
31469 gpuDynInst->latency.init(gpuDynInst->computeUnit());
31470 gpuDynInst->latency.set(
31471 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
31482 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
31487 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
31497 initMemWrite<VecElemU8>(gpuDynInst,
offset);
31507 :
Inst_DS(iFmt,
"ds_write_b16")
31521 Wavefront *wf = gpuDynInst->wavefront();
31523 gpuDynInst->latency.init(gpuDynInst->computeUnit());
31524 gpuDynInst->latency.set(
31525 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
31536 (
reinterpret_cast<VecElemU16*
>(gpuDynInst->d_data))[lane]
31541 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
31551 initMemWrite<VecElemU16>(gpuDynInst,
offset);
31561 :
Inst_DS(iFmt,
"ds_add_rtn_u32")
31579 :
Inst_DS(iFmt,
"ds_sub_rtn_u32")
31597 :
Inst_DS(iFmt,
"ds_rsub_rtn_u32")
31615 :
Inst_DS(iFmt,
"ds_inc_rtn_u32")
31633 :
Inst_DS(iFmt,
"ds_dec_rtn_u32")
31651 :
Inst_DS(iFmt,
"ds_min_rtn_i32")
31669 :
Inst_DS(iFmt,
"ds_max_rtn_i32")
31687 :
Inst_DS(iFmt,
"ds_min_rtn_u32")
31705 :
Inst_DS(iFmt,
"ds_max_rtn_u32")
31723 :
Inst_DS(iFmt,
"ds_and_rtn_b32")
31741 :
Inst_DS(iFmt,
"ds_or_rtn_b32")
31759 :
Inst_DS(iFmt,
"ds_xor_rtn_b32")
31777 :
Inst_DS(iFmt,
"ds_mskor_rtn_b32")
31795 :
Inst_DS(iFmt,
"ds_wrxchg_rtn_b32")
31814 :
Inst_DS(iFmt,
"ds_wrxchg2_rtn_b32")
31831 :
Inst_DS(iFmt,
"ds_wrxchg2st64_rtn_b32")
31847 :
Inst_DS(iFmt,
"ds_cmpst_rtn_b32")
31868 :
Inst_DS(iFmt,
"ds_cmpst_rtn_f32")
31889 :
Inst_DS(iFmt,
"ds_min_rtn_f32")
31909 :
Inst_DS(iFmt,
"ds_max_rtn_f32")
31929 :
Inst_DS(iFmt,
"ds_wrap_rtn_b32")
31947 :
Inst_DS(iFmt,
"ds_add_rtn_f32")
31965 :
Inst_DS(iFmt,
"ds_read_b32")
31980 Wavefront *wf = gpuDynInst->wavefront();
31982 gpuDynInst->latency.init(gpuDynInst->computeUnit());
31983 gpuDynInst->latency.set(
31984 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
31991 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
32001 initMemRead<VecElemU32>(gpuDynInst,
offset);
32010 if (gpuDynInst->exec_mask[lane]) {
32011 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
32012 gpuDynInst->d_data))[lane];
32020 :
Inst_DS(iFmt,
"ds_read2_b32")
32036 Wavefront *wf = gpuDynInst->wavefront();
32038 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32039 gpuDynInst->latency.set(
32040 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
32047 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
32056 initDualMemRead<VecElemU32>(gpuDynInst, offset0, offset1);
32066 if (gpuDynInst->exec_mask[lane]) {
32067 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
32068 gpuDynInst->d_data))[lane * 2];
32069 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
32070 gpuDynInst->d_data))[lane * 2 + 1];
32079 :
Inst_DS(iFmt,
"ds_read2st64_b32")
32095 Wavefront *wf = gpuDynInst->wavefront();
32097 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32098 gpuDynInst->latency.set(
32099 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
32106 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
32115 initDualMemRead<VecElemU32>(gpuDynInst, offset0, offset1);
32125 if (gpuDynInst->exec_mask[lane]) {
32126 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
32127 gpuDynInst->d_data))[lane * 2];
32128 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
32129 gpuDynInst->d_data))[lane * 2 + 1];
32139 :
Inst_DS(iFmt,
"ds_read_i8")
32158 :
Inst_DS(iFmt,
"ds_read_u8")
32173 Wavefront *wf = gpuDynInst->wavefront();
32175 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32176 gpuDynInst->latency.set(
32177 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
32184 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
32194 initMemRead<VecElemU8>(gpuDynInst,
offset);
32203 if (gpuDynInst->exec_mask[lane]) {
32205 gpuDynInst->d_data))[lane];
32214 :
Inst_DS(iFmt,
"ds_read_i16")
32233 :
Inst_DS(iFmt,
"ds_read_u16")
32248 Wavefront *wf = gpuDynInst->wavefront();
32250 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32251 gpuDynInst->latency.set(
32252 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
32259 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
32268 initMemRead<VecElemU16>(gpuDynInst,
offset);
32277 if (gpuDynInst->exec_mask[lane]) {
32279 gpuDynInst->d_data))[lane];
32288 :
Inst_DS(iFmt,
"ds_swizzle_b32")
32302 Wavefront *wf = gpuDynInst->wavefront();
32306 if (gpuDynInst->exec_mask.none()) {
32311 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32312 gpuDynInst->latency.set(gpuDynInst->computeUnit()
32313 ->cyclesToTicks(
Cycles(24)));
32338 if (
bits(ds_pattern, 15)) {
32346 if (gpuDynInst->exec_mask[lane]) {
32347 int index0 = lane +
bits(ds_pattern, 1, 0);
32349 "is out of bounds.\n", gpuDynInst->disassemble(),
32352 = gpuDynInst->exec_mask[index0] ?
data[index0]: 0;
32354 if (gpuDynInst->exec_mask[lane + 1]) {
32355 int index1 = lane +
bits(ds_pattern, 3, 2);
32357 "is out of bounds.\n", gpuDynInst->disassemble(),
32360 = gpuDynInst->exec_mask[index1] ?
data[index1]: 0;
32362 if (gpuDynInst->exec_mask[lane + 2]) {
32363 int index2 = lane +
bits(ds_pattern, 5, 4);
32365 "is out of bounds.\n", gpuDynInst->disassemble(),
32368 = gpuDynInst->exec_mask[index2] ?
data[index2]: 0;
32370 if (gpuDynInst->exec_mask[lane + 3]) {
32371 int index3 = lane +
bits(ds_pattern, 7, 6);
32373 "is out of bounds.\n", gpuDynInst->disassemble(),
32376 = gpuDynInst->exec_mask[index3] ?
data[index3]: 0;
32381 int and_mask =
bits(ds_pattern, 4, 0);
32382 int or_mask =
bits(ds_pattern, 9, 5);
32383 int xor_mask =
bits(ds_pattern, 14, 10);
32385 if (gpuDynInst->exec_mask[lane]) {
32386 int index = (((lane & and_mask) | or_mask) ^ xor_mask);
32392 "out of bounds.\n", gpuDynInst->disassemble(),
32409 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
32414 :
Inst_DS(iFmt,
"ds_permute_b32")
32433 Wavefront *wf = gpuDynInst->wavefront();
32435 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32436 gpuDynInst->latency.set(gpuDynInst->computeUnit()
32437 ->cyclesToTicks(
Cycles(24)));
32462 "of bounds.\n", gpuDynInst->disassemble(),
index);
32489 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
32494 :
Inst_DS(iFmt,
"ds_bpermute_b32")
32513 Wavefront *wf = gpuDynInst->wavefront();
32515 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32516 gpuDynInst->latency.set(gpuDynInst->computeUnit()
32517 ->cyclesToTicks(
Cycles(24)));
32542 "of bounds.\n", gpuDynInst->disassemble(),
index);
32569 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
32575 :
Inst_DS(iFmt,
"ds_add_u64")
32593 :
Inst_DS(iFmt,
"ds_sub_u64")
32611 :
Inst_DS(iFmt,
"ds_rsub_u64")
32630 :
Inst_DS(iFmt,
"ds_inc_u64")
32648 :
Inst_DS(iFmt,
"ds_dec_u64")
32667 :
Inst_DS(iFmt,
"ds_min_i64")
32685 :
Inst_DS(iFmt,
"ds_max_i64")
32703 :
Inst_DS(iFmt,
"ds_min_u64")
32721 :
Inst_DS(iFmt,
"ds_max_u64")
32739 :
Inst_DS(iFmt,
"ds_and_b64")
32775 :
Inst_DS(iFmt,
"ds_xor_b64")
32793 :
Inst_DS(iFmt,
"ds_mskor_b64")
32811 :
Inst_DS(iFmt,
"ds_write_b64")
32826 Wavefront *wf = gpuDynInst->wavefront();
32828 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32829 gpuDynInst->latency.set(
32830 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
32841 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->d_data))[lane]
32846 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
32856 initMemWrite<VecElemU64>(gpuDynInst,
offset);
32865 :
Inst_DS(iFmt,
"ds_write2_b64")
32881 Wavefront *wf = gpuDynInst->wavefront();
32883 gpuDynInst->latency.init(gpuDynInst->computeUnit());
32884 gpuDynInst->latency.set(
32885 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
32899 gpuDynInst->d_data))[lane * 2] = data0[lane];
32901 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
32905 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
32914 initDualMemWrite<VecElemU64>(gpuDynInst, offset0, offset1);
32923 :
Inst_DS(iFmt,
"ds_write2st64_b64")
32943 :
Inst_DS(iFmt,
"ds_cmpst_b64")
32964 :
Inst_DS(iFmt,
"ds_cmpst_f64")
32985 :
Inst_DS(iFmt,
"ds_min_f64")
33005 :
Inst_DS(iFmt,
"ds_max_f64")
33025 :
Inst_DS(iFmt,
"ds_add_rtn_u64")
33043 :
Inst_DS(iFmt,
"ds_sub_rtn_u64")
33061 :
Inst_DS(iFmt,
"ds_rsub_rtn_u64")
33080 :
Inst_DS(iFmt,
"ds_inc_rtn_u64")
33098 :
Inst_DS(iFmt,
"ds_dec_rtn_u64")
33117 :
Inst_DS(iFmt,
"ds_min_rtn_i64")
33135 :
Inst_DS(iFmt,
"ds_max_rtn_i64")
33153 :
Inst_DS(iFmt,
"ds_min_rtn_u64")
33171 :
Inst_DS(iFmt,
"ds_max_rtn_u64")
33189 :
Inst_DS(iFmt,
"ds_and_rtn_b64")
33207 :
Inst_DS(iFmt,
"ds_or_rtn_b64")
33225 :
Inst_DS(iFmt,
"ds_xor_rtn_b64")
33243 :
Inst_DS(iFmt,
"ds_mskor_rtn_b64")
33262 :
Inst_DS(iFmt,
"ds_wrxchg_rtn_b64")
33281 :
Inst_DS(iFmt,
"ds_wrxchg2_rtn_b64")
33298 :
Inst_DS(iFmt,
"ds_wrxchg2st64_rtn_b64")
33314 :
Inst_DS(iFmt,
"ds_cmpst_rtn_b64")
33335 :
Inst_DS(iFmt,
"ds_cmpst_rtn_f64")
33356 :
Inst_DS(iFmt,
"ds_min_rtn_f64")
33376 :
Inst_DS(iFmt,
"ds_max_rtn_f64")
33396 :
Inst_DS(iFmt,
"ds_read_b64")
33411 Wavefront *wf = gpuDynInst->wavefront();
33413 gpuDynInst->latency.init(gpuDynInst->computeUnit());
33414 gpuDynInst->latency.set(
33415 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
33422 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
33432 initMemRead<VecElemU64>(gpuDynInst,
offset);
33441 if (gpuDynInst->exec_mask[lane]) {
33442 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
33443 gpuDynInst->d_data))[lane];
33451 :
Inst_DS(iFmt,
"ds_read2_b64")
33467 Wavefront *wf = gpuDynInst->wavefront();
33469 gpuDynInst->latency.init(gpuDynInst->computeUnit());
33470 gpuDynInst->latency.set(
33471 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
33478 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
33487 initDualMemRead<VecElemU64>(gpuDynInst, offset0, offset1);
33497 if (gpuDynInst->exec_mask[lane]) {
33498 vdst0[lane] = (
reinterpret_cast<VecElemU64*
>(
33499 gpuDynInst->d_data))[lane * 2];
33500 vdst1[lane] = (
reinterpret_cast<VecElemU64*
>(
33501 gpuDynInst->d_data))[lane * 2 + 1];
33510 :
Inst_DS(iFmt,
"ds_read2st64_b64")
33526 Wavefront *wf = gpuDynInst->wavefront();
33528 gpuDynInst->latency.init(gpuDynInst->computeUnit());
33529 gpuDynInst->latency.set(
33530 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
33537 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
33546 initDualMemRead<VecElemU64>(gpuDynInst, offset0, offset1);
33556 if (gpuDynInst->exec_mask[lane]) {
33557 vdst0[lane] = (
reinterpret_cast<VecElemU64*
>(
33558 gpuDynInst->d_data))[lane * 2];
33559 vdst1[lane] = (
reinterpret_cast<VecElemU64*
>(
33560 gpuDynInst->d_data))[lane * 2 + 1];
33570 :
Inst_DS(iFmt,
"ds_condxchg32_rtn_b64")
33586 :
Inst_DS(iFmt,
"ds_add_src2_u32")
33605 :
Inst_DS(iFmt,
"ds_sub_src2_u32")
33624 :
Inst_DS(iFmt,
"ds_rsub_src2_u32")
33643 :
Inst_DS(iFmt,
"ds_inc_src2_u32")
33662 :
Inst_DS(iFmt,
"ds_dec_src2_u32")
33682 :
Inst_DS(iFmt,
"ds_min_src2_i32")
33701 :
Inst_DS(iFmt,
"ds_max_src2_i32")
33720 :
Inst_DS(iFmt,
"ds_min_src2_u32")
33739 :
Inst_DS(iFmt,
"ds_max_src2_u32")
33758 :
Inst_DS(iFmt,
"ds_and_src2_b32")
33777 :
Inst_DS(iFmt,
"ds_or_src2_b32")
33796 :
Inst_DS(iFmt,
"ds_xor_src2_b32")
33815 :
Inst_DS(iFmt,
"ds_write_src2_b32")
33837 :
Inst_DS(iFmt,
"ds_min_src2_f32")
33857 :
Inst_DS(iFmt,
"ds_max_src2_f32")
33877 :
Inst_DS(iFmt,
"ds_add_src2_f32")
33898 :
Inst_DS(iFmt,
"ds_gws_sema_release_all")
33913 :
Inst_DS(iFmt,
"ds_gws_init")
33928 :
Inst_DS(iFmt,
"ds_gws_sema_v")
33943 :
Inst_DS(iFmt,
"ds_gws_sema_br")
33958 :
Inst_DS(iFmt,
"ds_gws_sema_p")
33973 :
Inst_DS(iFmt,
"ds_gws_barrier")
33988 :
Inst_DS(iFmt,
"ds_consume")
34018 :
Inst_DS(iFmt,
"ds_ordered_count")
34033 :
Inst_DS(iFmt,
"ds_add_src2_u64")
34052 :
Inst_DS(iFmt,
"ds_sub_src2_u64")
34071 :
Inst_DS(iFmt,
"ds_rsub_src2_u64")
34090 :
Inst_DS(iFmt,
"ds_inc_src2_u64")
34109 :
Inst_DS(iFmt,
"ds_dec_src2_u64")
34129 :
Inst_DS(iFmt,
"ds_min_src2_i64")
34148 :
Inst_DS(iFmt,
"ds_max_src2_i64")
34167 :
Inst_DS(iFmt,
"ds_min_src2_u64")
34186 :
Inst_DS(iFmt,
"ds_max_src2_u64")
34205 :
Inst_DS(iFmt,
"ds_and_src2_b64")
34224 :
Inst_DS(iFmt,
"ds_or_src2_b64")
34243 :
Inst_DS(iFmt,
"ds_xor_src2_b64")
34262 :
Inst_DS(iFmt,
"ds_write_src2_b64")
34284 :
Inst_DS(iFmt,
"ds_min_src2_f64")
34304 :
Inst_DS(iFmt,
"ds_max_src2_f64")
34324 :
Inst_DS(iFmt,
"ds_write_b96")
34339 Wavefront *wf = gpuDynInst->wavefront();
34341 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34342 gpuDynInst->latency.set(
34343 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34357 if (gpuDynInst->exec_mask[lane]) {
34359 gpuDynInst->d_data))[lane * 4] = data0[lane];
34361 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
34363 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
34367 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34377 initMemWrite<3>(gpuDynInst,
offset);
34386 :
Inst_DS(iFmt,
"ds_write_b128")
34401 Wavefront *wf = gpuDynInst->wavefront();
34403 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34404 gpuDynInst->latency.set(
34405 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34421 if (gpuDynInst->exec_mask[lane]) {
34423 gpuDynInst->d_data))[lane * 4] = data0[lane];
34425 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
34427 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
34429 gpuDynInst->d_data))[lane * 4 + 3] = data3[lane];
34433 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34443 initMemWrite<4>(gpuDynInst,
offset);
34452 :
Inst_DS(iFmt,
"ds_read_b96")
34466 Wavefront *wf = gpuDynInst->wavefront();
34468 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34469 gpuDynInst->latency.set(
34470 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34477 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34487 initMemRead<3>(gpuDynInst,
offset);
34498 if (gpuDynInst->exec_mask[lane]) {
34499 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
34500 gpuDynInst->d_data))[lane * 4];
34501 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
34502 gpuDynInst->d_data))[lane * 4 + 1];
34503 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
34504 gpuDynInst->d_data))[lane * 4 + 2];
34514 :
Inst_DS(iFmt,
"ds_read_b128")
34528 Wavefront *wf = gpuDynInst->wavefront();
34530 gpuDynInst->latency.init(gpuDynInst->computeUnit());
34531 gpuDynInst->latency.set(
34532 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
34539 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
34549 initMemRead<4>(gpuDynInst,
offset);
34561 if (gpuDynInst->exec_mask[lane]) {
34562 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
34563 gpuDynInst->d_data))[lane * 4];
34564 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
34565 gpuDynInst->d_data))[lane * 4 + 1];
34566 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
34567 gpuDynInst->d_data))[lane * 4 + 2];
34568 vdst3[lane] = (
reinterpret_cast<VecElemU32*
>(
34569 gpuDynInst->d_data))[lane * 4 + 3];
34583 setFlag(MemoryRef);
34585 setFlag(GlobalSegment);
34613 setFlag(MemoryRef);
34615 setFlag(GlobalSegment);
34641 :
Inst_MUBUF(iFmt,
"buffer_load_format_xyz")
34643 setFlag(MemoryRef);
34645 setFlag(GlobalSegment);
34671 :
Inst_MUBUF(iFmt,
"buffer_load_format_xyzw")
34673 setFlag(MemoryRef);
34675 setFlag(GlobalSegment);
34703 setFlag(MemoryRef);
34705 setFlag(GlobalSegment);
34731 :
Inst_MUBUF(iFmt,
"buffer_store_format_xy")
34733 setFlag(MemoryRef);
34735 setFlag(GlobalSegment);
34761 :
Inst_MUBUF(iFmt,
"buffer_store_format_xyz")
34763 setFlag(MemoryRef);
34765 setFlag(GlobalSegment);
34791 :
Inst_MUBUF(iFmt,
"buffer_store_format_xyzw")
34793 setFlag(MemoryRef);
34795 setFlag(GlobalSegment);
34822 :
Inst_MUBUF(iFmt,
"buffer_load_format_d16_x")
34824 setFlag(MemoryRef);
34826 setFlag(GlobalSegment);
34853 :
Inst_MUBUF(iFmt,
"buffer_load_format_d16_xy")
34855 setFlag(MemoryRef);
34857 setFlag(GlobalSegment);
34886 :
Inst_MUBUF(iFmt,
"buffer_load_format_d16_xyz")
34888 setFlag(MemoryRef);
34890 setFlag(GlobalSegment);
34919 :
Inst_MUBUF(iFmt,
"buffer_load_format_d16_xyzw")
34921 setFlag(MemoryRef);
34923 setFlag(GlobalSegment);
34952 :
Inst_MUBUF(iFmt,
"buffer_store_format_d16_x")
34954 setFlag(MemoryRef);
34956 setFlag(GlobalSegment);
34985 :
Inst_MUBUF(iFmt,
"buffer_store_format_d16_xy")
34987 setFlag(MemoryRef);
34989 setFlag(GlobalSegment);
35018 :
Inst_MUBUF(iFmt,
"buffer_store_format_d16_xyz")
35020 setFlag(MemoryRef);
35022 setFlag(GlobalSegment);
35051 :
Inst_MUBUF(iFmt,
"buffer_store_format_d16_xyzw")
35053 setFlag(MemoryRef);
35055 setFlag(GlobalSegment);
35086 setFlag(MemoryRef);
35088 if (instData.LDS) {
35089 setFlag(GroupSegment);
35091 setFlag(GlobalSegment);
35103 Wavefront *wf = gpuDynInst->wavefront();
35105 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35106 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35121 addr0, addr1, rsrcDesc,
offset, inst_offset);
35126 addr0, addr1, rsrcDesc,
offset, inst_offset);
35131 addr1, addr0, rsrcDesc,
offset, inst_offset);
35137 addr1, addr0, rsrcDesc,
offset, inst_offset);
35141 gpuDynInst->computeUnit()->localMemoryPipe.
35142 issueRequest(gpuDynInst);
35144 gpuDynInst->computeUnit()->globalMemoryPipe.
35145 issueRequest(gpuDynInst);
35152 initMemRead<VecElemU8>(gpuDynInst);
35161 if (gpuDynInst->exec_mask[lane]) {
35164 gpuDynInst->d_data))[lane]);
35179 setFlag(MemoryRef);
35181 setFlag(GlobalSegment);
35209 setFlag(MemoryRef);
35211 if (instData.LDS) {
35212 setFlag(GroupSegment);
35214 setFlag(GlobalSegment);
35226 Wavefront *wf = gpuDynInst->wavefront();
35228 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35229 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35244 addr0, addr1, rsrcDesc,
offset, inst_offset);
35249 addr0, addr1, rsrcDesc,
offset, inst_offset);
35254 addr1, addr0, rsrcDesc,
offset, inst_offset);
35260 addr1, addr0, rsrcDesc,
offset, inst_offset);
35264 gpuDynInst->computeUnit()->localMemoryPipe
35265 .issueRequest(gpuDynInst);
35267 gpuDynInst->computeUnit()->globalMemoryPipe
35268 .issueRequest(gpuDynInst);
35275 initMemRead<VecElemU16>(gpuDynInst);
35284 if (gpuDynInst->exec_mask[lane]) {
35287 gpuDynInst->d_data))[lane]);
35302 setFlag(MemoryRef);
35304 setFlag(GlobalSegment);
35332 setFlag(MemoryRef);
35334 if (instData.LDS) {
35335 setFlag(GroupSegment);
35337 setFlag(GlobalSegment);
35349 Wavefront *wf = gpuDynInst->wavefront();
35351 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35352 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35367 addr0, addr1, rsrcDesc,
offset, inst_offset);
35372 addr0, addr1, rsrcDesc,
offset, inst_offset);
35377 addr1, addr0, rsrcDesc,
offset, inst_offset);
35383 addr1, addr0, rsrcDesc,
offset, inst_offset);
35387 gpuDynInst->computeUnit()->localMemoryPipe
35388 .issueRequest(gpuDynInst);
35390 gpuDynInst->computeUnit()->globalMemoryPipe
35391 .issueRequest(gpuDynInst);
35398 initMemRead<VecElemU32>(gpuDynInst);
35407 if (gpuDynInst->exec_mask[lane]) {
35409 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
35410 gpuDynInst->d_data))[lane];
35424 setFlag(MemoryRef);
35426 if (instData.LDS) {
35427 setFlag(GroupSegment);
35429 setFlag(GlobalSegment);
35441 Wavefront *wf = gpuDynInst->wavefront();
35443 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35444 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35459 addr0, addr1, rsrcDesc,
offset, inst_offset);
35464 addr0, addr1, rsrcDesc,
offset, inst_offset);
35469 addr1, addr0, rsrcDesc,
offset, inst_offset);
35475 addr1, addr0, rsrcDesc,
offset, inst_offset);
35479 gpuDynInst->computeUnit()->localMemoryPipe
35480 .issueRequest(gpuDynInst);
35482 gpuDynInst->computeUnit()->globalMemoryPipe
35483 .issueRequest(gpuDynInst);
35490 initMemRead<2>(gpuDynInst);
35500 if (gpuDynInst->exec_mask[lane]) {
35502 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
35503 gpuDynInst->d_data))[lane * 2];
35504 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
35505 gpuDynInst->d_data))[lane * 2 + 1];
35521 setFlag(MemoryRef);
35523 if (instData.LDS) {
35524 setFlag(GroupSegment);
35526 setFlag(GlobalSegment);
35538 Wavefront *wf = gpuDynInst->wavefront();
35540 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35541 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35556 addr0, addr1, rsrcDesc,
offset, inst_offset);
35561 addr0, addr1, rsrcDesc,
offset, inst_offset);
35566 addr1, addr0, rsrcDesc,
offset, inst_offset);
35572 addr1, addr0, rsrcDesc,
offset, inst_offset);
35576 gpuDynInst->computeUnit()->localMemoryPipe
35577 .issueRequest(gpuDynInst);
35579 gpuDynInst->computeUnit()->globalMemoryPipe
35580 .issueRequest(gpuDynInst);
35587 initMemRead<3>(gpuDynInst);
35598 if (gpuDynInst->exec_mask[lane]) {
35600 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
35601 gpuDynInst->d_data))[lane * 3];
35602 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
35603 gpuDynInst->d_data))[lane * 3 + 1];
35604 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
35605 gpuDynInst->d_data))[lane * 3 + 2];
35623 setFlag(MemoryRef);
35625 if (instData.LDS) {
35626 setFlag(GroupSegment);
35628 setFlag(GlobalSegment);
35640 Wavefront *wf = gpuDynInst->wavefront();
35642 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35643 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35658 addr0, addr1, rsrcDesc,
offset, inst_offset);
35663 addr0, addr1, rsrcDesc,
offset, inst_offset);
35668 addr1, addr0, rsrcDesc,
offset, inst_offset);
35674 addr1, addr0, rsrcDesc,
offset, inst_offset);
35678 gpuDynInst->computeUnit()->localMemoryPipe
35679 .issueRequest(gpuDynInst);
35681 gpuDynInst->computeUnit()->globalMemoryPipe
35682 .issueRequest(gpuDynInst);
35689 initMemRead<4>(gpuDynInst);
35701 if (gpuDynInst->exec_mask[lane]) {
35703 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
35704 gpuDynInst->d_data))[lane * 4];
35705 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
35706 gpuDynInst->d_data))[lane * 4 + 1];
35707 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
35708 gpuDynInst->d_data))[lane * 4 + 2];
35709 vdst3[lane] = (
reinterpret_cast<VecElemU32*
>(
35710 gpuDynInst->d_data))[lane * 4 + 3];
35730 setFlag(MemoryRef);
35732 if (instData.LDS) {
35733 setFlag(GroupSegment);
35735 setFlag(GlobalSegment);
35747 Wavefront *wf = gpuDynInst->wavefront();
35749 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35750 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35763 if (gpuDynInst->exec_mask[lane]) {
35764 (
reinterpret_cast<VecElemI8*
>(gpuDynInst->d_data))[lane]
35774 addr0, addr1, rsrcDesc,
offset, inst_offset);
35779 addr0, addr1, rsrcDesc,
offset, inst_offset);
35784 addr1, addr0, rsrcDesc,
offset, inst_offset);
35790 addr1, addr0, rsrcDesc,
offset, inst_offset);
35794 gpuDynInst->computeUnit()->localMemoryPipe
35795 .issueRequest(gpuDynInst);
35797 gpuDynInst->computeUnit()->globalMemoryPipe
35798 .issueRequest(gpuDynInst);
35805 initMemWrite<VecElemI8>(gpuDynInst);
35817 setFlag(MemoryRef);
35819 if (instData.LDS) {
35820 setFlag(GroupSegment);
35822 setFlag(GlobalSegment);
35834 Wavefront *wf = gpuDynInst->wavefront();
35836 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35837 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35850 if (gpuDynInst->exec_mask[lane]) {
35851 (
reinterpret_cast<VecElemI16*
>(gpuDynInst->d_data))[lane]
35861 addr0, addr1, rsrcDesc,
offset, inst_offset);
35866 addr0, addr1, rsrcDesc,
offset, inst_offset);
35871 addr1, addr0, rsrcDesc,
offset, inst_offset);
35877 addr1, addr0, rsrcDesc,
offset, inst_offset);
35881 gpuDynInst->computeUnit()->localMemoryPipe
35882 .issueRequest(gpuDynInst);
35884 gpuDynInst->computeUnit()->globalMemoryPipe
35885 .issueRequest(gpuDynInst);
35892 initMemWrite<VecElemI16>(gpuDynInst);
35921 Wavefront *wf = gpuDynInst->wavefront();
35923 gpuDynInst->latency.init(gpuDynInst->computeUnit());
35924 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
35939 if (gpuDynInst->exec_mask[lane]) {
35940 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane]
35948 addr0, addr1, rsrcDesc,
offset, inst_offset);
35953 addr0, addr1, rsrcDesc,
offset, inst_offset);
35958 addr1, addr0, rsrcDesc,
offset, inst_offset);
35964 addr1, addr0, rsrcDesc,
offset, inst_offset);
35968 gpuDynInst->computeUnit()->localMemoryPipe
35969 .issueRequest(gpuDynInst);
35971 gpuDynInst->computeUnit()->globalMemoryPipe
35972 .issueRequest(gpuDynInst);
35979 initMemWrite<VecElemU32>(gpuDynInst);
35991 setFlag(MemoryRef);
35993 if (instData.LDS) {
35994 setFlag(GroupSegment);
35996 setFlag(GlobalSegment);
36008 Wavefront *wf = gpuDynInst->wavefront();
36010 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36011 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
36030 addr0, addr1, rsrcDesc,
offset, inst_offset);
36035 addr0, addr1, rsrcDesc,
offset, inst_offset);
36040 addr1, addr0, rsrcDesc,
offset, inst_offset);
36046 addr1, addr0, rsrcDesc,
offset, inst_offset);
36050 gpuDynInst->computeUnit()->localMemoryPipe
36051 .issueRequest(gpuDynInst);
36053 gpuDynInst->computeUnit()->globalMemoryPipe
36054 .issueRequest(gpuDynInst);
36058 if (gpuDynInst->exec_mask[lane]) {
36059 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 4]
36061 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 1]
36070 initMemWrite<2>(gpuDynInst);
36082 setFlag(MemoryRef);
36084 if (instData.LDS) {
36085 setFlag(GroupSegment);
36087 setFlag(GlobalSegment);
36099 Wavefront *wf = gpuDynInst->wavefront();
36101 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36102 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
36123 addr0, addr1, rsrcDesc,
offset, inst_offset);
36128 addr0, addr1, rsrcDesc,
offset, inst_offset);
36133 addr1, addr0, rsrcDesc,
offset, inst_offset);
36139 addr1, addr0, rsrcDesc,
offset, inst_offset);
36143 gpuDynInst->computeUnit()->localMemoryPipe
36144 .issueRequest(gpuDynInst);
36146 gpuDynInst->computeUnit()->globalMemoryPipe
36147 .issueRequest(gpuDynInst);
36151 if (gpuDynInst->exec_mask[lane]) {
36152 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 4]
36154 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 1]
36156 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 2]
36165 initMemWrite<3>(gpuDynInst);
36177 setFlag(MemoryRef);
36179 if (instData.LDS) {
36180 setFlag(GroupSegment);
36182 setFlag(GlobalSegment);
36194 Wavefront *wf = gpuDynInst->wavefront();
36196 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36197 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
36220 addr0, addr1, rsrcDesc,
offset, inst_offset);
36225 addr0, addr1, rsrcDesc,
offset, inst_offset);
36230 addr1, addr0, rsrcDesc,
offset, inst_offset);
36236 addr1, addr0, rsrcDesc,
offset, inst_offset);
36240 gpuDynInst->computeUnit()->localMemoryPipe
36241 .issueRequest(gpuDynInst);
36243 gpuDynInst->computeUnit()->globalMemoryPipe
36244 .issueRequest(gpuDynInst);
36248 if (gpuDynInst->exec_mask[lane]) {
36249 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 4]
36251 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 1]
36253 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 2]
36255 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane*4 + 3]
36264 initMemWrite<4>(gpuDynInst);
36274 :
Inst_MUBUF(iFmt,
"buffer_store_lds_dword")
36276 setFlag(GlobalSegment);
36295 setFlag(GPUStaticInst::MemSync);
36309 Wavefront *wf = gpuDynInst->wavefront();
36311 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36312 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
36314 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
36315 gpuDynInst->computeUnit()->globalMemoryPipe.
36316 issueRequest(gpuDynInst);
36318 fatal(
"Unsupported scope for flat instruction.\n");
36343 setFlag(MemoryRef);
36344 setFlag(GPUStaticInst::MemSync);
36345 setFlag(GlobalSegment);
36358 Wavefront *wf = gpuDynInst->wavefront();
36360 gpuDynInst->latency.init(gpuDynInst->computeUnit());
36361 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
36363 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
36364 gpuDynInst->computeUnit()->globalMemoryPipe.
36365 issueRequest(gpuDynInst);
36367 fatal(
"Unsupported scope for flat instruction.\n");
36384 setFlag(AtomicExch);
36385 if (instData.GLC) {
36386 setFlag(AtomicReturn);
36388 setFlag(AtomicNoReturn);
36390 setFlag(MemoryRef);
36391 setFlag(GlobalSegment);
36411 setFlag(AtomicCAS);
36412 if (instData.GLC) {
36413 setFlag(AtomicReturn);
36415 setFlag(AtomicNoReturn);
36417 setFlag(MemoryRef);
36418 setFlag(GlobalSegment);
36440 setFlag(AtomicAdd);
36441 if (instData.GLC) {
36442 setFlag(AtomicReturn);
36444 setFlag(AtomicNoReturn);
36446 setFlag(MemoryRef);
36447 setFlag(GlobalSegment);
36467 setFlag(AtomicSub);
36468 if (instData.GLC) {
36469 setFlag(AtomicReturn);
36471 setFlag(AtomicNoReturn);
36473 setFlag(MemoryRef);
36474 setFlag(GlobalSegment);
36494 setFlag(AtomicMin);
36495 if (instData.GLC) {
36496 setFlag(AtomicReturn);
36498 setFlag(AtomicNoReturn);
36500 setFlag(MemoryRef);
36501 setFlag(GlobalSegment);
36521 setFlag(AtomicMin);
36522 if (instData.GLC) {
36523 setFlag(AtomicReturn);
36525 setFlag(AtomicNoReturn);
36527 setFlag(MemoryRef);
36528 setFlag(GlobalSegment);
36548 setFlag(AtomicMax);
36549 if (instData.GLC) {
36550 setFlag(AtomicReturn);
36552 setFlag(AtomicNoReturn);
36554 setFlag(MemoryRef);
36555 setFlag(GlobalSegment);
36575 setFlag(AtomicMax);
36576 if (instData.GLC) {
36577 setFlag(AtomicReturn);
36579 setFlag(AtomicNoReturn);
36581 setFlag(MemoryRef);
36582 setFlag(GlobalSegment);
36602 setFlag(AtomicAnd);
36603 if (instData.GLC) {
36604 setFlag(AtomicReturn);
36606 setFlag(AtomicNoReturn);
36608 setFlag(MemoryRef);
36609 setFlag(GlobalSegment);
36630 if (instData.GLC) {
36631 setFlag(AtomicReturn);
36633 setFlag(AtomicNoReturn);
36635 setFlag(MemoryRef);
36636 setFlag(GlobalSegment);
36656 setFlag(AtomicXor);
36657 if (instData.GLC) {
36658 setFlag(AtomicReturn);
36660 setFlag(AtomicNoReturn);
36662 setFlag(MemoryRef);
36663 setFlag(GlobalSegment);
36683 setFlag(AtomicInc);
36684 if (instData.GLC) {
36685 setFlag(AtomicReturn);
36687 setFlag(AtomicNoReturn);
36689 setFlag(MemoryRef);
36690 setFlag(GlobalSegment);
36710 setFlag(AtomicDec);
36711 if (instData.GLC) {
36712 setFlag(AtomicReturn);
36714 setFlag(AtomicNoReturn);
36716 setFlag(MemoryRef);
36717 setFlag(GlobalSegment);
36737 setFlag(AtomicExch);
36738 if (instData.GLC) {
36739 setFlag(AtomicReturn);
36741 setFlag(AtomicNoReturn);
36743 setFlag(MemoryRef);
36744 setFlag(GlobalSegment);
36762 :
Inst_MUBUF(iFmt,
"buffer_atomic_cmpswap_x2")
36764 setFlag(AtomicCAS);
36765 if (instData.GLC) {
36766 setFlag(AtomicReturn);
36768 setFlag(AtomicNoReturn);
36770 setFlag(MemoryRef);
36771 setFlag(GlobalSegment);
36794 setFlag(AtomicAdd);
36795 if (instData.GLC) {
36796 setFlag(AtomicReturn);
36798 setFlag(AtomicNoReturn);
36800 setFlag(MemoryRef);
36801 setFlag(GlobalSegment);
36821 setFlag(AtomicSub);
36822 if (instData.GLC) {
36823 setFlag(AtomicReturn);
36825 setFlag(AtomicNoReturn);
36827 setFlag(MemoryRef);
36828 setFlag(GlobalSegment);
36848 setFlag(AtomicMin);
36849 if (instData.GLC) {
36850 setFlag(AtomicReturn);
36852 setFlag(AtomicNoReturn);
36854 setFlag(MemoryRef);
36855 setFlag(GlobalSegment);
36875 setFlag(AtomicMin);
36876 if (instData.GLC) {
36877 setFlag(AtomicReturn);
36879 setFlag(AtomicNoReturn);
36881 setFlag(MemoryRef);
36882 setFlag(GlobalSegment);
36902 setFlag(AtomicMax);
36903 if (instData.GLC) {
36904 setFlag(AtomicReturn);
36906 setFlag(AtomicNoReturn);
36908 setFlag(MemoryRef);
36909 setFlag(GlobalSegment);
36929 setFlag(AtomicMax);
36930 if (instData.GLC) {
36931 setFlag(AtomicReturn);
36933 setFlag(AtomicNoReturn);
36935 setFlag(MemoryRef);
36936 setFlag(GlobalSegment);
36956 setFlag(AtomicAnd);
36957 if (instData.GLC) {
36958 setFlag(AtomicReturn);
36960 setFlag(AtomicNoReturn);
36962 setFlag(MemoryRef);
36963 setFlag(GlobalSegment);
36984 if (instData.GLC) {
36985 setFlag(AtomicReturn);
36987 setFlag(AtomicNoReturn);
36989 setFlag(MemoryRef);
36990 setFlag(GlobalSegment);
37010 setFlag(AtomicXor);
37011 if (instData.GLC) {
37012 setFlag(AtomicReturn);
37014 setFlag(AtomicNoReturn);
37016 setFlag(MemoryRef);
37017 setFlag(GlobalSegment);
37037 setFlag(AtomicInc);
37038 if (instData.GLC) {
37039 setFlag(AtomicReturn);
37041 setFlag(AtomicNoReturn);
37043 setFlag(MemoryRef);
37044 setFlag(GlobalSegment);
37064 setFlag(AtomicDec);
37065 if (instData.GLC) {
37066 setFlag(AtomicReturn);
37068 setFlag(AtomicNoReturn);
37070 setFlag(MemoryRef);
37071 setFlag(GlobalSegment);
37092 setFlag(MemoryRef);
37094 setFlag(GlobalSegment);
37120 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_xy")
37122 setFlag(MemoryRef);
37124 setFlag(GlobalSegment);
37150 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_xyz")
37152 setFlag(MemoryRef);
37154 setFlag(GlobalSegment);
37180 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_xyzw")
37182 setFlag(MemoryRef);
37184 setFlag(GlobalSegment);
37211 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_x")
37213 setFlag(MemoryRef);
37215 setFlag(GlobalSegment);
37241 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_xy")
37243 setFlag(MemoryRef);
37245 setFlag(GlobalSegment);
37271 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_xyz")
37273 setFlag(MemoryRef);
37275 setFlag(GlobalSegment);
37302 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_xyzw")
37304 setFlag(MemoryRef);
37306 setFlag(GlobalSegment);
37335 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_d16_x")
37337 setFlag(MemoryRef);
37339 setFlag(GlobalSegment);
37368 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_d16_xy")
37370 setFlag(MemoryRef);
37372 setFlag(GlobalSegment);
37402 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_d16_xyz")
37404 setFlag(MemoryRef);
37406 setFlag(GlobalSegment);
37436 :
Inst_MTBUF(iFmt,
"tbuffer_load_format_d16_xyzw")
37438 setFlag(MemoryRef);
37440 setFlag(GlobalSegment);
37469 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_d16_x")
37471 setFlag(MemoryRef);
37473 setFlag(GlobalSegment);
37502 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_d16_xy")
37504 setFlag(MemoryRef);
37506 setFlag(GlobalSegment);
37535 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_d16_xyz")
37537 setFlag(MemoryRef);
37539 setFlag(GlobalSegment);
37568 :
Inst_MTBUF(iFmt,
"tbuffer_store_format_d16_xyzw")
37570 setFlag(MemoryRef);
37572 setFlag(GlobalSegment);
37687 :
Inst_MIMG(iFmt,
"image_load_pck_sgn")
37717 :
Inst_MIMG(iFmt,
"image_load_mip_pck")
37747 :
Inst_MIMG(iFmt,
"image_load_mip_pck_sgn")
37863 :
Inst_MIMG(iFmt,
"image_store_mip_pck")
37937 :
Inst_MIMG(iFmt,
"image_atomic_cmpswap")
38435 :
Inst_MIMG(iFmt,
"image_sample_c_d_cl")
38484 :
Inst_MIMG(iFmt,
"image_sample_c_b_cl")
38567 :
Inst_MIMG(iFmt,
"image_sample_d_cl_o")
38616 :
Inst_MIMG(iFmt,
"image_sample_b_cl_o")
38666 :
Inst_MIMG(iFmt,
"image_sample_c_cl_o")
38683 :
Inst_MIMG(iFmt,
"image_sample_c_d_o")
38700 :
Inst_MIMG(iFmt,
"image_sample_c_d_cl_o")
38717 :
Inst_MIMG(iFmt,
"image_sample_c_l_o")
38734 :
Inst_MIMG(iFmt,
"image_sample_c_b_o")
38751 :
Inst_MIMG(iFmt,
"image_sample_c_b_cl_o")
38768 :
Inst_MIMG(iFmt,
"image_sample_c_lz_o")
38849 :
Inst_MIMG(iFmt,
"image_gather4_b_cl")
38898 :
Inst_MIMG(iFmt,
"image_gather4_c_cl")
38949 :
Inst_MIMG(iFmt,
"image_gather4_c_b_cl")
38966 :
Inst_MIMG(iFmt,
"image_gather4_c_lz")
38999 :
Inst_MIMG(iFmt,
"image_gather4_cl_o")
39050 :
Inst_MIMG(iFmt,
"image_gather4_b_cl_o")
39067 :
Inst_MIMG(iFmt,
"image_gather4_lz_o")
39101 :
Inst_MIMG(iFmt,
"image_gather4_c_cl_o")
39118 :
Inst_MIMG(iFmt,
"image_gather4_c_l_o")
39135 :
Inst_MIMG(iFmt,
"image_gather4_c_b_o")
39152 :
Inst_MIMG(iFmt,
"image_gather4_c_b_cl_o")
39169 :
Inst_MIMG(iFmt,
"image_gather4_c_lz_o")
39218 :
Inst_MIMG(iFmt,
"image_sample_cd_cl")
39252 :
Inst_MIMG(iFmt,
"image_sample_c_cd_cl")
39286 :
Inst_MIMG(iFmt,
"image_sample_cd_cl_o")
39303 :
Inst_MIMG(iFmt,
"image_sample_c_cd_o")
39320 :
Inst_MIMG(iFmt,
"image_sample_c_cd_cl_o")
39365 Wavefront *wf = gpuDynInst->wavefront();
39367 if (gpuDynInst->exec_mask.none()) {
39376 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39377 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39385 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39386 gpuDynInst->computeUnit()->globalMemoryPipe
39387 .issueRequest(gpuDynInst);
39388 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39389 gpuDynInst->computeUnit()->localMemoryPipe
39390 .issueRequest(gpuDynInst);
39392 fatal(
"Unsupported scope for flat instruction.\n");
39399 initMemRead<VecElemU8>(gpuDynInst);
39408 if (gpuDynInst->exec_mask[lane]) {
39410 gpuDynInst->d_data))[lane]);
39432 Wavefront *wf = gpuDynInst->wavefront();
39434 if (gpuDynInst->exec_mask.none()) {
39443 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39444 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39452 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39453 gpuDynInst->computeUnit()->globalMemoryPipe
39454 .issueRequest(gpuDynInst);
39455 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39456 gpuDynInst->computeUnit()->localMemoryPipe
39457 .issueRequest(gpuDynInst);
39459 fatal(
"Unsupported scope for flat instruction.\n");
39466 initMemRead<VecElemI8>(gpuDynInst);
39475 if (gpuDynInst->exec_mask[lane]) {
39477 gpuDynInst->d_data))[lane]);
39498 Wavefront *wf = gpuDynInst->wavefront();
39500 if (gpuDynInst->exec_mask.none()) {
39509 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39510 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39518 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39519 gpuDynInst->computeUnit()->globalMemoryPipe
39520 .issueRequest(gpuDynInst);
39521 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39522 gpuDynInst->computeUnit()->localMemoryPipe
39523 .issueRequest(gpuDynInst);
39525 fatal(
"Unsupported scope for flat instruction.\n");
39532 initMemRead<VecElemU16>(gpuDynInst);
39541 if (gpuDynInst->exec_mask[lane]) {
39543 gpuDynInst->d_data))[lane]);
39593 Wavefront *wf = gpuDynInst->wavefront();
39595 if (gpuDynInst->exec_mask.none()) {
39604 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39605 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39613 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39614 gpuDynInst->computeUnit()->globalMemoryPipe
39615 .issueRequest(gpuDynInst);
39616 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39617 gpuDynInst->computeUnit()->localMemoryPipe
39618 .issueRequest(gpuDynInst);
39620 fatal(
"Unsupported scope for flat instruction.\n");
39627 initMemRead<VecElemU32>(gpuDynInst);
39636 if (gpuDynInst->exec_mask[lane]) {
39637 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
39638 gpuDynInst->d_data))[lane];
39660 Wavefront *wf = gpuDynInst->wavefront();
39662 if (gpuDynInst->exec_mask.none()) {
39671 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39672 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39680 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39681 gpuDynInst->computeUnit()->globalMemoryPipe
39682 .issueRequest(gpuDynInst);
39683 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39684 gpuDynInst->computeUnit()->localMemoryPipe
39685 .issueRequest(gpuDynInst);
39687 fatal(
"Unsupported scope for flat instruction.\n");
39694 initMemRead<VecElemU64>(gpuDynInst);
39703 if (gpuDynInst->exec_mask[lane]) {
39704 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
39705 gpuDynInst->d_data))[lane];
39727 Wavefront *wf = gpuDynInst->wavefront();
39729 if (gpuDynInst->exec_mask.none()) {
39738 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39739 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39747 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39748 gpuDynInst->computeUnit()->globalMemoryPipe
39749 .issueRequest(gpuDynInst);
39750 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39751 gpuDynInst->computeUnit()->localMemoryPipe
39752 .issueRequest(gpuDynInst);
39754 fatal(
"Unsupported scope for flat instruction.\n");
39761 initMemRead<3>(gpuDynInst);
39772 if (gpuDynInst->exec_mask[lane]) {
39773 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
39774 gpuDynInst->d_data))[lane * 3];
39775 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
39776 gpuDynInst->d_data))[lane * 3 + 1];
39777 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
39778 gpuDynInst->d_data))[lane * 3 + 2];
39803 Wavefront *wf = gpuDynInst->wavefront();
39805 if (gpuDynInst->exec_mask.none()) {
39814 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39815 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39823 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39824 gpuDynInst->computeUnit()->globalMemoryPipe
39825 .issueRequest(gpuDynInst);
39826 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39827 gpuDynInst->computeUnit()->localMemoryPipe
39828 .issueRequest(gpuDynInst);
39830 fatal(
"Unsupported scope for flat instruction.\n");
39837 initMemRead<4>(gpuDynInst);
39849 if (gpuDynInst->exec_mask[lane]) {
39850 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
39851 gpuDynInst->d_data))[lane * 4];
39852 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
39853 gpuDynInst->d_data))[lane * 4 + 1];
39854 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
39855 gpuDynInst->d_data))[lane * 4 + 2];
39856 vdst3[lane] = (
reinterpret_cast<VecElemU32*
>(
39857 gpuDynInst->d_data))[lane * 4 + 3];
39882 Wavefront *wf = gpuDynInst->wavefront();
39884 if (gpuDynInst->exec_mask.none()) {
39893 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39894 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39905 if (gpuDynInst->exec_mask[lane]) {
39906 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
39911 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39912 gpuDynInst->computeUnit()->globalMemoryPipe
39913 .issueRequest(gpuDynInst);
39914 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39915 gpuDynInst->computeUnit()->localMemoryPipe
39916 .issueRequest(gpuDynInst);
39918 fatal(
"Unsupported scope for flat instruction.\n");
39925 initMemWrite<VecElemU8>(gpuDynInst);
39948 Wavefront *wf = gpuDynInst->wavefront();
39950 if (gpuDynInst->exec_mask.none()) {
39959 gpuDynInst->latency.init(gpuDynInst->computeUnit());
39960 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
39971 if (gpuDynInst->exec_mask[lane]) {
39972 (
reinterpret_cast<VecElemU16*
>(gpuDynInst->d_data))[lane]
39977 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
39978 gpuDynInst->computeUnit()->globalMemoryPipe
39979 .issueRequest(gpuDynInst);
39980 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
39981 gpuDynInst->computeUnit()->localMemoryPipe
39982 .issueRequest(gpuDynInst);
39984 fatal(
"Unsupported scope for flat instruction.\n");
39991 initMemWrite<VecElemU16>(gpuDynInst);
40014 Wavefront *wf = gpuDynInst->wavefront();
40016 if (gpuDynInst->exec_mask.none()) {
40025 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40026 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40037 if (gpuDynInst->exec_mask[lane]) {
40038 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane]
40043 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40044 gpuDynInst->computeUnit()->globalMemoryPipe
40045 .issueRequest(gpuDynInst);
40046 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40047 gpuDynInst->computeUnit()->localMemoryPipe
40048 .issueRequest(gpuDynInst);
40050 fatal(
"Unsupported scope for flat instruction.\n");
40057 initMemWrite<VecElemU32>(gpuDynInst);
40067 :
Inst_FLAT(iFmt,
"flat_store_dwordx2")
40081 Wavefront *wf = gpuDynInst->wavefront();
40083 if (gpuDynInst->exec_mask.none()) {
40092 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40093 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40104 if (gpuDynInst->exec_mask[lane]) {
40105 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->d_data))[lane]
40110 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40111 gpuDynInst->computeUnit()->globalMemoryPipe
40112 .issueRequest(gpuDynInst);
40113 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40114 gpuDynInst->computeUnit()->localMemoryPipe
40115 .issueRequest(gpuDynInst);
40117 fatal(
"Unsupported scope for flat instruction.\n");
40124 initMemWrite<VecElemU64>(gpuDynInst);
40134 :
Inst_FLAT(iFmt,
"flat_store_dwordx3")
40148 Wavefront *wf = gpuDynInst->wavefront();
40150 if (gpuDynInst->exec_mask.none()) {
40159 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40160 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40175 if (gpuDynInst->exec_mask[lane]) {
40177 gpuDynInst->d_data))[lane * 3] = data0[lane];
40179 gpuDynInst->d_data))[lane * 3 + 1] = data1[lane];
40181 gpuDynInst->d_data))[lane * 3 + 2] = data2[lane];
40185 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40186 gpuDynInst->computeUnit()->globalMemoryPipe
40187 .issueRequest(gpuDynInst);
40188 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40189 gpuDynInst->computeUnit()->localMemoryPipe
40190 .issueRequest(gpuDynInst);
40192 fatal(
"Unsupported scope for flat instruction.\n");
40199 initMemWrite<3>(gpuDynInst);
40209 :
Inst_FLAT(iFmt,
"flat_store_dwordx4")
40223 Wavefront *wf = gpuDynInst->wavefront();
40225 if (gpuDynInst->exec_mask.none()) {
40234 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40235 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40252 if (gpuDynInst->exec_mask[lane]) {
40254 gpuDynInst->d_data))[lane * 4] = data0[lane];
40256 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
40258 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
40260 gpuDynInst->d_data))[lane * 4 + 3] = data3[lane];
40264 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40265 gpuDynInst->computeUnit()->globalMemoryPipe
40266 .issueRequest(gpuDynInst);
40267 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40268 gpuDynInst->computeUnit()->localMemoryPipe
40269 .issueRequest(gpuDynInst);
40271 fatal(
"Unsupported scope for flat instruction.\n");
40278 initMemWrite<4>(gpuDynInst);
40308 Wavefront *wf = gpuDynInst->wavefront();
40310 if (gpuDynInst->exec_mask.none()) {
40321 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40322 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40330 if (gpuDynInst->executedAs() == enums::SC_GLOBAL ||
40331 gpuDynInst->executedAs() == enums::SC_PRIVATE) {
40333 panic_if(gpuDynInst->executedAs() == enums::SC_PRIVATE,
40334 "Flats to private aperture not tested yet\n");
40335 gpuDynInst->computeUnit()->globalMemoryPipe.
40336 issueRequest(gpuDynInst);
40337 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40338 gpuDynInst->computeUnit()->localMemoryPipe
40339 .issueRequest(gpuDynInst);
40341 fatal(
"Unsupported scope for flat instruction.\n");
40349 if (gpuDynInst->exec_mask[lane]) {
40350 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
40360 initAtomicAccess<VecElemU32>(gpuDynInst);
40370 if (gpuDynInst->exec_mask[lane]) {
40371 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
40372 gpuDynInst->d_data))[lane];
40384 :
Inst_FLAT(iFmt,
"flat_atomic_cmpswap")
40386 setFlag(AtomicCAS);
40387 if (instData.GLC) {
40388 setFlag(AtomicReturn);
40390 setFlag(AtomicNoReturn);
40392 setFlag(MemoryRef);
40407 Wavefront *wf = gpuDynInst->wavefront();
40409 if (gpuDynInst->exec_mask.none()) {
40420 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40421 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40434 if (gpuDynInst->exec_mask[lane]) {
40435 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->x_data))[lane]
40437 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
40442 if (gpuDynInst->executedAs() == enums::SC_GLOBAL ||
40443 gpuDynInst->executedAs() == enums::SC_PRIVATE) {
40450 panic_if(gpuDynInst->executedAs() == enums::SC_PRIVATE,
40451 "Flats to private aperture not tested yet\n");
40452 gpuDynInst->computeUnit()->globalMemoryPipe.
40453 issueRequest(gpuDynInst);
40454 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40455 gpuDynInst->computeUnit()->localMemoryPipe
40456 .issueRequest(gpuDynInst);
40458 fatal(
"Unsupported scope for flat instruction.\n");
40465 initAtomicAccess<VecElemU32>(gpuDynInst);
40475 if (gpuDynInst->exec_mask[lane]) {
40476 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
40477 gpuDynInst->d_data))[lane];
40507 Wavefront *wf = gpuDynInst->wavefront();
40509 if (gpuDynInst->exec_mask.none()) {
40520 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40521 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40532 if (gpuDynInst->exec_mask[lane]) {
40533 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
40538 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40539 gpuDynInst->computeUnit()->globalMemoryPipe.
40540 issueRequest(gpuDynInst);
40541 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40542 gpuDynInst->computeUnit()->localMemoryPipe
40543 .issueRequest(gpuDynInst);
40545 fatal(
"Unsupported scope for flat instruction.\n");
40552 initAtomicAccess<VecElemU32>(gpuDynInst);
40562 if (gpuDynInst->exec_mask[lane]) {
40563 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
40564 gpuDynInst->d_data))[lane];
40594 Wavefront *wf = gpuDynInst->wavefront();
40596 if (gpuDynInst->exec_mask.none()) {
40607 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40608 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40619 if (gpuDynInst->exec_mask[lane]) {
40620 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
40625 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40626 gpuDynInst->computeUnit()->globalMemoryPipe.
40627 issueRequest(gpuDynInst);
40628 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40629 gpuDynInst->computeUnit()->localMemoryPipe
40630 .issueRequest(gpuDynInst);
40632 fatal(
"Unsupported scope for flat instruction.\n");
40638 initAtomicAccess<VecElemU32>(gpuDynInst);
40648 if (gpuDynInst->exec_mask[lane]) {
40649 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
40650 gpuDynInst->d_data))[lane];
40855 Wavefront *wf = gpuDynInst->wavefront();
40857 if (gpuDynInst->exec_mask.none()) {
40868 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40869 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40880 if (gpuDynInst->exec_mask[lane]) {
40881 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
40886 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40887 gpuDynInst->computeUnit()->globalMemoryPipe.
40888 issueRequest(gpuDynInst);
40889 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40890 gpuDynInst->computeUnit()->localMemoryPipe
40891 .issueRequest(gpuDynInst);
40893 fatal(
"Unsupported scope for flat instruction.\n");
40900 initAtomicAccess<VecElemU32>(gpuDynInst);
40910 if (gpuDynInst->exec_mask[lane]) {
40911 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
40912 gpuDynInst->d_data))[lane];
40942 Wavefront *wf = gpuDynInst->wavefront();
40944 if (gpuDynInst->exec_mask.none()) {
40955 gpuDynInst->latency.init(gpuDynInst->computeUnit());
40956 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
40967 if (gpuDynInst->exec_mask[lane]) {
40968 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
40973 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
40974 gpuDynInst->computeUnit()->globalMemoryPipe.
40975 issueRequest(gpuDynInst);
40976 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
40977 gpuDynInst->computeUnit()->localMemoryPipe
40978 .issueRequest(gpuDynInst);
40980 fatal(
"Unsupported scope for flat instruction.\n");
40987 initAtomicAccess<VecElemU32>(gpuDynInst);
40997 if (gpuDynInst->exec_mask[lane]) {
40998 vdst[lane] = (
reinterpret_cast<VecElemU32*
>(
40999 gpuDynInst->d_data))[lane];
41009 :
Inst_FLAT(iFmt,
"flat_atomic_swap_x2")
41035 :
Inst_FLAT(iFmt,
"flat_atomic_cmpswap_x2")
41058 Wavefront *wf = gpuDynInst->wavefront();
41060 if (gpuDynInst->exec_mask.none()) {
41071 gpuDynInst->latency.init(gpuDynInst->computeUnit());
41072 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
41085 if (gpuDynInst->exec_mask[lane]) {
41086 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->x_data))[lane]
41088 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
41093 if (gpuDynInst->executedAs() == enums::SC_GLOBAL ||
41094 gpuDynInst->executedAs() == enums::SC_PRIVATE) {
41101 panic_if(gpuDynInst->executedAs() == enums::SC_PRIVATE,
41102 "Flats to private aperture not tested yet\n");
41103 gpuDynInst->computeUnit()->globalMemoryPipe.
41104 issueRequest(gpuDynInst);
41105 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
41106 gpuDynInst->computeUnit()->localMemoryPipe
41107 .issueRequest(gpuDynInst);
41109 fatal(
"Unsupported scope for flat instruction.\n");
41116 initAtomicAccess<VecElemU64>(gpuDynInst);
41126 if (gpuDynInst->exec_mask[lane]) {
41127 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
41128 gpuDynInst->d_data))[lane];
41138 :
Inst_FLAT(iFmt,
"flat_atomic_add_x2")
41159 Wavefront *wf = gpuDynInst->wavefront();
41161 if (gpuDynInst->exec_mask.none()) {
41172 gpuDynInst->latency.init(gpuDynInst->computeUnit());
41173 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
41184 if (gpuDynInst->exec_mask[lane]) {
41185 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
41190 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
41191 gpuDynInst->computeUnit()->globalMemoryPipe.
41192 issueRequest(gpuDynInst);
41193 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
41194 gpuDynInst->computeUnit()->localMemoryPipe
41195 .issueRequest(gpuDynInst);
41197 fatal(
"Unsupported scope for flat instruction.\n");
41204 initAtomicAccess<VecElemU64>(gpuDynInst);
41215 if (gpuDynInst->exec_mask[lane]) {
41216 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
41217 gpuDynInst->d_data))[lane];
41227 :
Inst_FLAT(iFmt,
"flat_atomic_sub_x2")
41248 Wavefront *wf = gpuDynInst->wavefront();
41250 if (gpuDynInst->exec_mask.none()) {
41261 gpuDynInst->latency.init(gpuDynInst->computeUnit());
41262 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
41273 if (gpuDynInst->exec_mask[lane]) {
41274 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
41279 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
41280 gpuDynInst->computeUnit()->globalMemoryPipe.
41281 issueRequest(gpuDynInst);
41282 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
41283 gpuDynInst->computeUnit()->localMemoryPipe
41284 .issueRequest(gpuDynInst);
41286 fatal(
"Unsupported scope for flat instruction.\n");
41293 initAtomicAccess<VecElemU64>(gpuDynInst);
41304 if (gpuDynInst->exec_mask[lane]) {
41305 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
41306 gpuDynInst->d_data))[lane];
41316 :
Inst_FLAT(iFmt,
"flat_atomic_smin_x2")
41342 :
Inst_FLAT(iFmt,
"flat_atomic_umin_x2")
41368 :
Inst_FLAT(iFmt,
"flat_atomic_smax_x2")
41394 :
Inst_FLAT(iFmt,
"flat_atomic_umax_x2")
41420 :
Inst_FLAT(iFmt,
"flat_atomic_and_x2")
41472 :
Inst_FLAT(iFmt,
"flat_atomic_xor_x2")
41498 :
Inst_FLAT(iFmt,
"flat_atomic_inc_x2")
41519 Wavefront *wf = gpuDynInst->wavefront();
41521 if (gpuDynInst->exec_mask.none()) {
41532 gpuDynInst->latency.init(gpuDynInst->computeUnit());
41533 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
41544 if (gpuDynInst->exec_mask[lane]) {
41545 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
41550 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
41551 gpuDynInst->computeUnit()->globalMemoryPipe.
41552 issueRequest(gpuDynInst);
41553 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
41554 gpuDynInst->computeUnit()->localMemoryPipe
41555 .issueRequest(gpuDynInst);
41557 fatal(
"Unsupported scope for flat instruction.\n");
41564 initAtomicAccess<VecElemU64>(gpuDynInst);
41575 if (gpuDynInst->exec_mask[lane]) {
41576 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
41577 gpuDynInst->d_data))[lane];
41587 :
Inst_FLAT(iFmt,
"flat_atomic_dec_x2")
41609 Wavefront *wf = gpuDynInst->wavefront();
41611 if (gpuDynInst->exec_mask.none()) {
41622 gpuDynInst->latency.init(gpuDynInst->computeUnit());
41623 gpuDynInst->latency.set(gpuDynInst->computeUnit()->clockPeriod());
41634 if (gpuDynInst->exec_mask[lane]) {
41635 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
41640 if (gpuDynInst->executedAs() == enums::SC_GLOBAL) {
41641 gpuDynInst->computeUnit()->globalMemoryPipe.
41642 issueRequest(gpuDynInst);
41643 }
else if (gpuDynInst->executedAs() == enums::SC_GROUP) {
41644 gpuDynInst->computeUnit()->localMemoryPipe
41645 .issueRequest(gpuDynInst);
41647 fatal(
"Unsupported scope for flat instruction.\n");
41654 initAtomicAccess<VecElemU64>(gpuDynInst);
41665 if (gpuDynInst->exec_mask[lane]) {
41666 vdst[lane] = (
reinterpret_cast<VecElemU64*
>(
41667 gpuDynInst->d_data))[lane];
Inst_VOP3__V_CMP_GE_U64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_MIN_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F16_U16(InFmt_VOP3 *)
~Inst_FLAT__FLAT_ATOMIC_SMIN_X2()
void execute(GPUDynInstPtr) override
Inst_DS__DS_INC_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LT_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_CMPSWAP()
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_VOPC__V_CMPX_GT_U64()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_SET_GPR_IDX_OFF(InFmt_SOPP *)
~Inst_MIMG__IMAGE_GATHER4_L_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_CMPSWAP()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_O_F32()
#define fatal(...)
This implements a cprintf based fatal() function.
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GET_RESINFO()
~Inst_VOP3__V_CMPX_NLG_F64()
~Inst_VOP3__V_CMP_F_U64()
~Inst_MUBUF__BUFFER_STORE_DWORDX3()
Inst_MIMG__IMAGE_ATOMIC_INC(InFmt_MIMG *)
Inst_VOP3__V_EXP_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_U64(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_MAX_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_OR()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CVT_F64_F32(InFmt_VOP1 *)
std::vector< int > vecReads
Inst_VOP3__V_CUBESC_F32(InFmt_VOP3 *)
~Inst_DS__DS_ADD_SRC2_F32()
void prepareFlush(GPUDynInstPtr gpuDynInst)
dispatcher/shader arranges flush requests to the CUs
Inst_VOPC__V_CMP_T_U32(InFmt_VOPC *)
~Inst_MIMG__IMAGE_ATOMIC_INC()
~Inst_VOPC__V_CMP_F_F16()
Inst_VOPC__V_CMP_GE_I16(InFmt_VOPC *)
Inst_VOP3__V_BFI_B32(InFmt_VOP3 *)
Inst_SOPP__S_ICACHE_INV(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_FREXP_MANT_F64()
~Inst_VOP3__V_CMPX_NEQ_F32()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CVT_F32_U32(InFmt_VOP1 *)
Inst_VOP3__V_CMPX_NGE_F32(InFmt_VOP3 *)
Inst_VOP1__V_FLOOR_F16(InFmt_VOP1 *)
~Inst_VOP3__V_TRUNC_F32()
Inst_MIMG__IMAGE_GATHER4_C_B_O(InFmt_MIMG *)
Inst_MIMG__IMAGE_SAMPLE_C_L(InFmt_MIMG *)
Inst_VOP3__V_CMP_T_I32(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_LG_F16()
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_UMIN_X2()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_T_I64()
~Inst_VOPC__V_CMP_LE_I64()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LSHRREV_B16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_RSQ_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_CLASS_F64()
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_LOAD_DWORDX8(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_RSUB_U32(InFmt_DS *)
~Inst_VOP3__V_CMP_NE_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_CL(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_INTERP_MOV_F32()
Inst_VOPC__V_CMP_GE_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GE_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_F_U64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_LZ()
Inst_VOP3__V_LERP_U8(InFmt_VOP3 *)
~Inst_VOP3__V_FREXP_EXP_I32_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GT_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_U16_F16()
~Inst_VOP3__V_CMPX_F_U16()
~Inst_SOP2__S_CSELECT_B64()
Inst_DS__DS_READ2_B32(InFmt_DS *)
~Inst_VOP3__V_CMP_GT_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_TRUNC_F16()
Inst_VOP3__V_QSAD_PK_U16_U8(InFmt_VOP3 *)
Inst_VOP3__V_CMP_LT_U16(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_NLG_F16(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NLE_F32(InFmt_VOP3 *)
~Inst_SOPK__S_CMPK_GE_U32()
Inst_VOPC__V_CMPX_NGE_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NLE_F32()
Inst_DS__DS_MAX_U32(InFmt_DS *)
Inst_VOPC__V_CMP_U_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_UMAX()
Inst_VOP3__V_CMPX_LT_F64(InFmt_VOP3 *)
~Inst_DS__DS_DEC_SRC2_U32()
~Inst_MIMG__IMAGE_SAMPLE_CD_CL()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LE_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NE_I32(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_GT_I64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MUL_HI_I32_I24(InFmt_VOP3 *)
~Inst_VINTRP__V_INTERP_P1_F32()
Inst_DS__DS_ADD_RTN_U32(InFmt_DS *)
~Inst_MIMG__IMAGE_SAMPLE_CL_O()
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MUL_LO_U16()
Inst_VOP3__V_CMP_EQ_I32(InFmt_VOP3 *)
Inst_VOP2__V_AND_B32(InFmt_VOP2 *)
~Inst_VOPC__V_CMPX_GE_F64()
Inst_VOP3__V_SUBREV_U32(InFmt_VOP3_SDST_ENC *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LE_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_RSUB_RTN_U64()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_F_F16()
Inst_VOP3__V_CMP_O_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_CMPST_F64(InFmt_DS *)
~Inst_VOP3__V_CMPX_LE_I16()
Inst_VOP3__V_MAX_F64(InFmt_VOP3 *)
Inst_SOP1__S_FF0_I32_B32(InFmt_SOP1 *)
Inst_VOP3__V_CMPX_NLT_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ADDC_U32(InFmt_VOP3_SDST_ENC *)
Inst_SOPP__S_ENDPGM(InFmt_SOPP *)
Inst_VOP1__V_LOG_LEGACY_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP1__V_EXP_LEGACY_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
T roundNearestEven(T val)
~Inst_VOP3__V_CMP_LE_I32()
~Inst_VOP2__V_SUBREV_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
T median(T val_0, T val_1, T val_2)
~Inst_DS__DS_AND_RTN_B64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_U16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_F_F64()
Inst_VOP3__V_LDEXP_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_F_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_EQ_I32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NE_I64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_OR_RTN_B32()
Inst_MIMG__IMAGE_SAMPLE_LZ(InFmt_MIMG *)
Inst_VOPC__V_CMP_T_I32(InFmt_VOPC *)
~Inst_VOPC__V_CMP_T_I64()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NGT_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_I16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NLG_F64()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_DWORDX3(InFmt_MUBUF *)
Inst_SOPP__S_TRAP(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ADDC_U32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MUL_U32_U24()
Inst_VOP2__V_MUL_HI_U32_U24(InFmt_VOP2 *)
Inst_FLAT__FLAT_LOAD_DWORDX2(InFmt_FLAT *)
~Inst_VOP2__V_CNDMASK_B32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_SRC2_U64(InFmt_DS *)
Inst_VOP3__V_INTERP_P2_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MQSAD_PK_U16_U8(InFmt_VOP3 *)
Inst_DS__DS_AND_RTN_B64(InFmt_DS *)
Inst_MIMG__IMAGE_ATOMIC_SUB(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_F_U32(InFmt_VOP3 *)
~Inst_SOP1__S_FLBIT_I32_I64()
Inst_VOPC__V_CMP_LG_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LE_I64()
Inst_VOP3__V_SAD_HI_U8(InFmt_VOP3 *)
Inst_DS__DS_GWS_INIT(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_CBRANCH_JOIN()
Inst_VOP3__V_MUL_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_TRU_F16()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NGT_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LT_I64()
Inst_VOP3__V_CMP_GT_I64(InFmt_VOP3 *)
Inst_VOP3__V_MUL_HI_I32(InFmt_VOP3 *)
~Inst_VOPC__V_CMP_GT_U16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_XOR_B32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPP__S_TTRACEDATA(InFmt_SOPP *)
~Inst_VOP3__V_LSHRREV_B64()
Inst_SOP2__S_OR_B64(InFmt_SOP2 *)
Inst_VOPC__V_CMPX_LT_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_T_I64(InFmt_VOP3 *)
~Inst_VOP3__V_CMPX_GT_U64()
~Inst_SOPP__S_TTRACEDATA()
Inst_VOP3__V_MIN3_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_OR_SRC2_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NE_U64()
~Inst_SOPP__S_SENDMSGHALT()
Inst_VOPC__V_CMP_O_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_SWAP_X2()
void flushBuf(int wfSlotId)
~Inst_SMEM__S_LOAD_DWORD()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_F_U16(InFmt_VOP3 *)
~Inst_VOP2__V_MUL_HI_I32_I24()
Inst_SMEM__S_STORE_DWORDX2(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CVT_F32_UBYTE3(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_F_U64(InFmt_VOPC *)
~Inst_VOP1__V_CVT_I16_F16()
~Inst_VOP3__V_MUL_HI_U32()
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MUL_I32_I24()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAD_F16(InFmt_VOP3 *)
~Inst_VOP3__V_CVT_I32_F64()
Inst_DS__DS_ORDERED_COUNT(InFmt_DS *)
~Inst_VOPC__V_CMP_NGT_F64()
~Inst_SMEM__S_BUFFER_LOAD_DWORDX4()
~Inst_SOPC__S_CMP_LT_U32()
Inst_VOPC__V_CMP_NLE_F32(InFmt_VOPC *)
Inst_VOPC__V_CMPX_F_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_F_I32(InFmt_VOPC *)
~Inst_DS__DS_CMPST_RTN_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_SMAX_X2()
Inst_VOP3__V_CMP_LT_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_SRC2_F32(InFmt_DS *)
~Inst_MUBUF__BUFFER_LOAD_UBYTE()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_LOAD_SSHORT()
~Inst_VOP3__V_QSAD_PK_U16_U8()
Inst_SOPP__S_WAITCNT(InFmt_SOPP *)
~Inst_DS__DS_DEC_SRC2_U64()
Inst_MIMG__IMAGE_STORE_MIP(InFmt_MIMG *)
Inst_VOPC__V_CMPX_NGE_F16(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_F_U32()
Inst_SOPK__S_CMPK_LG_U32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LE_F64(InFmt_VOP3 *)
~Inst_VOP3__V_CMPX_GE_U32()
Inst_VOP2__V_MAX_F32(InFmt_VOP2 *)
Inst_VOP3__V_CVT_I32_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GT_I32()
~Inst_VOP3__V_CVT_PKNORM_U16_F32()
Inst_VOP3__V_CMPX_F_F64(InFmt_VOP3 *)
void initiateAcc(GPUDynInstPtr) override
~Inst_DS__DS_MIN_SRC2_I32()
~Inst_VOP3__V_CMPX_NLG_F16()
~Inst_VOP3__V_CMP_LE_I64()
Inst_VOPC__V_CMPX_LT_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MUL_I32_I24(InFmt_VOP2 *)
Inst_MIMG__IMAGE_GATHER4(InFmt_MIMG *)
~Inst_MIMG__IMAGE_SAMPLE_C_D_O()
Inst_VOP1__V_CVT_F64_I32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LE_I16()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GT_F32(InFmt_VOPC *)
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_F64(InFmt_VOP3 *)
Inst_MIMG__IMAGE_GATHER4_LZ(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_STORE_LDS_DWORD()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_SSHORT(InFmt_MUBUF *)
~Inst_VOP3__V_INTERP_P1_F32()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GT_U64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GT_F64()
Inst_SOPP__S_SENDMSG(InFmt_SOPP *)
Inst_MIMG__IMAGE_ATOMIC_DEC(InFmt_MIMG *)
Inst_VOP3__V_CMPX_GE_I32(InFmt_VOP3 *)
Inst_DS__DS_GWS_SEMA_V(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_U32(InFmt_DS *)
Inst_VOP3__V_DIV_FIXUP_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_RNDNE_F16(InFmt_VOP1 *)
Inst_VOP3__V_CMP_LG_F16(InFmt_VOP3 *)
~Inst_DS__DS_WRXCHG2_RTN_B32()
Inst_VOP3__V_FRACT_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_B_CL()
~Inst_MIMG__IMAGE_SAMPLE_O()
Inst_SOP2__S_LSHL_B32(InFmt_SOP2 *)
~Inst_VOP3__V_CMPX_NGE_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_T_I16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BCNT1_I32_B32(InFmt_SOP1 *)
~Inst_VOP3__V_CMPX_NE_U64()
Inst_VOP2__V_ADD_U16(InFmt_VOP2 *)
Inst_VOPC__V_CMP_U_F16(InFmt_VOPC *)
Inst_EXP__EXP(InFmt_EXP *)
Inst_FLAT__FLAT_ATOMIC_XOR_X2(InFmt_FLAT *)
Inst_VOP3__V_CVT_OFF_F32_I4(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_F_F16(InFmt_VOP3 *)
~Inst_VOP1__V_RNDNE_F64()
Inst_DS__DS_RSUB_SRC2_U32(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP1__V_CVT_F32_UBYTE0(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NLT_F64()
~Inst_DS__DS_GWS_SEMA_RELEASE_ALL()
~Inst_VOP3__V_FLOOR_F32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_NGE_F16()
Inst_FLAT__FLAT_STORE_DWORDX4(InFmt_FLAT *)
Inst_SOP1__S_AND_SAVEEXEC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_CMPST_RTN_B32()
Inst_MIMG__IMAGE_GATHER4_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_XNOR_B64(InFmt_SOP2 *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_T_I64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FLBIT_I32_B64(InFmt_SOP1 *)
void completeAcc(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_GT_U32()
Inst_VOPC__V_CMPX_T_I16(InFmt_VOPC *)
~Inst_FLAT__FLAT_LOAD_DWORDX3()
~Inst_FLAT__FLAT_ATOMIC_AND_X2()
Inst_VOP3__V_SQRT_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_U32_F32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SUBBREV_U32(InFmt_VOP3_SDST_ENC *)
Inst_DS__DS_MAX_F32(InFmt_DS *)
~Inst_VOPC__V_CMP_NE_I16()
~Inst_VOPC__V_CMPX_T_U32()
~Inst_MIMG__IMAGE_SAMPLE()
~Inst_VOP3__V_MAD_U32_U24()
Inst_VOP3__V_CMPX_U_F16(InFmt_VOP3 *)
Inst_DS__DS_READ_U8(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FF1_I32_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_AND()
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_MIMG__IMAGE_LOAD_MIP_PCK_SGN()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BITSET0_B32(InFmt_SOP1 *)
void calcAddr(GPUDynInstPtr gpuDynInst, ConstVecOperandU64 &addr)
~Inst_MIMG__IMAGE_SAMPLE_D()
~Inst_SOPP__S_CBRANCH_CDBGUSER()
Inst_SOP1__S_BITSET0_B64(InFmt_SOP1 *)
Inst_VOP3__V_MOV_B32(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_GT_I32()
Inst_MIMG__IMAGE_SAMPLE_C_CD_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_T_U16()
Inst_VOPC__V_CMP_NGE_F64(InFmt_VOPC *)
Inst_VOP3__V_TRUNC_F32(InFmt_VOP3 *)
~Inst_MIMG__IMAGE_STORE()
Inst_VOP3__V_DIV_SCALE_F32(InFmt_VOP3_SDST_ENC *)
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_LE_U32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FMA_F32(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_T_I64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_B32(InFmt_DS *)
Inst_VOPC__V_CMPX_GT_U64(InFmt_VOPC *)
ScalarRegI32 findFirstZero(T val)
Inst_SOP1__S_BCNT0_I32_B64(InFmt_SOP1 *)
~Inst_VOPC__V_CMP_LE_U32()
~Inst_MIMG__IMAGE_SAMPLE_C()
Inst_VOP3__V_CMPX_NLE_F64(InFmt_VOP3 *)
Inst_VOPC__V_CMP_TRU_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Read 2 dwords from scalar data cache.
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_DWORDX4(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
statistics::Scalar completedWGs
~Inst_VOP2__V_SUBREV_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_ADDC_U32(InFmt_VOP2 *)
Inst_VOP3__V_CMP_NLG_F64(InFmt_VOP3 *)
Inst_MIMG__IMAGE_SAMPLE(InFmt_MIMG *)
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
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LSHLREV_B16()
~Inst_MIMG__IMAGE_ATOMIC_SMIN()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_EXECZ(InFmt_SOPP *)
Inst_DS__DS_GWS_BARRIER(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
Inst_SOP2__S_AND_B32(InFmt_SOP2 *)
Inst_VOP1__V_COS_F32(InFmt_VOP1 *)
void calcAddr(GPUDynInstPtr gpu_dyn_inst, ConstScalarOperandU64 &addr, ScalarRegU32 offset)
For normal s_load_dword/s_store_dword instruction addresses.
~Inst_FLAT__FLAT_LOAD_DWORDX4()
Inst_SOPP__S_BARRIER(InFmt_SOPP *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP2__S_XNOR_B32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_UBYTE0()
Inst_VOP3__V_CMP_EQ_F32(InFmt_VOP3 *)
Inst_VOP2__V_OR_B32(InFmt_VOP2 *)
Inst_VOPC__V_CMPX_GT_I32(InFmt_VOPC *)
Inst_MIMG__IMAGE_STORE_MIP_PCK(InFmt_MIMG *)
~Inst_SOPK__S_CMPK_LG_U32()
~Inst_DS__DS_CMPST_RTN_F64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_TRUNC_F64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_U16()
Inst_VOP3__V_MAX_U16(InFmt_VOP3 *)
Inst_VOP1__V_FREXP_MANT_F16(InFmt_VOP1 *)
~Inst_DS__DS_OR_RTN_B64()
Inst_VOP3__V_CMP_CLASS_F32(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_NLG_F16()
Inst_SOP1__S_FF1_I32_B64(InFmt_SOP1 *)
Inst_SOP2__S_XOR_B32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_SUB_SRC2_U64()
Inst_VOP3__V_SUB_F32(InFmt_VOP3 *)
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_AND_SRC2_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GE_I16(InFmt_VOP3 *)
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 ...
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_CD_O()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_SQRT_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F64_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_D(InFmt_MIMG *)
Inst_SOPK__S_CMPK_LE_U32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MUL_LEGACY_F32(InFmt_VOP2 *)
~Inst_VOPC__V_CMPX_NE_I16()
~Inst_FLAT__FLAT_ATOMIC_OR_X2()
Inst_VOP3__V_CMPX_NEQ_F32(InFmt_VOP3 *)
~Inst_FLAT__FLAT_STORE_DWORDX3()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE2ST64_B32()
~Inst_VOPC__V_CMP_NLE_F16()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_SRC2_F32()
~Inst_MIMG__IMAGE_GATHER4_C_LZ_O()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LT_F64()
Inst_SOP2__S_NOR_B32(InFmt_SOP2 *)
void initiateAcc(GPUDynInstPtr) override
~Inst_SMEM__S_ATC_PROBE()
Inst_VOPC__V_CMPX_NGT_F64(InFmt_VOPC *)
Inst_SOP2__S_LSHL_B64(InFmt_SOP2 *)
~Inst_VOP1__V_MOV_FED_B32()
~Inst_VOPC__V_CMPX_LT_I32()
Inst_MUBUF__BUFFER_LOAD_DWORDX2(InFmt_MUBUF *)
~Inst_MIMG__IMAGE_GATHER4_LZ_O()
Inst_VOP3__V_CMP_GT_I16(InFmt_VOP3 *)
Inst_VOP3__V_CMP_LT_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_LOAD_UBYTE()
void completeAcc(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_UMAX(InFmt_MUBUF *)
~Inst_VOP3__V_CMP_LE_F32()
Inst_MUBUF__BUFFER_STORE_BYTE(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_CD()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LE_I32(InFmt_VOP3 *)
~Inst_MIMG__IMAGE_SAMPLE_L()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLG_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_SCC1()
Inst_VOP3__V_CVT_PKACCUM_U8_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NE_I16()
Inst_VOPC__V_CMP_NLE_F16(InFmt_VOPC *)
~Inst_VOP3__V_FRACT_F32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_RTN_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_EQ_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_F_F16(InFmt_VOPC *)
Inst_VOP3__V_FFBH_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_EQ_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_RSUB_RTN_U64(InFmt_DS *)
Inst_SOP1__S_ANDN2_SAVEEXEC_B64(InFmt_SOP1 *)
Inst_VOP3__V_MUL_LO_U16(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_GT_F32(InFmt_VOP3 *)
~Inst_VOP3__V_CVT_I16_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_EQ_U32()
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_LT_I32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_INC_RTN_U32(InFmt_DS *)
~Inst_MUBUF__BUFFER_LOAD_SBYTE()
void execute(GPUDynInstPtr) override
ScalarRegI32 findFirstOneMsb(T val)
Inst_FLAT__FLAT_STORE_DWORDX3(InFmt_FLAT *)
Inst_VOP3__V_CVT_F64_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_STORE_BYTE(InFmt_FLAT *)
~Inst_MUBUF__BUFFER_ATOMIC_SMIN_X2()
Inst_VOPC__V_CMPX_GE_F16(InFmt_VOPC *)
~Inst_SOPC__S_BITCMP1_B64()
Inst_MIMG__IMAGE_SAMPLE_D_O(InFmt_MIMG *)
Inst_VOPC__V_CMP_GE_I32(InFmt_VOPC *)
Inst_VOP3__V_CMP_NLT_F32(InFmt_VOP3 *)
~Inst_MIMG__IMAGE_SAMPLE_C_O()
~Inst_VOPC__V_CMP_LT_U64()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_SOP1__S_BREV_B64(InFmt_SOP1 *)
void initiateAcc(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_DIV_FIXUP_F64(InFmt_VOP3 *)
Inst_VOP3__V_CMP_CLASS_F16(InFmt_VOP3 *)
~Inst_MIMG__IMAGE_GATHER4_C_L()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_STORE_DWORD()
Inst_SOPK__S_SETREG_B32(InFmt_SOPK *)
Inst_VOPC__V_CMP_O_F64(InFmt_VOPC *)
Inst_DS__DS_WRAP_RTN_B32(InFmt_DS *)
Inst_VOPC__V_CMPX_LT_I16(InFmt_VOPC *)
Inst_VOPC__V_CMP_NE_U32(InFmt_VOPC *)
Inst_VOP2__V_MUL_F16(InFmt_VOP2 *)
~Inst_VOP3__V_CMPX_LE_U64()
Inst_VOP3__V_CMPX_LG_F64(InFmt_VOP3 *)
void processDPP(GPUDynInstPtr gpuDynInst, InFmt_VOP_DPP dppInst, T &src0)
processDPP is a helper function for implementing Data Parallel Primitive instructions.
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NLG_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_LOAD_DWORDX16(InFmt_SMEM *)
Inst_VOP3__V_CMP_LT_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_CL(InFmt_MIMG *)
~Inst_VOP3__V_CMP_NGE_F16()
~Inst_VOPC__V_CMPX_TRU_F64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NE_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_UMIN()
Inst_VOP2__V_MIN_F16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_XOR_X2()
Inst_VOP1__V_FLOOR_F64(InFmt_VOP1 *)
Inst_FLAT__FLAT_ATOMIC_UMIN(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_STORE_DWORD(InFmt_SMEM *)
Inst_SOPK__S_MOVK_I32(InFmt_SOPK *)
~Inst_VOP3__V_SUBBREV_U32()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_CD_CL(InFmt_MIMG *)
~Inst_DS__DS_READ2ST64_B32()
Inst_SOPP__S_BRANCH(InFmt_SOPP *)
~Inst_VOP3__V_CMP_NLE_F16()
Inst_VOP3__V_CUBEMA_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_DEC_RTN_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_SUB()
Inst_VOP2__V_MIN_F32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_LOAD_MIP_PCK(InFmt_MIMG *)
~Inst_VOPC__V_CMPX_NE_U64()
Inst_VOPC__V_CMP_CLASS_F32(InFmt_VOPC *)
~Inst_VINTRP__V_INTERP_MOV_F32()
Inst_VOP3__V_NOP(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_EQ_I64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_STORE_DWORDX2()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FLOOR_F64(InFmt_VOP3 *)
~Inst_DS__DS_SWIZZLE_B32()
Inst_VOP3__V_DIV_FIXUP_F16(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_LT_I64()
gem5::ComputeUnit::ComputeUnitStats stats
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_ASHRREV_I32(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_NGE_F32()
~Inst_SOPP__S_ENDPGM_SAVED()
Inst_SOP2__S_AND_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_I32()
~Inst_MIMG__IMAGE_GATHER4_O()
Inst_MUBUF__BUFFER_STORE_DWORDX2(InFmt_MUBUF *)
~Inst_SMEM__S_MEMREALTIME()
Inst_MIMG__IMAGE_ATOMIC_SWAP(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_SRC2_I64(InFmt_DS *)
Inst_VOPC__V_CMP_LT_I64(InFmt_VOPC *)
Inst_VOPC__V_CMPX_F_F64(InFmt_VOPC *)
~Inst_DS__DS_WRITE_B128()
Inst_VOPC__V_CMP_GT_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MUL_LO_U32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_F_I16(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_NLG_F64()
~Inst_VOPC__V_CMP_NLT_F32()
~Inst_VOPC__V_CMPX_T_I64()
~Inst_DS__DS_ADD_RTN_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLT_F64(InFmt_VOPC *)
Inst_VOP3__V_FLOOR_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_UMIN_X2(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GE_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_PKRTZ_F16_F32(InFmt_VOP3 *)
Inst_SOP1__S_GETPC_B64(InFmt_SOP1 *)
Inst_SOPC__S_CMP_EQ_U64(InFmt_SOPC *)
Inst_MIMG__IMAGE_SAMPLE_CD(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_RSUB_U64(InFmt_DS *)
Inst_VOP3__V_CMP_LE_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_T_U16(InFmt_VOPC *)
Inst_SMEM__S_STORE_DWORD(InFmt_SMEM *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_STORE_DWORDX4()
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE_B16(InFmt_DS *)
Inst_MIMG__IMAGE_GET_LOD(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_GT_I32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LT_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_EQ_U32()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_O_F64(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP1__V_CVT_U32_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_QUADMASK_B32()
Inst_VOP1__V_FREXP_MANT_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_NOP(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPC__S_BITCMP0_B64(InFmt_SOPC *)
Inst_MIMG__IMAGE_SAMPLE_C_B_O(InFmt_MIMG *)
Inst_VOP3__V_CMPX_EQ_I64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_U64()
~Inst_SOPK__S_SETREG_IMM32_B32()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_MOV_FED_B32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_B(InFmt_MIMG *)
Inst_MIMG__IMAGE_SAMPLE_C_LZ_O(InFmt_MIMG *)
~Inst_MIMG__IMAGE_LOAD_MIP()
~Inst_VOP3__V_CMPX_EQ_I64()
Inst_VOPC__V_CMP_EQ_I16(InFmt_VOPC *)
~Inst_VOPC__V_CMP_NLG_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_EQ_F16()
Inst_DS__DS_INC_U64(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NGT_F16()
Inst_VOP2__V_MADAK_F16(InFmt_VOP2 *)
~Inst_DS__DS_MIN_RTN_F32()
Inst_MIMG__IMAGE_SAMPLE_C_D(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_RNDNE_F32()
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_LOAD_DWORDX3()
~Inst_VOP3__V_FRACT_F16()
~Inst_MIMG__IMAGE_SAMPLE_C_L()
~Inst_VOPC__V_CMP_O_F16()
~Inst_VOP1__V_CVT_OFF_F32_I4()
Inst_VOPC__V_CMPX_NEQ_F32(InFmt_VOPC *)
void releaseBarrier(int bar_id)
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_F64(InFmt_DS *)
VecElemU32 muladd(VecElemU64 &dst, VecElemU32 val_0, VecElemU32 val_1, VecElemU64 val_2)
Inst_VOPC__V_CMP_O_F16(InFmt_VOPC *)
Inst_VOPC__V_CMPX_LT_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_SMIN_X2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Synchronize waves within a workgroup.
Inst_VOP1__V_RCP_F64(InFmt_VOP1 *)
~Inst_VOP3__V_CNDMASK_B32()
~Inst_VOP3__V_CMP_EQ_F16()
~Inst_VOPC__V_CMPX_NLT_F64()
int numYetToReachBarrier(int bar_id)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_F_U32(InFmt_VOPC *)
Inst_VOP3__V_MIN3_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_U_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_U_F32()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_INC_X2(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CEIL_F32(InFmt_VOP3 *)
Inst_DS__DS_CMPST_RTN_F32(InFmt_DS *)
~Inst_VOPC__V_CMP_EQ_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_O(InFmt_MIMG *)
Inst_VOPC__V_CMPX_NLE_F32(InFmt_VOPC *)
Inst_VOP3__V_CMPX_LE_F16(InFmt_VOP3 *)
Inst_DS__DS_MAX_U64(InFmt_DS *)
~Inst_VOPC__V_CMPX_GE_U32()
Inst_DS__DS_OR_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_D_CL(InFmt_MIMG *)
Inst_VOP2__V_MAC_F32(InFmt_VOP2 *)
~Inst_VOP3__V_CVT_U32_F64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_EQ_I32(InFmt_VOPC *)
~Inst_VOP3__V_CVT_F32_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NEQ_F64()
Inst_VOP3__V_INTERP_P1LV_F16(InFmt_VOP3 *)
~Inst_VOP1__V_READFIRSTLANE_B32()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_FMA_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_L_O(InFmt_MIMG *)
Inst_VOP3__V_READLANE_B32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_XOR(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GE_U16()
~Inst_VOPC__V_CMP_LT_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_T_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ABSDIFF_I32(InFmt_SOP2 *)
~Inst_VOP3__V_CMP_T_U64()
Inst_SMEM__S_LOAD_DWORDX2(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_F16()
Inst_DS__DS_SUB_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_UMAX_X2()
~Inst_VOP3__V_CMP_F_I64()
~Inst_SOPP__S_CBRANCH_CDBGSYS_AND_USER()
void completeAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GE_F32()
~Inst_VOP3__V_CMP_GT_U16()
Inst_VOP3__V_SUBREV_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_SET_GPR_IDX_IDX(InFmt_SOP1 *)
~Inst_VOPC__V_CMP_NGT_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_RPI_I32_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_EQ_I16()
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBREV_F32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_SMEM__S_DCACHE_INV_VOL(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MUL_LO_U16(InFmt_VOP2 *)
~Inst_MUBUF__BUFFER_ATOMIC_INC()
Inst_SMEM__S_ATC_PROBE_BUFFER(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
ScalarRegI32 countZeroBits(T val)
Inst_DS__DS_READ2ST64_B64(InFmt_DS *)
Inst_VOP1__V_RCP_F32(InFmt_VOP1 *)
~Inst_DS__DS_WRITE_SRC2_B64()
Inst_VOP3__V_CVT_PK_I16_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
bool isReachingKernelEnd(Wavefront *wf)
~Inst_MUBUF__BUFFER_ATOMIC_AND_X2()
~Inst_SOP1__S_ORN2_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NGT_F64(InFmt_VOP3 *)
~Inst_MIMG__IMAGE_SAMPLE_C_L_O()
Inst_VOP3__V_SAD_U16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_SUB_U32(InFmt_SOP2 *)
Inst_VOPC__V_CMPX_LE_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_F_I32()
Inst_DS__DS_MSKOR_B64(InFmt_DS *)
Inst_SOP1__S_MOVRELS_B64(InFmt_SOP1 *)
~Inst_DS__DS_WRXCHG2ST64_RTN_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_TRU_F16()
~Inst_VOPC__V_CMP_LG_F16()
Inst_VOP3__V_BFE_U32(InFmt_VOP3 *)
ScalarRegI32 countZeroBitsMsb(T val)
Inst_VOP3__V_CMP_U_F64(InFmt_VOP3 *)
Inst_MUBUF__BUFFER_LOAD_DWORD(InFmt_MUBUF *)
~Inst_VOP3__V_CMPX_NEQ_F64()
~Inst_SOP1__S_FF1_I32_B64()
~Inst_VOPC__V_CMPX_F_F64()
~Inst_VOP2__V_MUL_HI_U32_U24()
Inst_SOPK__S_CMPK_GE_I32(InFmt_SOPK *)
Inst_SMEM__S_BUFFER_LOAD_DWORD(InFmt_SMEM *)
~Inst_VOP3__V_CMPX_CLASS_F32()
~Inst_MUBUF__BUFFER_ATOMIC_DEC()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_F_I16()
Inst_VOPC__V_CMPX_TRU_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_LG_F64()
Inst_VOP3__V_FREXP_MANT_F64(InFmt_VOP3 *)
Inst_VOP1__V_CVT_F32_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_CLASS_F64()
Inst_VOP1__V_CVT_F32_UBYTE1(InFmt_VOP1 *)
Inst_FLAT__FLAT_ATOMIC_SMIN(InFmt_FLAT *)
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:
Inst_SOPP__S_SENDMSGHALT(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BITSET1_B32(InFmt_SOP1 *)
~Inst_VOP2__V_LSHRREV_B16()
~Inst_VOP3__V_FREXP_EXP_I16_F16()
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_QUADMASK_B64()
LdsState & getLds() const
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_EQ_U64()
Inst_SOP1__S_QUADMASK_B32(InFmt_SOP1 *)
Inst_VOPC__V_CMP_LE_I32(InFmt_VOPC *)
Inst_VOPC__V_CMPX_LG_F64(InFmt_VOPC *)
Inst_MUBUF__BUFFER_ATOMIC_SWAP_X2(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_LOAD_DWORDX4(InFmt_FLAT *)
Inst_VOP3__V_CMPX_U_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LT_F64(InFmt_VOPC *)
Inst_DS__DS_INC_SRC2_U64(InFmt_DS *)
~Inst_VOPC__V_CMP_NGE_F16()
Inst_MIMG__IMAGE_GATHER4_B_CL(InFmt_MIMG *)
~Inst_VOPC__V_CMPX_GT_F64()
~Inst_SOP1__S_FF0_I32_B32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LE_U64(InFmt_VOP3 *)
Inst_DS__DS_WRXCHG2ST64_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_UBYTE1(InFmt_VOP3 *)
~Inst_FLAT__FLAT_ATOMIC_XOR()
~Inst_DS__DS_RSUB_RTN_U32()
~Inst_DS__DS_ADD_SRC2_U32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_F64_I32()
Inst_VOP3__V_CMPX_LT_U16(InFmt_VOP3 *)
~Inst_SOPC__S_CMP_GE_I32()
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ANDN2_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_ABS_I32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_U_F32()
~Inst_VOP3__V_MQSAD_U32_U8()
Inst_VOP1__V_CVT_I32_F32(InFmt_VOP1 *)
Inst_VOPC__V_CMP_LE_I16(InFmt_VOPC *)
Inst_VOP3__V_CMP_NE_I32(InFmt_VOP3 *)
Inst_FLAT__FLAT_ATOMIC_INC_X2(InFmt_FLAT *)
Inst_DS__DS_SUB_SRC2_U32(InFmt_DS *)
Inst_VOP3__V_MAX_F16(InFmt_VOP3 *)
~Inst_VOPC__V_CMP_GT_I64()
~Inst_SOPC__S_CMP_GT_U32()
~Inst_VOP3__V_CUBETC_F32()
Inst_VOPC__V_CMP_T_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_UMIN(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GT_I16()
~Inst_VOP3__V_INTERP_P1LV_F16()
Inst_SOPK__S_CMPK_LT_U32(InFmt_SOPK *)
Inst_VOP3__V_ASHRREV_I16(InFmt_VOP3 *)
~Inst_FLAT__FLAT_ATOMIC_SWAP_X2()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_F_U16()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_LOG_F32(InFmt_VOP1 *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_MIN_I16(InFmt_VOP3 *)
Inst_FLAT__FLAT_ATOMIC_SUB_X2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BITSET0_B32()
void write() override
write to the vrf.
~Inst_SMEM__S_BUFFER_STORE_DWORDX2()
Inst_VOP3__V_CVT_I32_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LE_U32()
void readSrc()
certain vector operands can read from the vrf/srf or constants.
~Inst_VOP3__V_LDEXP_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_XOR(InFmt_MUBUF *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NGT_F16(InFmt_VOP3 *)
Inst_VOPC__V_CMPX_LE_U32(InFmt_VOPC *)
Inst_VOPC__V_CMPX_O_F16(InFmt_VOPC *)
Inst_VOP3__V_MUL_U32_U24(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_OR_B32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_B()
~Inst_SOPP__S_CBRANCH_EXECZ()
Inst_VOP3__V_CMP_NGE_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_SEXT_I32_I16()
Inst_SOP2__S_BFE_U64(InFmt_SOP2 *)
~Inst_VOP3__V_CMPX_TRU_F32()
Inst_VOPC__V_CMPX_GE_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LG_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG2_RTN_B64(InFmt_DS *)
Inst_VOP1__V_CVT_F32_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_LG_U64()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_SET_GPR_IDX_MODE(InFmt_SOPP *)
Inst_DS__DS_OR_RTN_B64(InFmt_DS *)
~Inst_VOPC__V_CMPX_EQ_I64()
Inst_MUBUF__BUFFER_ATOMIC_SMIN_X2(InFmt_MUBUF *)
Inst_VOP3__V_CVT_FLR_I32_F32(InFmt_VOP3 *)
std::unordered_map< int, uint64_t > rawDist
~Inst_FLAT__FLAT_LOAD_DWORDX2()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_CLASS_F16()
~Inst_MUBUF__BUFFER_ATOMIC_SMIN()
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_VOP2__V_ADD_F16(InFmt_VOP2 *)
~Inst_MUBUF__BUFFER_ATOMIC_AND()
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_LSHRREV_B16(InFmt_VOP3 *)
Inst_MUBUF__BUFFER_WBINVL1_VOL(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_MEMTIME(InFmt_SMEM *)
~Inst_DS__DS_SUB_SRC2_U32()
~Inst_VOP3__V_FREXP_EXP_I32_F32()
~Inst_VOP3__V_DIV_FIXUP_F16()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_B_CL(InFmt_MIMG *)
Inst_SOPP__S_WAKEUP(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void sample(const U &v, int n=1)
Add a value to the distribtion n times.
Inst_VOP2__V_ASHRREV_I32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
std::vector< VectorRegisterFile * > vrf
Inst_MIMG__IMAGE_GET_RESINFO(InFmt_MIMG *)
Inst_MUBUF__BUFFER_ATOMIC_INC(InFmt_MUBUF *)
~Inst_VOP3__V_CVT_PK_I16_I32()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_UBYTE3()
~Inst_VOPC__V_CMPX_EQ_I32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MUL_HI_I32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NLT_F16()
Inst_VOP3__V_EXP_LEGACY_F32(InFmt_VOP3 *)
~Inst_VOP1__V_CVT_F16_I16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LSHLREV_B64()
Inst_VOP1__V_RSQ_F64(InFmt_VOP1 *)
Inst_VOPC__V_CMPX_GT_I64(InFmt_VOPC *)
Inst_DS__DS_CMPST_B32(InFmt_DS *)
Inst_DS__DS_CMPST_RTN_B64(InFmt_DS *)
Inst_VOP3__V_MUL_F64(InFmt_VOP3 *)
Inst_DS__DS_INC_U32(InFmt_DS *)
~Inst_VOPC__V_CMP_GT_F16()
~Inst_VOP1__V_LOG_LEGACY_F32()
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_LOAD_SSHORT(InFmt_FLAT *)
~Inst_VOP3__V_CMPX_GT_F16()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MUL_LEGACY_F32()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_XNOR_SAVEEXEC_B64(InFmt_SOP1 *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP1__V_RCP_IFLAG_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MADAK_F16()
Inst_VOP3__V_CMP_LE_I16(InFmt_VOP3 *)
~Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP_X2()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_L(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBREV_U16(InFmt_VOP2 *)
~Inst_VOP3__V_FLOOR_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_F_I64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_T_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_B()
~Inst_VOP3__V_CVT_F32_F16()
Inst_VOP3__V_FFBH_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_WQM_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ2ST64_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_MIN_I32(InFmt_SOP2 *)
~Inst_VOP3__V_CVT_OFF_F32_I4()
Inst_VOP3__V_CVT_F32_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
constexpr uint64_t mask(unsigned nbits)
Generate a 64-bit mask of 'nbits' 1s, right justified.
Inst_VOP3__V_MAC_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_LDEXP_F16()
Inst_VOP3__V_CMPX_GT_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_NOT_B32(InFmt_SOP1 *)
Inst_VOP3__V_FLOOR_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_DEC()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_ADD_F32(InFmt_VOP2 *)
Inst_SMEM__S_BUFFER_STORE_DWORDX2(InFmt_SMEM *)
~Inst_DS__DS_WRITE2_B32()
~Inst_MUBUF__BUFFER_ATOMIC_XOR()
Inst_DS__DS_MAX_I32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_VCCNZ()
Inst_VOP1__V_RCP_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP2__V_LSHLREV_B32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LE_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_I16()
Inst_VOP3__V_INTERP_MOV_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MAC_F16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LG_F16()
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_STORE_MIP_PCK()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_SWAPPC_B64()
Inst_SOPK__S_MULK_I32(InFmt_SOPK *)
~Inst_MIMG__IMAGE_GATHER4_B_O()
~Inst_VOPC__V_CMP_U_F16()
~Inst_DS__DS_MAX_SRC2_I32()
Inst_SOPK__S_SETREG_IMM32_B32(InFmt_SOPK *)
Inst_MUBUF__BUFFER_ATOMIC_XOR_X2(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Cycles is a wrapper class for representing cycle counts, i.e.
Inst_SOP1__S_CMOV_B64(InFmt_SOP1 *)
Inst_VOP3__V_DIV_FMAS_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE_SRC2_B32(InFmt_DS *)
~Inst_VOP3__V_CUBEMA_F32()
~Inst_VOPC__V_CMPX_NEQ_F16()
Inst_VOPC__V_CMPX_EQ_I16(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_SAD_HI_U8()
Inst_SOPC__S_BITCMP1_B32(InFmt_SOPC *)
~Inst_VOP3__V_CVT_F32_I32()
Inst_VOP3__V_CMP_EQ_F16(InFmt_VOP3 *)
Inst_VOPC__V_CMP_LT_U32(InFmt_VOPC *)
~Inst_FLAT__FLAT_STORE_BYTE()
Inst_VOP1__V_BFREV_B32(InFmt_VOP1 *)
Inst_MUBUF__BUFFER_STORE_SHORT(InFmt_MUBUF *)
~Inst_VOP3__V_CMP_NLG_F16()
Inst_MIMG__IMAGE_ATOMIC_ADD(InFmt_MIMG *)
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_SUBREV_U16()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_GWS_SEMA_BR()
Inst_VOP2__V_ADD_U32(InFmt_VOP2 *)
~Inst_VOP1__V_CVT_F64_F32()
Inst_VOP2__V_LDEXP_F16(InFmt_VOP2 *)
~Inst_VOP1__V_CVT_I32_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GE_I64()
~Inst_VOP2__V_SUBREV_U16()
Inst_SOP2__S_MIN_U32(InFmt_SOP2 *)
~Inst_MIMG__IMAGE_GATHER4_LZ()
~Inst_VOP3__V_CMPX_LE_F16()
Inst_VOP3__V_CMPX_EQ_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LOG_F16(InFmt_VOP3 *)
~Inst_VOP2__V_MADMK_F16()
Inst_FLAT__FLAT_ATOMIC_UMAX_X2(InFmt_FLAT *)
~Inst_DS__DS_GWS_SEMA_V()
~Inst_SOPP__S_DECPERFLEVEL()
Inst_DS__DS_DEC_RTN_U32(InFmt_DS *)
Inst_DS__DS_MIN_RTN_U32(InFmt_DS *)
Inst_VOPC__V_CMPX_GT_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NGE_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MUL_I32_I24()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_TRUNC_F64()
~Inst_SOPP__S_SET_GPR_IDX_MODE()
Inst_DS__DS_ADD_SRC2_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE2_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
ScalarRegI32 findFirstOne(T val)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_TRU_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_BCNT_U32_B32(InFmt_VOP3 *)
~Inst_VOP3__V_CVT_F64_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBREV_U32(InFmt_VOP2 *)
Inst_SOPP__S_SETPRIO(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BCNT1_I32_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_UMAX()
Inst_VOPC__V_CMPX_F_F32(InFmt_VOPC *)
Inst_VOP3__V_CMP_GE_F16(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_T_I16(InFmt_VOP3 *)
~Inst_DS__DS_RSUB_SRC2_U32()
~Inst_MIMG__IMAGE_GATHER4_B_CL_O()
~Inst_DS__DS_MAX_RTN_F64()
Inst_MUBUF__BUFFER_ATOMIC_SUB_X2(InFmt_MUBUF *)
~Inst_VOPC__V_CMP_TRU_F16()
void execute(GPUDynInstPtr) override
void setStatus(status_e newStatus)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_SRC2_F64()
Inst_VOP1__V_FFBH_I32(InFmt_VOP1 *)
~Inst_VOP3__V_CVT_RPI_I32_F32()
~Inst_SOP1__S_NOR_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLT_F16(InFmt_VOPC *)
~Inst_MUBUF__BUFFER_ATOMIC_ADD()
Inst_VOP1__V_CVT_F16_I16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GT_F64()
Inst_VOP1__V_FFBL_B32(InFmt_VOP1 *)
~Inst_SOP1__S_BCNT0_I32_B64()
Inst_VOP3__V_TRUNC_F16(InFmt_VOP3 *)
Inst_MUBUF__BUFFER_WBINVL1(InFmt_MUBUF *)
~Inst_VOP3__V_CMP_LE_F64()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_MOV_B32(InFmt_SOP1 *)
~Inst_MUBUF__BUFFER_ATOMIC_DEC_X2()
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_O_F64(InFmt_VOP3 *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LT_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_FF1_I32_B32()
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_SCC0(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_FRACT_F64()
~Inst_DS__DS_XOR_SRC2_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_TRU_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LSHLREV_B32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_AND_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_TRU_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CVT_F32_UBYTE2(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPP__S_INCPERFLEVEL(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_I64()
~Inst_MIMG__IMAGE_GATHER4_C_B_CL()
Inst_VOP3__V_CMP_GT_F64(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_LT_I64()
Inst_VOP1__V_CVT_FLR_I32_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_B()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MSKOR_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_L_O(InFmt_MIMG *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CUBETC_F32(InFmt_VOP3 *)
Inst_VOPC__V_CMP_F_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_MEMREALTIME(InFmt_SMEM *)
Inst_VOPC__V_CMPX_LE_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_UBYTE3(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_CMPSWAP(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
ScalarOperand< ScalarRegU32, true, 4 > ConstScalarOperandU128
~Inst_SOPC__S_CMP_LT_I32()
Inst_VOP3__V_NOT_B32(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_NLE_F16(InFmt_VOP3 *)
Inst_VOPC__V_CMPX_TRU_F32(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLT_F32(InFmt_VOPC *)
Inst_DS__DS_CMPST_B64(InFmt_DS *)
~Inst_VOP3__V_CMPX_NLT_F16()
void execute(GPUDynInstPtr) override
void validateRequestCounters()
~Inst_VOPC__V_CMPX_EQ_U32()
~Inst_VOP3__V_MUL_LO_U16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_F32_UBYTE1()
Inst_VOP3__V_CMP_F_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SIN_F16(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_LT_U32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_UBYTE2(InFmt_VOP3 *)
Inst_SMEM__S_LOAD_DWORDX8(InFmt_SMEM *)
Inst_VOP3__V_CMP_LT_F16(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBBREV_U32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_SRC2_U32()
Inst_VOP3__V_ALIGNBIT_B32(InFmt_VOP3 *)
~Inst_FLAT__FLAT_ATOMIC_SUB()
Inst_DS__DS_CMPST_RTN_B32(InFmt_DS *)
~Inst_VOP3__V_INTERP_P1LL_F16()
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUB_U32(InFmt_VOP2 *)
Inst_SOP2__S_ANDN2_B32(InFmt_SOP2 *)
~Inst_VOP3__V_CMP_NE_I16()
~Inst_DS__DS_MIN_SRC2_U64()
void execute(GPUDynInstPtr) override
void freeRegisters(Wavefront *w)
~Inst_VOPC__V_CMP_F_U32()
Inst_SOP1__S_CMOV_B32(InFmt_SOP1 *)
Inst_VOP3__V_MAD_U16(InFmt_VOP3 *)
Inst_FLAT__FLAT_LOAD_DWORD(InFmt_FLAT *)
Inst_DS__DS_WRITE_B128(InFmt_DS *)
~Inst_MIMG__IMAGE_ATOMIC_OR()
Inst_MIMG__IMAGE_SAMPLE_C_LZ(InFmt_MIMG *)
~Inst_MIMG__IMAGE_SAMPLE_CD_O()
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_LOAD_USHORT()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_T_I32()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_F16()
Inst_DS__DS_WRITE_SRC2_B64(InFmt_DS *)
Inst_VOP3__V_LOG_F32(InFmt_VOP3 *)
Inst_VOP3__V_RCP_IFLAG_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_STORE_DWORDX4(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_T_U32()
~Inst_VOP3__V_CMPX_LT_I32()
~Inst_VOP3__V_CMP_F_I16()
void execute(GPUDynInstPtr) override
Inst_SOP2__S_XOR_B64(InFmt_SOP2 *)
Inst_VOP3__V_CMPX_F_I32(InFmt_VOP3 *)
Inst_VOP2__V_MAX_F16(InFmt_VOP2 *)
Inst_VOP3__V_CMP_NEQ_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_TRU_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_CD_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FRACT_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_CL()
~Inst_VOP3__V_CMPX_LT_F16()
~Inst_VOP3__V_CMP_LT_F32()
~Inst_VOP1__V_EXP_LEGACY_F32()
Inst_SOPC__S_CMP_LE_I32(InFmt_SOPC *)
Inst_SOP1__S_SWAPPC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CLREXCP(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_TRU_F16(InFmt_VOP3 *)
int numAtBarrier(int bar_id)
void execute(GPUDynInstPtr) override
void incNumAtBarrier(int bar_id)
Inst_SOPP__S_CBRANCH_CDBGSYS_OR_USER(InFmt_SOPP *)
Inst_VOPC__V_CMP_EQ_F64(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_F_U64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_LOAD_DWORDX2(InFmt_SMEM *)
statistics::Scalar completedWfs
~Inst_DS__DS_INC_SRC2_U64()
void execute(GPUDynInstPtr) override
~Inst_SOP2__S_ANDN2_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_VCCZ(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_U64(InFmt_VOP3 *)
Inst_VOP3__V_CMP_F_F16(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_LT_F64()
void completeAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_F_I32()
Inst_VOP1__V_FREXP_MANT_F64(InFmt_VOP1 *)
Inst_VOPC__V_CMP_LE_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NE_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_U32(InFmt_DS *)
Inst_SOP1__S_FLBIT_I32_I64(InFmt_SOP1 *)
Inst_VOP3__V_AND_B32(InFmt_VOP3 *)
Inst_VOP2__V_SUB_F32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LT_I16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP2__S_CSELECT_B32()
~Inst_VOPC__V_CMPX_LG_F32()
~Inst_VOPC__V_CMP_T_I16()
Inst_VOP3__V_CMPX_O_F16(InFmt_VOP3 *)
~Inst_DS__DS_ADD_SRC2_U64()
Inst_MUBUF__BUFFER_ATOMIC_SMAX_X2(InFmt_MUBUF *)
~Inst_SOPP__S_CBRANCH_EXECNZ()
~Inst_MUBUF__BUFFER_STORE_SHORT()
Inst_SOPK__S_CMOVK_I32(InFmt_SOPK *)
Inst_DS__DS_AND_SRC2_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_MAX_I32(InFmt_VOP3 *)
~Inst_VOP1__V_CVT_F64_I32()
Inst_MIMG__IMAGE_GATHER4_B_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_BUFFER_LOAD_DWORD()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_BPERMUTE_B32()
Inst_DS__DS_MIN_RTN_U64(InFmt_DS *)
~Inst_VOPC__V_CMP_LE_U16()
~Inst_VOP3__V_CMP_LE_I16()
static const int InvalidID
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_UMAX(InFmt_FLAT *)
~Inst_VOP3__V_CMP_LT_I16()
void execute(GPUDynInstPtr) override
constexpr int findLsbSet(uint64_t val)
Returns the bit position of the LSB that is set in the input.
~Inst_VOPC__V_CMP_GE_U64()
~Inst_MIMG__IMAGE_STORE_MIP()
~Inst_MUBUF__BUFFER_ATOMIC_OR()
~Inst_VOPC__V_CMPX_LE_F64()
void completeAcc(GPUDynInstPtr) override
Inst_VOP2__V_MAX_U16(InFmt_VOP2 *)
Inst_VOP3__V_DIV_FMAS_F32(InFmt_VOP3 *)
Inst_SOP2__S_BFE_I64(InFmt_SOP2 *)
Inst_FLAT__FLAT_ATOMIC_XOR(InFmt_FLAT *)
~Inst_VOP3__V_CMP_TRU_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FREXP_MANT_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_O_F32(InFmt_VOP3 *)
Inst_VOPC__V_CMP_CLASS_F64(InFmt_VOPC *)
~Inst_VOP3__V_CVT_I32_F32()
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_LT_I32()
~Inst_VOP3__V_CMPX_CLASS_F64()
Inst_VOP3__V_MAD_U32_U24(InFmt_VOP3 *)
~Inst_MIMG__IMAGE_SAMPLE_C_D_CL_O()
Inst_VOP3__V_CMP_GE_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_F_U64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_NE_I64()
Inst_VOP1__V_FREXP_EXP_I32_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LG_F32()
~Inst_FLAT__FLAT_STORE_SHORT()
~Inst_SOP2__S_ANDN2_B32()
Inst_VOP3__V_COS_F16(InFmt_VOP3 *)
Inst_VOP3__V_CMP_NLT_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_CLASS_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_EXP_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP1__S_QUADMASK_B64(InFmt_SOP1 *)
void decMaxBarrierCnt(int bar_id)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_LZ_O()
Inst_VOP3__V_MAX_U32(InFmt_VOP3 *)
Inst_MIMG__IMAGE_ATOMIC_SMAX(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_LOAD_MIP(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_CL()
~Inst_FLAT__FLAT_ATOMIC_AND()
~Inst_DS__DS_READ2ST64_B64()
~Inst_VOP3__V_CMPX_LT_U32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NGT_F64()
Inst_MIMG__IMAGE_SAMPLE_D_CL(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_RSUB_SRC2_U64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_U_F64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_F64(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_DEC_X2(InFmt_MUBUF *)
Inst_VOP3__V_CMP_NLG_F16(InFmt_VOP3 *)
Inst_SOPC__S_SET_GPR_IDX_ON(InFmt_SOPC *)
~Inst_VOPC__V_CMP_NLT_F16()
Inst_VOP2__V_MIN_I16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_CLASS_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_CLASS_F32()
~Inst_VOP3__V_CMPX_F_F32()
Inst_DS__DS_WRITE_B96(InFmt_DS *)
~Inst_VOP2__V_SUBBREV_U32()
~Inst_DS__DS_DEC_RTN_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_SWAP(InFmt_FLAT *)
~Inst_SOP1__S_GETPC_B64()
Inst_DS__DS_WRITE_B8(InFmt_DS *)
~Inst_VOP3__V_CMPX_GT_I64()
Inst_FLAT__FLAT_ATOMIC_DEC_X2(InFmt_FLAT *)
~Inst_VOP3__V_CMP_CLASS_F16()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_UMIN()
~Inst_MIMG__IMAGE_SAMPLE_C_D()
~Inst_VOP2__V_ASHRREV_I16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GE_I64()
constexpr int popCount(uint64_t val)
Returns the number of set ones in the provided value.
~Inst_SOPP__S_INCPERFLEVEL()
~Inst_SOP1__S_FLBIT_I32_B64()
Inst_VOP2__V_SUB_U16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CVT_U32_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LT_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GE_F64()
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_MUL_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLT_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LT_U64(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_EQ_F64()
Inst_VOPC__V_CMP_GT_U32(InFmt_VOPC *)
~Inst_VOP3__V_READLANE_B32()
Inst_FLAT__FLAT_ATOMIC_INC(InFmt_FLAT *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_SOP2__S_MAX_U32(InFmt_SOP2 *)
~Inst_VOP3__V_CMPX_LT_I16()
Inst_VOP2__V_LSHLREV_B16(InFmt_VOP2 *)
Inst_VOP3__V_CMP_EQ_I16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_U_F16()
Inst_VOP3__V_WRITELANE_B32(InFmt_VOP3 *)
Inst_DS__DS_MSKOR_RTN_B64(InFmt_DS *)
~Inst_VOP3__V_MUL_U32_U24()
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_SUB_SRC2_U64(InFmt_DS *)
~Inst_VOP3__V_CMP_GE_I64()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LG_F32(InFmt_VOP3 *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLE_F16(InFmt_VOPC *)
Inst_VOP3__V_CNDMASK_B32(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_GE_I16()
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NE_U16(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_LT_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SUB_U32(InFmt_VOP3_SDST_ENC *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_XOR_SRC2_B64(InFmt_DS *)
Inst_VOP3__V_CMP_NLG_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
const int NumVecElemPerVecReg(64)
Inst_VOP3__V_CVT_PK_U8_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_UBYTE2()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_EQ_I16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_STORE_DWORD()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GE_U16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ADD_F64(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_T_U64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LSHLREV_B16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_SUB_RTN_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_ATC_PROBE_BUFFER()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_O_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_LG_U64(InFmt_SOPC *)
Inst_VOPC__V_CMP_EQ_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_SUB(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_LOAD_MIP_PCK()
Inst_VOPC__V_CMP_LT_F16(InFmt_VOPC *)
~Inst_VOP3__V_CMP_NLT_F16()
Inst_SOP1__S_NOR_SAVEEXEC_B64(InFmt_SOP1 *)
Inst_VOP3__V_CMPX_LE_U32(InFmt_VOP3 *)
~Inst_FLAT__FLAT_ATOMIC_ADD_X2()
~Inst_VOP3__V_CMPX_NE_I32()
~Inst_VOP3__V_CMPX_F_I32()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOP1__V_FREXP_MANT_F64()
Inst_VOP3__V_CMPX_LG_F32(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_F_F16()
~Inst_VOP3__V_CMP_LT_U64()
~Inst_MIMG__IMAGE_SAMPLE_C_CD_CL()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_EQ_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_F_I16(InFmt_VOP3 *)
Inst_SOP1__S_RFE_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_GE_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_UBYTE1()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_LOAD_MIP_PCK_SGN(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_ADD_X2(InFmt_MUBUF *)
~Inst_VOPC__V_CMPX_NE_U16()
Inst_MIMG__IMAGE_GATHER4_C_LZ(InFmt_MIMG *)
~Inst_DS__DS_WRXCHG_RTN_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_U32(InFmt_DS *)
~Inst_VOP3__V_CMPX_LT_F32()
~Inst_VOP3__V_CMP_EQ_U16()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_SRC2_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GT_U64(InFmt_VOP3 *)
Inst_VOP3__V_MUL_LEGACY_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_STORE_SHORT(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_CL()
Inst_VOP3__V_CMPX_EQ_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_F_F64()
~Inst_MUBUF__BUFFER_ATOMIC_SWAP()
Inst_VOPC__V_CMPX_T_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_EQ_F16()
~Inst_MUBUF__BUFFER_ATOMIC_UMIN()
Inst_VOPC__V_CMPX_T_U64(InFmt_VOPC *)
~Inst_MUBUF__BUFFER_STORE_BYTE()
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_OR_SAVEEXEC_B64()
Inst_VOP3__V_CMP_LT_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_F16(InFmt_VOPC *)
RegisterManager * registerManager
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LG_F64()
Inst_VOP3__V_MED3_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_CDBGSYS()
Inst_VOP3__V_LSHLREV_B64(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_GE_F32()
Inst_VOP3__V_CMPX_NE_I64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SAD_U8(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_NLE_F32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_EQ_U16()
~Inst_VOP3__V_CMPX_LE_U32()
~Inst_VOPC__V_CMP_TRU_F32()
Inst_VOPC__V_CMPX_NE_U64(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_F32(InFmt_DS *)
Inst_DS__DS_WRXCHG_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_LOAD_SBYTE()
Inst_VOP3__V_MUL_HI_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NGE_F64()
~Inst_VOP3__V_FLOOR_F64()
~Inst_VOPC__V_CMPX_NGE_F64()
~Inst_MUBUF__BUFFER_LOAD_DWORDX2()
Inst_MIMG__IMAGE_STORE(InFmt_MIMG *)
@ S_BARRIER
WF is stalled at a barrier.
Inst_VOP3__V_CMP_NGE_F64(InFmt_VOP3 *)
Inst_VOP3__V_ALIGNBYTE_B32(InFmt_VOP3 *)
Inst_VOP3__V_CMP_GT_U32(InFmt_VOP3 *)
Inst_MIMG__IMAGE_SAMPLE_LZ_O(InFmt_MIMG *)
~Inst_VOP3__V_CMPX_GT_I16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MQSAD_U32_U8(InFmt_VOP3 *)
~Inst_MIMG__IMAGE_GATHER4_C_O()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_DIV_SCALE_F64(InFmt_VOP3_SDST_ENC *)
void completeAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NGT_F16(InFmt_VOPC *)
~Inst_DS__DS_PERMUTE_B32()
~Inst_VOP3__V_CMPX_NLG_F32()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CVT_I16_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GT_F32(InFmt_VOP3 *)
Inst_VOP3__V_CMP_LE_F16(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_LE_I32()
Inst_VOP3__V_LSHRREV_B64(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_GT_U32()
~Inst_VOP3__V_CMP_GT_I16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_RNDNE_F16()
Inst_SOP2__S_NAND_B32(InFmt_SOP2 *)
~Inst_VOP3__V_CMP_TRU_F64()
~Inst_VINTRP__V_INTERP_P2_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LT_U64()
~Inst_VOPC__V_CMPX_CLASS_F32()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_AND(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NLT_F64()
Inst_VOP3__V_CMP_NEQ_F64(InFmt_VOP3 *)
Inst_MIMG__IMAGE_ATOMIC_UMAX(InFmt_MIMG *)
Inst_SOPC__S_BITCMP1_B64(InFmt_SOPC *)
Inst_VOPC__V_CMP_LT_F32(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_GE_I32()
~Inst_MIMG__IMAGE_SAMPLE_C_B_O()
Inst_MUBUF__BUFFER_ATOMIC_DEC(InFmt_MUBUF *)
Inst_SOP2__S_BFM_B64(InFmt_SOP2 *)
~Inst_VOP3__V_CMP_NE_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_SRC2_U32(InFmt_DS *)
~Inst_DS__DS_OR_SRC2_B64()
~Inst_VOP3__V_CMP_NGT_F64()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_F64()
Inst_VOP3__V_MAD_LEGACY_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_LOAD_DWORDX4(InFmt_SMEM *)
void completeAcc(GPUDynInstPtr) override
~Inst_DS__DS_MAX_RTN_F32()
Inst_VOP3__V_CMP_F_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOPP__S_SETHALT(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRXCHG2ST64_RTN_B64()
~Inst_VOP3__V_CMPX_F_F64()
Inst_SOP1__S_SEXT_I32_I8(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_INC_RTN_U32()
Inst_VOP3__V_CMPX_EQ_I16(InFmt_VOP3 *)
Inst_VOP2__V_MUL_HI_I32_I24(InFmt_VOP2 *)
~Inst_SOPK__S_CMOVK_I32()
Inst_VOP3__V_TRIG_PREOP_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GT_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_SUBREV_U32()
Inst_SOP2__S_BFE_I32(InFmt_SOP2 *)
Inst_VOP3__V_CMPX_O_F32(InFmt_VOP3 *)
Inst_VOP3__V_CMP_T_U64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
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_CMP_NGT_F32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MIN_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_EQ_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_SRC2_F32()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_NAND_SAVEEXEC_B64(InFmt_SOP1 *)
Inst_VOP3__V_CMP_U_F16(InFmt_VOP3 *)
~Inst_VOP3__V_MQSAD_PK_U16_U8()
Inst_VOP3__V_CMPX_NLT_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_XOR_B32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_GE_U32()
Inst_VOPC__V_CMP_NGT_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_NLG_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_O_F64()
~Inst_VOPC__V_CMP_T_U16()
Inst_VOP3__V_CMPX_NLT_F64(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_GT_I16(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_NLG_F32()
Inst_VOPC__V_CMP_F_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG2ST64_RTN_B32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_OR_X2()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMP_TRU_F32(InFmt_VOP3 *)
~Inst_VOP3__V_LDEXP_F64()
Inst_VOP3__V_CMP_NE_U64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_U32(InFmt_VOP3 *)
~Inst_DS__DS_MAX_SRC2_U64()
Inst_VOP3__V_FRACT_F64(InFmt_VOP3 *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LT_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_I16()
Inst_SOP1__S_BITSET1_B64(InFmt_SOP1 *)
Inst_VOP3__V_CMP_EQ_I64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLT_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LG_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_U16(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GE_I64(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_OR(InFmt_FLAT *)
Inst_VOP3__V_CEIL_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_O_F64()
Inst_DS__DS_GWS_SEMA_BR(InFmt_DS *)
~Inst_VOP1__V_FREXP_MANT_F16()
Inst_SOPK__S_CBRANCH_I_FORK(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_GWS_SEMA_RELEASE_ALL(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NE_U16()
~Inst_VOPC__V_CMP_EQ_I64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLE_F64(InFmt_VOPC *)
~Inst_DS__DS_WRXCHG_RTN_B32()
~Inst_VOP3__V_CMPX_NE_I64()
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LT_I32()
Inst_FLAT__FLAT_ATOMIC_DEC(InFmt_FLAT *)
Inst_SOPC__S_CMP_LG_U32(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_LOAD(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GE_I32(InFmt_VOPC *)
~Inst_VOP1__V_CVT_FLR_I32_F32()
Inst_VOPC__V_CMPX_U_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_F_I32(InFmt_VOP3 *)
~Inst_VOP3__V_FREXP_MANT_F32()
~Inst_FLAT__FLAT_ATOMIC_SMIN()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F64_F32(InFmt_VOP3 *)
Inst_VOP2__V_SUBREV_F16(InFmt_VOP2 *)
Inst_SOP2__S_RFE_RESTORE_B64(InFmt_SOP2 *)
Inst_VOP1__V_CVT_F64_U32(InFmt_VOP1 *)
Inst_VOP3__V_CMPX_NE_I16(InFmt_VOP3 *)
~Inst_DS__DS_INC_RTN_U64()
Inst_VOP3__V_MIN_U32(InFmt_VOP3 *)
Inst_VOP3__V_CMP_LE_F64(InFmt_VOP3 *)
Inst_VOP3__V_BFREV_B32(InFmt_VOP3 *)
~Inst_VOP3__V_CMPX_GE_F16()
Inst_VOP2__V_MUL_U32_U24(InFmt_VOP2 *)
~Inst_VOPC__V_CMPX_F_F16()
Inst_VOP3__V_CMPX_GE_F32(InFmt_VOP3 *)
~Inst_VOP3__V_CMPX_NLE_F16()
~Inst_DS__DS_MIN_SRC2_I64()
Inst_VOP1__V_CEIL_F16(InFmt_VOP1 *)
~Inst_VOP3__V_CMPX_O_F16()
~Inst_DS__DS_CONDXCHG32_RTN_B64()
Inst_DS__DS_SUB_U64(InFmt_DS *)
~Inst_VOPC__V_CMPX_LE_U64()
~Inst_VOP3__V_CMPX_T_U32()
Inst_VOP3__V_CMP_CLASS_F64(InFmt_VOP3 *)
~Inst_VOP3__V_CVT_PKRTZ_F16_F32()
Inst_SOPC__S_BITCMP0_B32(InFmt_SOPC *)
~Inst_VOP1__V_CVT_F32_U32()
~Inst_VOP3__V_CMP_F_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_UMAX_X2()
Inst_DS__DS_MAX_RTN_I32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FREXP_EXP_I32_F32(InFmt_VOP1 *)
InFmt_VOP3_SDST_ENC instData
~Inst_VOPC__V_CMP_F_U16()
Inst_VOP3__V_CMPX_LE_F32(InFmt_VOP3 *)
Inst_FLAT__FLAT_ATOMIC_SMAX(InFmt_FLAT *)
Inst_MIMG__IMAGE_SAMPLE_C_B_CL_O(InFmt_MIMG *)
~Inst_VOPC__V_CMP_NLE_F64()
~Inst_VOPC__V_CMP_NGE_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_RSQ_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLG_F16(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_EQ_U32()
Inst_DS__DS_DEC_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_T_U32(InFmt_VOP3 *)
Inst_VOP3__V_MSAD_U8(InFmt_VOP3 *)
Inst_MIMG__IMAGE_LOAD_PCK_SGN(InFmt_MIMG *)
~Inst_SOP1__S_FF0_I32_B64()
Inst_SOP2__S_NOR_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NEQ_F16(InFmt_VOP3 *)
Inst_SOPP__S_NOP(InFmt_SOPP *)
~Inst_VOPC__V_CMPX_GE_F16()
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_INTERP_P2_F32()
~Inst_VOP3__V_RNDNE_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NEQ_F16()
Inst_VOPC__V_CMP_TRU_F32(InFmt_VOPC *)
Inst_SOPP__S_DECPERFLEVEL(InFmt_SOPP *)
Inst_VOPC__V_CMPX_NGE_F64(InFmt_VOPC *)
Inst_VOP2__V_MAX_I32(InFmt_VOP2 *)
~Inst_VOP3__V_DIV_FIXUP_F32()
~Inst_VOP3__V_CMP_F_U16()
~Inst_VOP3__V_CMPX_LT_F64()
Inst_SOP2__S_ADD_I32(InFmt_SOP2 *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_I16(InFmt_VOPC *)
Inst_VOP3__V_MAD_I32_I24(InFmt_VOP3 *)
Inst_VOP3__V_MUL_I32_I24(InFmt_VOP3 *)
~Inst_VOP3__V_DIV_SCALE_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_U64()
ComputeUnit * computeUnit
Inst_MIMG__IMAGE_SAMPLE_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_LSHR_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_EQ_I32()
~Inst_VOP3__V_CMPX_T_U64()
Inst_VOP3__V_CMP_GE_F32(InFmt_VOP3 *)
~Inst_VOPC__V_CMP_LT_U16()
Inst_SOP1__S_MOV_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_NAND_SAVEEXEC_B64()
Inst_VOP3__V_MIN_F32(InFmt_VOP3 *)
Inst_VOP1__V_CVT_RPI_I32_F32(InFmt_VOP1 *)
Inst_VOPC__V_CMP_F_F64(InFmt_VOPC *)
Inst_FLAT__FLAT_LOAD_DWORDX3(InFmt_FLAT *)
Inst_VOP3__V_MBCNT_HI_U32_B32(InFmt_VOP3 *)
~Inst_VOP3__V_CMPX_NE_U16()
~Inst_VOPC__V_CMP_NLT_F64()
~Inst_DS__DS_MIN_SRC2_F64()
Inst_SOP1__S_MOV_FED_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_RNDNE_F32()
~Inst_DS__DS_WRITE2ST64_B64()
~Inst_SOPC__S_SET_GPR_IDX_ON()
Inst_MIMG__IMAGE_SAMPLE_C_D_O(InFmt_MIMG *)
Inst_VOP3__V_CMP_U_F32(InFmt_VOP3 *)
Inst_VOPC__V_CMPX_GE_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMP_O_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LT_U32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_SUB_U32(InFmt_DS *)
Inst_VOPC__V_CMP_LT_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_SWAP()
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_UMIN_X2()
~Inst_VOPC__V_CMP_EQ_U32()
~Inst_FLAT__FLAT_ATOMIC_ADD()
Inst_SOP1__S_BCNT0_I32_B32(InFmt_SOP1 *)
~Inst_VOP3__V_MAD_I32_I24()
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LG_F16()
Inst_DS__DS_ADD_U32(InFmt_DS *)
~Inst_MUBUF__BUFFER_LOAD_DWORD()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_F_U16(InFmt_VOPC *)
~Inst_MIMG__IMAGE_SAMPLE_C_LZ_O()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_DIV_FMAS_F64()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_B_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAX3_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP1__V_RSQ_F32(InFmt_VOP1 *)
Inst_VOPC__V_CMPX_F_U16(InFmt_VOPC *)
Inst_SOP2__S_ORN2_B32(InFmt_SOP2 *)
void completeAcc(GPUDynInstPtr) override
~Inst_SMEM__S_BUFFER_LOAD_DWORDX8()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_BITCMP1_B32()
void execute(GPUDynInstPtr) override
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Inst_VOPC__V_CMP_LE_F16(InFmt_VOPC *)
~Inst_DS__DS_GWS_SEMA_P()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAD_I64_I32(InFmt_VOP3_SDST_ENC *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_MOVRELS_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_LG_U32()
~Inst_VOP3__V_CMP_LE_U16()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_RTN_I64()
void read() override
read from the vrf.
~Inst_VOP3__V_CMP_GT_U32()
Inst_VOP3__V_FRACT_F16(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_NGT_F64(InFmt_VOP3 *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GE_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_B_CL_O()
~Inst_MUBUF__BUFFER_ATOMIC_XOR_X2()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_T_U16(InFmt_VOP3 *)
~Inst_DS__DS_ADD_RTN_F32()
~Inst_VOP3__V_CMP_GE_I16()
Inst_VOPC__V_CMPX_NLG_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LG_F64()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_EQ_U64()
Inst_VOP3__V_SUB_F16(InFmt_VOP3 *)
Inst_VOPC__V_CMP_GT_I32(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_F16_I16()
~Inst_VOP3__V_CMP_NLT_F32()
Inst_VOP2__V_MIN_U16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_CLASS_F64()
Inst_VOP3__V_ADD_F16(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_T_I32()
Inst_VOP1__V_FRACT_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NEQ_F32()
~Inst_DS__DS_MAX_SRC2_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_UBYTE(InFmt_MUBUF *)
~Inst_FLAT__FLAT_ATOMIC_SMAX()
~Inst_MIMG__IMAGE_SAMPLE_B_CL_O()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LE_I64(InFmt_VOPC *)
Inst_VOP3__V_CVT_F16_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_BFE_U32(InFmt_SOP2 *)
Inst_VOP3__V_FREXP_EXP_I32_F32(InFmt_VOP3 *)
Inst_VINTRP__V_INTERP_P1_F32(InFmt_VINTRP *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MSKOR_RTN_B32()
void completeAcc(GPUDynInstPtr) override
~Inst_SOP1__S_MOVRELD_B32()
~Inst_VOP3__V_CVT_F16_F32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_EQ_F32()
Inst_VOP2__V_MADMK_F32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_SETREG_B32()
~Inst_VOPC__V_CMP_NE_U16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_U_F16()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_F32(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
Inst_SOPP__S_SETKILL(InFmt_SOPP *)
Inst_VOP3__V_CMPX_GE_F16(InFmt_VOP3 *)
~Inst_SMEM__S_DCACHE_INV_VOL()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_LOG_LEGACY_F32()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NGT_F16()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_U16(InFmt_VOPC *)
FetchUnit & fetchUnit(int simdId)
Inst_VOP3__V_SQRT_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_ASHRREV_I16(InFmt_VOP2 *)
~Inst_VOP1__V_FLOOR_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F64_U32(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_GT_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_ICACHE_INV()
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_INC_X2()
Inst_MIMG__IMAGE_SAMPLE_C_CD(InFmt_MIMG *)
~Inst_VOP1__V_FLOOR_F16()
Inst_VOP3__V_CMPX_EQ_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_T_I16()
Inst_SOP1__S_MOVRELS_B32(InFmt_SOP1 *)
std::shared_ptr< GPUDynInst > GPUDynInstPtr
~Inst_MIMG__IMAGE_SAMPLE_L_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NE_U32()
Inst_VOPC__V_CMPX_LE_F16(InFmt_VOPC *)
~Inst_MUBUF__BUFFER_ATOMIC_SUB_X2()
~Inst_VOP3__V_CMP_LG_F32()
~Inst_MUBUF__BUFFER_WBINVL1()
~Inst_VOPC__V_CMP_U_F32()
~Inst_MIMG__IMAGE_GATHER4_CL()
~Inst_VOP3__V_CVT_F16_U16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_RSQ_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_LG_I32()
Inst_MUBUF__BUFFER_STORE_DWORD(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_EQ_I16()
Inst_VOP3__V_CMPX_NGE_F16(InFmt_VOP3 *)
Inst_FLAT__FLAT_LOAD_USHORT(InFmt_FLAT *)
void decVMemInstsIssued()
~Inst_DS__DS_MIN_RTN_U32()
Inst_VOP3__V_CVT_PK_U16_U32(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_LE_U64(InFmt_VOP3 *)
Inst_VOP1__V_RNDNE_F64(InFmt_VOP1 *)
~Inst_MIMG__IMAGE_SAMPLE_C_LZ()
~Inst_VOP3__V_CUBESC_F32()
~Inst_VOP3__V_CMP_U_F64()
Inst_VOPC__V_CMP_NEQ_F32(InFmt_VOPC *)
~Inst_VOPC__V_CMP_GE_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_SEXT_I32_I16(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_XOR_RTN_B64(InFmt_DS *)
~Inst_VOPC__V_CMP_NE_I64()
~Inst_DS__DS_OR_SRC2_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_CL_O()
~Inst_SOPP__S_SET_GPR_IDX_OFF()
Inst_SOP1__S_WQM_B32(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GT_U32()
~Inst_VOP3__V_CMPX_NGT_F64()
~Inst_SMEM__S_BUFFER_LOAD_DWORDX16()
~Inst_VOP3__V_MAD_I64_I32()
void execute(GPUDynInstPtr) override
void injectGlobalMemFence(GPUDynInstPtr gpuDynInst)
Inst_VOP3__V_RCP_F16(InFmt_VOP3 *)
~Inst_VOP1__V_FREXP_EXP_I16_F16()
Inst_VOP3__V_CMPX_F_F32(InFmt_VOP3 *)
Inst_VOP3__V_MAD_U64_U32(InFmt_VOP3_SDST_ENC *)
Inst_SMEM__S_DCACHE_WB(InFmt_SMEM *)
~Inst_FLAT__FLAT_STORE_DWORD()
~Inst_VOP3__V_CMP_NGE_F32()
Inst_VOPC__V_CMPX_O_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_F_F32()
Inst_SOP1__S_CBRANCH_JOIN(InFmt_SOP1 *)
~Inst_VOP3__V_BCNT_U32_B32()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NEQ_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMP_LT_I16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LT_F64()
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_LOAD_SBYTE(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_LOAD_PCK_SGN()
~Inst_SOP1__S_BITSET0_B64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_U64(InFmt_DS *)
~Inst_VOP3__V_FREXP_MANT_F16()
Inst_VOP3__V_CMPX_F_I64(InFmt_VOP3 *)
~Inst_DS__DS_WRXCHG2_RTN_B64()
Inst_FLAT__FLAT_STORE_DWORDX2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_CLASS_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_O_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MED3_U32(InFmt_VOP3 *)
~Inst_VOP3__V_MUL_HI_U32_U24()
~Inst_VOP3__V_CMP_TRU_F16()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_CMPSWAP(InFmt_MIMG *)
Inst_VOPC__V_CMPX_F_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_ASHRREV_I32()
~Inst_VOP3__V_RCP_IFLAG_F32()
~Inst_MIMG__IMAGE_GATHER4_CL_O()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LT_F32()
~Inst_VOP1__V_FLOOR_F64()
~Inst_SMEM__S_LOAD_DWORDX4()
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_SMEM__S_DCACHE_WB_VOL(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LT_U64()
Inst_VOP3__V_RNDNE_F32(InFmt_VOP3 *)
Inst_SOP2__S_ADD_U32(InFmt_SOP2 *)
~Inst_MIMG__IMAGE_GATHER4_C_B_CL_O()
~Inst_VOP3__V_CMPX_LE_F64()
~Inst_FLAT__FLAT_LOAD_DWORD()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_SET_GPR_IDX_IDX()
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_RTN_F32(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_ATOMIC_ADD()
void execute(GPUDynInstPtr) override
Inst_VOP1__V_LOG_F16(InFmt_VOP1 *)
~Inst_VOP2__V_MADAK_F32()
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_SMAX_X2()
~Inst_SOP1__S_BCNT0_I32_B32()
~Inst_SOP1__S_XNOR_SAVEEXEC_B64()
Inst_MIMG__IMAGE_SAMPLE_C_D_CL_O(InFmt_MIMG *)
Inst_VOP3__V_CMP_NLE_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_I32()
Inst_VOP3__V_CMPX_GE_I64(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_EQ_F64()
Inst_DS__DS_OR_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_B96(InFmt_DS *)
~Inst_SOPK__S_CMPK_LE_I32()
~Inst_VOPC__V_CMP_EQ_F16()
Inst_MIMG__IMAGE_SAMPLE_C_O(InFmt_MIMG *)
~Inst_VOP3__V_CMPX_NGE_F32()
void execute(GPUDynInstPtr) override
Inst_VINTRP__V_INTERP_MOV_F32(InFmt_VINTRP *)
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_O_F32()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPK__S_ADDK_I32(InFmt_SOPK *)
~Inst_VOPC__V_CMPX_F_I16()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NEQ_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Read 1 dword from scalar data cache.
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_ASHRREV_I64()
Inst_VOP3__V_BFM_B32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LT_U16()
Inst_VOP1__V_CVT_I32_F64(InFmt_VOP1 *)
Inst_DS__DS_MIN_F32(InFmt_DS *)
Inst_DS__DS_MIN_I32(InFmt_DS *)
~Inst_VOPC__V_CMPX_F_I32()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_CL(InFmt_MIMG *)
~Inst_VOPC__V_CMP_GE_F64()
Inst_SOP2__S_CBRANCH_G_FORK(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GE_U16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_LG_I32(InFmt_SOPK *)
Inst_MIMG__IMAGE_GATHER4_CL(InFmt_MIMG *)
~Inst_VOP3__V_EXP_LEGACY_F32()
Inst_VOP3__V_COS_F32(InFmt_VOP3 *)
Inst_VOP3__V_CEIL_F64(InFmt_VOP3 *)
~Inst_VOP3__V_CVT_F32_UBYTE0()
~Inst_MIMG__IMAGE_ATOMIC_SMAX()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SUBB_U32(InFmt_VOP3_SDST_ENC *)
~Inst_MIMG__IMAGE_SAMPLE_B_CL()
~Inst_VOP3__V_ALIGNBYTE_B32()
void execute(GPUDynInstPtr) override
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_UMAX()
void decLGKMInstsIssued()
Inst_SOPC__S_CMP_GT_U32(InFmt_SOPC *)
~Inst_VOP1__V_CVT_F16_F32()
void completeAcc(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_B()
Inst_VOP3__V_CVT_F32_UBYTE0(InFmt_VOP3 *)
~Inst_VOP3__V_LSHRREV_B32()
Inst_SOPK__S_CMPK_LE_I32(InFmt_SOPK *)
Inst_SOPC__S_SETVSKIP(InFmt_SOPC *)
~Inst_VOPC__V_CMP_NEQ_F32()
~Inst_SOP1__S_FLBIT_I32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GE_F32()
~Inst_FLAT__FLAT_ATOMIC_SUB_X2()
void barrierId(int bar_id)
Inst_DS__DS_DEC_RTN_U64(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_BITSET1_B64()
Inst_DS__DS_XOR_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_FLOOR_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_SOPP__S_SLEEP(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_SETPC_B64()
~Inst_VOPC__V_CMP_NE_U32()
~Inst_VOP1__V_CVT_RPI_I32_F32()
~Inst_DS__DS_XOR_SRC2_B64()
Inst_VOP3__V_SUBREV_U16(InFmt_VOP3 *)
Inst_SOP1__S_SETPC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ASHRREV_I64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_CDBGSYS_AND_USER(InFmt_SOPP *)
Inst_VOP3__V_CMPX_LT_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_F_F32(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_GT_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
ScalarRegI32 firstOppositeSignBit(ScalarRegI32 val)
Inst_SOPC__S_CMP_EQ_U32(InFmt_SOPC *)
Inst_VOP3__V_CMP_F_U16(InFmt_VOP3 *)
~Inst_SOPK__S_CMPK_EQ_U32()
Inst_SOPK__S_CMPK_GT_U32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_SCC0()
~Inst_VOP3__V_CMPX_LT_U16()
~Inst_VOP1__V_CVT_U16_F16()
Inst_MUBUF__BUFFER_ATOMIC_OR_X2(InFmt_MUBUF *)
Inst_VOP3__V_CMPX_LT_I16(InFmt_VOP3 *)
~Inst_MIMG__IMAGE_ATOMIC_XOR()
Inst_VOPC__V_CMPX_EQ_F32(InFmt_VOPC *)
Inst_MIMG__IMAGE_ATOMIC_OR(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_SUB(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_BFE_I32(InFmt_VOP3 *)
Inst_SOPK__S_GETREG_B32(InFmt_SOPK *)
Inst_VOP3__V_FFBL_B32(InFmt_VOP3 *)
Inst_VOPC__V_CMPX_LE_I32(InFmt_VOPC *)
Inst_VOP3__V_CMPX_T_I32(InFmt_VOP3 *)
Inst_VOP2__V_LSHLREV_B32(InFmt_VOP2 *)
Inst_MIMG__IMAGE_ATOMIC_SMIN(InFmt_MIMG *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LE_F32()
~Inst_SOP1__S_MOVRELD_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GT_U16(InFmt_VOPC *)
~Inst_VOP3__V_CMP_F_F32()
Inst_VOPC__V_CMP_LG_F16(InFmt_VOPC *)
~Inst_VOP3__V_CMP_O_F16()
void execute(GPUDynInstPtr) override
GPUDispatcher & dispatcher()
Inst_VOP3__V_LSHRREV_B32(InFmt_VOP3 *)
~Inst_DS__DS_MIN_RTN_U64()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP2__S_NAND_B64(InFmt_SOP2 *)
Inst_MUBUF__BUFFER_ATOMIC_SMAX(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NE_U64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_F_I64()
~Inst_VOP2__V_LSHLREV_B16()
Inst_VOP3__V_ADD_F32(InFmt_VOP3 *)
Inst_VOP1__V_FREXP_EXP_I16_F16(InFmt_VOP1 *)
Inst_MIMG__IMAGE_GATHER4_C_B_CL(InFmt_MIMG *)
Inst_VOP3__V_MOV_FED_B32(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_L(InFmt_MIMG *)
Inst_VOP3__V_CMPX_GE_I16(InFmt_VOP3 *)
Inst_VOP3__V_PERM_B32(InFmt_VOP3 *)
Inst_MUBUF__BUFFER_ATOMIC_AND_X2(InFmt_MUBUF *)
~Inst_VOP3__V_CVT_F32_UBYTE3()
Inst_VOP3__V_CMP_GT_F16(InFmt_VOP3 *)
~Inst_FLAT__FLAT_LOAD_SSHORT()
Inst_VOPC__V_CMPX_NE_I64(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_GE_I32()
Inst_VOP1__V_CVT_F16_U16(InFmt_VOP1 *)
Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP_X2(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_EQ_I32()
~Inst_MIMG__IMAGE_GATHER4()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MIN_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_U_F16(InFmt_VOPC *)
~Inst_MIMG__IMAGE_GATHER4_C_L_O()
Inst_VOPC__V_CMPX_LG_F16(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_NLE_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_CLASS_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAC_F32(InFmt_VOP3 *)
~Inst_DS__DS_MAX_RTN_U32()
Inst_VOPC__V_CMP_NGE_F32(InFmt_VOPC *)
Inst_VOP3__V_INTERP_P1LL_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_F64(InFmt_VOPC *)
Inst_VOP3__V_RCP_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GET_LOD()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NLE_F64(InFmt_VOP3 *)
Inst_VOPC__V_CMP_EQ_U64(InFmt_VOPC *)
Inst_MIMG__IMAGE_SAMPLE_C(InFmt_MIMG *)
Inst_FLAT__FLAT_ATOMIC_AND(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_C_B_CL(InFmt_MIMG *)
Base class for branch operations.
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_B_CL()
~Inst_VOPC__V_CMP_LG_F64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_OR_B32(InFmt_DS *)
Inst_SOPC__S_CMP_LG_I32(InFmt_SOPC *)
~Inst_VOPC__V_CMP_GE_I32()
Inst_SOPP__S_CBRANCH_CDBGSYS(InFmt_SOPP *)
Inst_VOP3__V_CMP_EQ_U32(InFmt_VOP3 *)
~Inst_VOP1__V_CVT_U32_F32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GE_U16()
Inst_VOP3__V_CMPX_LT_U64(InFmt_VOP3 *)
Inst_DS__DS_ADD_U64(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_NEQ_F16()
Inst_MIMG__IMAGE_GATHER4_LZ_O(InFmt_MIMG *)
~Inst_VOP3__V_CMP_GT_I64()
~Inst_DS__DS_AND_RTN_B32()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ORN2_B64(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_DS__DS_WRAP_RTN_B32()
Inst_VOP3__V_CVT_PKNORM_I16_F32(InFmt_VOP3 *)
Inst_VOP2__V_LSHRREV_B16(InFmt_VOP2 *)
~Inst_VOP3__V_DIV_FMAS_F32()
void execute(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_GE_U32(InFmt_SOPK *)
~Inst_SMEM__S_LOAD_DWORDX16()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_CMPST_RTN_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GT_U32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NE_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_LOAD_PCK()
~Inst_VOP3__V_CMPX_O_F64()
~Inst_SMEM__S_LOAD_DWORDX2()
void execute(GPUDynInstPtr) override
Inst_DS__DS_PERMUTE_B32(InFmt_DS *)
Bitfield< 31, 16 > selector
~Inst_SOPK__S_GETREG_B32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NE_I32()
~Inst_MIMG__IMAGE_GATHER4_L()
Inst_VOP3__V_CMP_NE_U16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_LE_U16()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_F_I64(InFmt_VOPC *)
~Inst_VOP3__V_MUL_HI_I32_I24()
~Inst_DS__DS_SUB_RTN_U64()
~Inst_DS__DS_WRITE2_B64()
~Inst_VOP3__V_MBCNT_LO_U32_B32()
~Inst_SOP1__S_FLBIT_I32_B32()
~Inst_VOP3__V_CVT_PK_U8_F32()
~Inst_VOP3__V_SUBREV_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_EQ_F32()
Inst_MIMG__IMAGE_SAMPLE_D_CL_O(InFmt_MIMG *)
~Inst_VOPC__V_CMP_LE_F64()
Inst_VOPC__V_CMPX_CLASS_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_U32()
~Inst_SOP1__S_MOVRELS_B32()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_CLASS_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_U_F64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GT_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GT_F64(InFmt_VOP3 *)
Inst_VOP1__V_FRACT_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_RTN_F64(InFmt_DS *)
Inst_DS__DS_MIN_RTN_I32(InFmt_DS *)
Inst_SMEM__S_ATC_PROBE(InFmt_SMEM *)
Inst_SOP1__S_ORN2_SAVEEXEC_B64(InFmt_SOP1 *)
Inst_DS__DS_XOR_SRC2_B32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NGT_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MAX_U32(InFmt_VOP2 *)
~Inst_MIMG__IMAGE_ATOMIC_SUB()
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_ANDN2_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_LT_U32()
Inst_VOP3__V_CMP_F_I64(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_LT_F32()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_CD_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_F_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_EXECNZ(InFmt_SOPP *)
Inst_FLAT__FLAT_ATOMIC_SMAX_X2(InFmt_FLAT *)
Inst_VOP1__V_MOV_B32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NLT_F32(InFmt_VOPC *)
Inst_VOPC__V_CMPX_LG_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_O_F32()
Inst_VOP1__V_TRUNC_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_B_O(InFmt_MIMG *)
~Inst_VOPC__V_CMPX_T_I16()
~Inst_SOPC__S_CMP_GT_I32()
std::enable_if_t< Condition, void > setBit(int bit, int bit_val)
bit access to scalar data.
Inst_VOP1__V_CVT_F16_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_I32(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_SAD_U32(InFmt_VOP3 *)
~Inst_VOP3__V_CMPX_EQ_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_EQ_F64()
~Inst_VOP3__V_CMP_NE_I32()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_FF0_I32_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LDEXP_F16(InFmt_VOP3 *)
Inst_VOP1__V_CEIL_F64(InFmt_VOP1 *)
Inst_VOPC__V_CMPX_LE_I16(InFmt_VOPC *)
~Inst_VOP3__V_SUBREV_F16()
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_MADMK_F32()
~Inst_VOPC__V_CMP_LT_I64()
void execute(GPUDynInstPtr) override
int maxBarrierCnt(int bar_id)
void completeAcc(GPUDynInstPtr) override
~Inst_SOPK__S_CBRANCH_I_FORK()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG2_RTN_B32(InFmt_DS *)
~Inst_MIMG__IMAGE_SAMPLE_B_O()
Inst_VOPC__V_CMP_LE_I64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_SOP2__S_MAX_I32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GE_I16()
void execute(GPUDynInstPtr) override
~Inst_SOP2__S_RFE_RESTORE_B64()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_GT_F32()
void execute(GPUDynInstPtr) override
Inst_SOP2__S_CSELECT_B64(InFmt_SOP2 *)
Inst_VOP3__V_INTERP_P2_F32(InFmt_VOP3 *)
~Inst_VOP3__V_CUBEID_F32()
void execute(GPUDynInstPtr) override
Inst_VINTRP__V_INTERP_P2_F32(InFmt_VINTRP *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_SBYTE(InFmt_MUBUF *)
~Inst_VOP1__V_CVT_F16_U16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_STORE_DWORDX4()
~Inst_DS__DS_INC_SRC2_U32()
Inst_DS__DS_MSKOR_B32(InFmt_DS *)
~Inst_VOPC__V_CMPX_NLT_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MOV_FED_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_SWAP()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_B_CL_O(InFmt_MIMG *)
Inst_MIMG__IMAGE_SAMPLE_C_L_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GT_U32(InFmt_VOP3 *)
Inst_VOP3__V_CVT_U16_F16(InFmt_VOP3 *)
~Inst_VOP1__V_BFREV_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NEQ_F64()
Inst_SMEM__S_BUFFER_LOAD_DWORDX16(InFmt_SMEM *)
~Inst_VOPC__V_CMPX_NLE_F16()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAX_I16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NLT_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_CMP_LE_I32()
Inst_SOP2__S_MUL_I32(InFmt_SOP2 *)
Inst_VOP3__V_CMP_NLT_F64(InFmt_VOP3 *)
Inst_SOP2__S_CSELECT_B32(InFmt_SOP2 *)
~Inst_VOP3__V_CMPX_GT_U16()
~Inst_MIMG__IMAGE_SAMPLE_CD_CL_O()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_GE_U32(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F32_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_EXP_F32(InFmt_VOP1 *)
~Inst_VOP3__V_DIV_FIXUP_F64()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LG_F64(InFmt_VOPC *)
Inst_SOP1__S_MOVRELD_B64(InFmt_SOP1 *)
~Inst_SMEM__S_STORE_DWORDX2()
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_LG_I32()
Inst_VOP3__V_CMPX_TRU_F32(InFmt_VOP3 *)
void initiateAcc(GPUDynInstPtr) override
Inst_SOPP__S_CBRANCH_CDBGUSER(InFmt_SOPP *)
Inst_SOP1__S_FLBIT_I32_B32(InFmt_SOP1 *)
Inst_DS__DS_AND_B32(InFmt_DS *)
~Inst_DS__DS_MAX_SRC2_I64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_RTN_U64(InFmt_DS *)
~Inst_VOPC__V_CMP_EQ_U64()
Inst_DS__DS_INC_SRC2_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_CONSUME(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_ADD(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAD_F32(InFmt_VOP3 *)
Inst_SOP1__S_NOT_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_CMPSWAP(InFmt_MUBUF *)
Inst_DS__DS_RSUB_RTN_U32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_EQ_F16(InFmt_VOPC *)
Inst_DS__DS_MAX_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SMEM__S_BUFFER_STORE_DWORDX4(InFmt_SMEM *)
~Inst_VOP3__V_CVT_PKNORM_I16_F32()
~Inst_VOP3__V_ASHRREV_I16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
statistics::Distribution readsPerWrite
Inst_MIMG__IMAGE_SAMPLE_CD_O(InFmt_MIMG *)
~Inst_MUBUF__BUFFER_ATOMIC_SMAX()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LT_I32(InFmt_VOPC *)
Inst_MIMG__IMAGE_LOAD_PCK(InFmt_MIMG *)
~Inst_MIMG__IMAGE_SAMPLE_D_CL()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_F32()
Inst_SOP2__S_SUBB_U32(InFmt_SOP2 *)
Inst_DS__DS_MAX_RTN_I64(InFmt_DS *)
std::deque< GPUDynInstPtr > instructionBuffer
Inst_VOP3__V_MIN_U16(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_T_U16()
void execute(GPUDynInstPtr) override
void calcAddr(GPUDynInstPtr gpuDynInst, ConstVecOperandU32 &addr)
void completeAcc(GPUDynInstPtr) override
~Inst_SMEM__S_BUFFER_STORE_DWORDX4()
Inst_VOPC__V_CMPX_F_I32(InFmt_VOPC *)
Inst_VOP3__V_MED3_F32(InFmt_VOP3 *)
~Inst_VOP3__V_CVT_FLR_I32_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_I32_F64()
Inst_SOPC__S_CMP_EQ_I32(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_RTN_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_GT_U16(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_LE_I16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MADAK_F32(InFmt_VOP2 *)
Inst_VOP3__V_CMPX_CLASS_F32(InFmt_VOP3 *)
Inst_VOP1__V_NOT_B32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_GT_F16()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_EQ_U16()
Inst_VOP3__V_CMP_NLE_F32(InFmt_VOP3 *)
Inst_DS__DS_MAX_SRC2_F64(InFmt_DS *)
Inst_VOP3__V_FREXP_EXP_I32_F64(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_EQ_F32()
Inst_MIMG__IMAGE_SAMPLE_CD_CL(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LG_F16(InFmt_VOP3 *)
Inst_VOPC__V_CMP_LE_U64(InFmt_VOPC *)
gem5::Wavefront::WavefrontStats stats
~Inst_MUBUF__BUFFER_ATOMIC_ADD_X2()
Inst_VOPC__V_CMP_NGT_F32(InFmt_VOPC *)
Inst_MIMG__IMAGE_GATHER4_L_O(InFmt_MIMG *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_SUB_U16(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_LE_F16()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_B_CL_O(InFmt_MIMG *)
Inst_VOP3__V_CMPX_NE_U64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MAD_U64_U32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_T_I32(InFmt_VOPC *)
Inst_VOP1__V_CVT_U16_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_ASHR_I64(InFmt_SOP2 *)
~Inst_VOP3__V_CMP_LT_U16()
Inst_VOP3__V_CMP_GE_I64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_T_U32()
~Inst_VOP2__V_ASHRREV_I32()
Inst_DS__DS_READ_U16(InFmt_DS *)
Inst_VOPC__V_CMP_U_F32(InFmt_VOPC *)
Inst_SOPP__S_CBRANCH_VCCNZ(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SQRT_F16(InFmt_VOP3 *)
Inst_DS__DS_WRITE2_B32(InFmt_DS *)
Inst_SMEM__S_STORE_DWORDX4(InFmt_SMEM *)
Inst_VOPC__V_CMPX_EQ_U16(InFmt_VOPC *)
Inst_VOPC__V_CMPX_T_I64(InFmt_VOPC *)
~Inst_VOP3__V_TRIG_PREOP_F64()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
~Inst_DS__DS_ADD_RTN_U32()
~Inst_VOP2__V_MUL_LEGACY_F32()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_T_I16()
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_GT_U16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_SAMPLE_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
Inst_SOPP__S_ENDPGM_SAVED(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_EQ_U16(InFmt_VOP3 *)
~Inst_VOP3__V_INTERP_P2_F16()
Inst_SOP2__S_BFM_B32(InFmt_SOP2 *)
~Inst_VOP1__V_TRUNC_F16()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_AND_SRC2_B64()
~Inst_VOP3__V_CMPX_EQ_U16()
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_SRC2_U64(InFmt_DS *)
Inst_VOPC__V_CMP_GT_U64(InFmt_VOPC *)
Inst_VOP1__V_COS_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_LE_I64(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP1__V_TRUNC_F16(InFmt_VOP1 *)
~Inst_FLAT__FLAT_ATOMIC_DEC_X2()
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_PK_U16_U32()
Inst_DS__DS_READ_B128(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_VOP3__V_MAX3_F32(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_PKACCUM_U8_F32()
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_ATOMIC_AND(InFmt_MIMG *)
void initiateAcc(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_GT_I32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_ADD_U16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_B(InFmt_MIMG *)
Inst_VOP3__V_CMPX_NLG_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NE_I64(InFmt_VOPC *)
~Inst_VOPC__V_CMP_NLG_F32()
~Inst_VOPC__V_CMPX_T_I32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CEIL_F32(InFmt_VOP1 *)
~Inst_VOP3__V_CVT_F64_F32()
Inst_VOP2__V_CNDMASK_B32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP1__V_CLREXCP(InFmt_VOP1 *)
~Inst_VOPC__V_CMP_GT_F32()
Inst_VOP3__V_MIN_I32(InFmt_VOP3 *)
Inst_DS__DS_CONDXCHG32_RTN_B64(InFmt_DS *)
~Inst_VOP3__V_BFREV_B32()
~Inst_VOP3__V_CMP_U_F32()
~Inst_VOP3__V_CVT_F32_UBYTE2()
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_WRITELANE_B32()
Inst_VOPC__V_CMP_GE_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MAX3_I32(InFmt_VOP3 *)
Inst_FLAT__FLAT_STORE_DWORD(InFmt_FLAT *)
Inst_VOPC__V_CMPX_NLG_F32(InFmt_VOPC *)
Inst_MUBUF__BUFFER_STORE_DWORDX3(InFmt_MUBUF *)
~Inst_SMEM__S_BUFFER_STORE_DWORD()
~Inst_SMEM__S_DCACHE_WB()
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_CMPST_F32(InFmt_DS *)
~Inst_VOP3__V_CMPX_NGT_F32()
Inst_VOP3__V_CMP_NEQ_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NLE_F32()
Inst_VOP1__V_SQRT_F64(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_MIMG__IMAGE_GATHER4_C_CL_O(InFmt_MIMG *)
~Inst_VOP1__V_FREXP_EXP_I32_F64()
~Inst_VOPC__V_CMPX_LE_U32()
void execute(GPUDynInstPtr) override
Inst_FLAT__FLAT_ATOMIC_SWAP_X2(InFmt_FLAT *)
Inst_VOP3__V_CMPX_NGT_F16(InFmt_VOP3 *)
~Inst_SOP1__S_BITSET1_B32()
Inst_VOP3__V_CVT_PKNORM_U16_F32(InFmt_VOP3 *)
Inst_VOPC__V_CMPX_CLASS_F16(InFmt_VOPC *)
Inst_VOP3__V_CMPX_T_U16(InFmt_VOP3 *)
~Inst_VOP3__V_CMPX_LE_I32()
Inst_DS__DS_MAX_RTN_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_GWS_BARRIER()
Inst_DS__DS_MIN_SRC2_I64(InFmt_DS *)
~Inst_DS__DS_CMPST_RTN_F32()
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_MIMG__IMAGE_SAMPLE_C_B(InFmt_MIMG *)
~Inst_VOPC__V_CMPX_LE_F16()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_RNDNE_F16(InFmt_VOP3 *)
Inst_FLAT__FLAT_ATOMIC_UMIN_X2(InFmt_FLAT *)
~Inst_VOP3__V_ALIGNBIT_B32()
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_BPERMUTE_B32(InFmt_DS *)
Inst_VOP3__V_CMP_GT_I32(InFmt_VOP3 *)
Inst_FLAT__FLAT_ATOMIC_OR_X2(InFmt_FLAT *)
Inst_DS__DS_RSUB_SRC2_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_SUB_RTN_U32(InFmt_DS *)
Inst_SOP1__S_FLBIT_I32(InFmt_SOP1 *)
Inst_FLAT__FLAT_ATOMIC_AND_X2(InFmt_FLAT *)
void completeAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CVT_F32_F64()
Inst_VOPC__V_CMPX_CLASS_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LE_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FREXP_EXP_I16_F16(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_READ2_B64(InFmt_DS *)
Inst_MUBUF__BUFFER_ATOMIC_OR(InFmt_MUBUF *)
~Inst_VOPC__V_CMPX_T_U64()
~Inst_VOP3__V_LSHLREV_B32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_F32_F64()
~Inst_VOPC__V_CMPX_CLASS_F16()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_LOAD_USHORT(InFmt_MUBUF *)
Inst_VOPC__V_CMPX_GE_U64(InFmt_VOPC *)
VecOperand< VecElemU32, true > ConstVecOperandU32
~Inst_VOPC__V_CMP_F_I64()
~Inst_DS__DS_XOR_RTN_B32()
~Inst_VOP3__V_CMPX_EQ_I32()
~Inst_VOPC__V_CMPX_LE_F32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GE_U32(InFmt_VOPC *)
~Inst_SOPC__S_BITCMP0_B64()
Inst_VOP1__V_RCP_IFLAG_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_APPEND(InFmt_DS *)
Inst_SOP1__S_XOR_SAVEEXEC_B64(InFmt_SOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_LT_U64(InFmt_VOPC *)
Inst_VOP3__V_SUBREV_F16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPK__S_CMPK_LE_U32()
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_LOAD_DWORDX4()
void execute(GPUDynInstPtr) override
Inst_SMEM__S_LOAD_DWORD(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_EQ_F32()
~Inst_VOPC__V_CMP_T_U64()
Inst_SOP1__S_BCNT1_I32_B64(InFmt_SOP1 *)
Inst_VOP3__V_RCP_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_CVT_U32_F64()
~Inst_VOPC__V_CMPX_NGT_F32()
Inst_VOPC__V_CMPX_NE_U16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_INC()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_EQ_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUBB_U32(InFmt_VOP2 *)
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MADMK_F16(InFmt_VOP2 *)
Inst_VOPC__V_CMP_NE_I16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_STORE_PCK()
void execute(GPUDynInstPtr) override
Inst_SOP1__S_BREV_B32(InFmt_SOP1 *)
~Inst_SOP1__S_XOR_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_SIN_F32(InFmt_VOP3 *)
~Inst_DS__DS_MSKOR_RTN_B64()
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_READ_I16(InFmt_DS *)
Inst_FLAT__FLAT_ATOMIC_ADD_X2(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_AND_SRC2_B32()
Inst_VOP3__V_CMP_NE_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_LT_I32(InFmt_SOPC *)
~Inst_FLAT__FLAT_ATOMIC_CMPSWAP_X2()
~Inst_VOP3__V_CMP_O_F32()
Inst_VOP3__V_CMPX_LT_I64(InFmt_VOP3 *)
Inst_VOPC__V_CMPX_NEQ_F64(InFmt_VOPC *)
~Inst_VOPC__V_CMP_F_F32()
Inst_DS__DS_AND_RTN_B32(InFmt_DS *)
Inst_VOP1__V_TRUNC_F64(InFmt_VOP1 *)
Inst_VOP3__V_CMPX_LT_I32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_TRUNC_F64(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_U_F64()
~Inst_VOP3__V_DIV_SCALE_F64()
Inst_VOP3__V_CMP_GE_F64(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_GT_F32()
Inst_VOP2__V_MAX_I16(InFmt_VOP2 *)
void initiateAcc(GPUDynInstPtr) override
Inst_SMEM__S_LOAD_DWORDX4(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_D_CL_O()
uint8_t permute(uint64_t in_dword2x, uint32_t sel)
~Inst_VOP3__V_CMP_U_F16()
Inst_VOPC__V_CMPX_LT_F16(InFmt_VOPC *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_MAD_LEGACY_F32()
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NLG_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOP1__S_AND_SAVEEXEC_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NEQ_F16()
~Inst_MIMG__IMAGE_GATHER4_C()
~Inst_VOPC__V_CMPX_F_U64()
Inst_VOP3__V_LOG_LEGACY_F32(InFmt_VOP3 *)
Inst_VOP1__V_CVT_U32_F64(InFmt_VOP1 *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NGE_F64(InFmt_VOP3 *)
Inst_VOP1__V_NOP(InFmt_VOP1 *)
Inst_VOP3__V_CMPX_EQ_F64(InFmt_VOP3 *)
~Inst_SOPC__S_CMP_EQ_I32()
~Inst_VOPC__V_CMP_NEQ_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NGT_F16()
~Inst_DS__DS_MAX_RTN_U64()
~Inst_VOP1__V_FRACT_F16()
~Inst_VOPC__V_CMPX_LE_U16()
Inst_DS__DS_MAX_SRC2_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_LOAD_USHORT()
Inst_DS__DS_WRITE2ST64_B32(InFmt_DS *)
~Inst_MIMG__IMAGE_SAMPLE_C_D_CL()
Inst_VOP1__V_SQRT_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_GE_I64()
~Inst_VOP3__V_MBCNT_HI_U32_B32()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_UMAX_X2(InFmt_MUBUF *)
Inst_VOP2__V_MUL_F32(InFmt_VOP2 *)
~Inst_SOP1__S_MOV_FED_B32()
~Inst_VOPC__V_CMP_NE_I32()
~Inst_VOPC__V_CMP_GE_F16()
Inst_VOP1__V_CVT_OFF_F32_I4(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_SOP1__S_MOVRELD_B32(InFmt_SOP1 *)
Inst_MIMG__IMAGE_SAMPLE_B(InFmt_MIMG *)
Inst_MIMG__IMAGE_GATHER4_C_L(InFmt_MIMG *)
Inst_DS__DS_MAX_SRC2_U64(InFmt_DS *)
~Inst_DS__DS_MIN_RTN_I32()
~Inst_SMEM__S_DCACHE_WB_VOL()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_EQ_U64(InFmt_VOP3 *)
~Inst_DS__DS_ORDERED_COUNT()
~Inst_VOP1__V_RNDNE_F16()
Inst_VOP3__V_FREXP_MANT_F16(InFmt_VOP3 *)
Inst_VOP2__V_LSHRREV_B32(InFmt_VOP2 *)
~Inst_DS__DS_MAX_RTN_I32()
Inst_VOPC__V_CMP_NGE_F16(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
Inst_SMEM__S_DCACHE_INV(InFmt_SMEM *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LT_F16()
Inst_DS__DS_GWS_SEMA_P(InFmt_DS *)
Inst_DS__DS_XOR_B64(InFmt_DS *)
Inst_VOPC__V_CMPX_GE_I16(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_LT_I16()
Inst_VOPC__V_CMPX_NLE_F64(InFmt_VOPC *)
Inst_SOPC__S_CMP_LT_U32(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_NEQ_F16(InFmt_VOPC *)
~Inst_MIMG__IMAGE_SAMPLE_C_CD()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE2ST64_B64(InFmt_DS *)
Inst_VOPC__V_CMP_NLG_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_NE_U32(InFmt_VOPC *)
Inst_VOP3__V_CMPX_NE_U32(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_GT_U32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GT_F16()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_ADD(InFmt_MUBUF *)
Inst_VOPC__V_CMPX_EQ_F16(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_RSQ_F16(InFmt_VOP3 *)
~Inst_VOPC__V_CMP_NLG_F64()
Inst_VOP3__V_ADD_U32(InFmt_VOP3_SDST_ENC *)
Inst_VOPC__V_CMP_EQ_F32(InFmt_VOPC *)
void initiateAcc(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_NGE_F64()
~Inst_MIMG__IMAGE_GATHER4_C_CL_O()
Inst_FLAT__FLAT_LOAD_UBYTE(InFmt_FLAT *)
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_SWAP(InFmt_MUBUF *)
Inst_VOPC__V_CMPX_U_F64(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_NGT_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMP_GT_I16(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_TRU_F32()
Inst_VOPC__V_CMP_T_I16(InFmt_VOPC *)
~Inst_VOPC__V_CMPX_GE_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_T_I32()
Inst_VOP1__V_SIN_F16(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE_SRC2_B32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_I16_F16(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_EQ_U64(InFmt_VOP3 *)
~Inst_SOP2__S_ABSDIFF_I32()
Inst_VOP1__V_FFBH_U32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NE_I64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_NGE_F64()
Inst_VOP3__V_CVT_F32_U32(InFmt_VOP3 *)
Inst_VOP3__V_INTERP_P1_F32(InFmt_VOP3 *)
~Inst_VOP3__V_CMP_GE_U64()
void execute(GPUDynInstPtr) override
~Inst_FLAT__FLAT_ATOMIC_DEC()
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_LT_F16()
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_DCACHE_INV()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_LT_I32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_STORE_DWORDX2()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMPX_F_I16()
Inst_MUBUF__BUFFER_ATOMIC_UMIN(InFmt_MUBUF *)
~Inst_MIMG__IMAGE_SAMPLE_D_O()
Inst_MUBUF__BUFFER_STORE_LDS_DWORD(InFmt_MUBUF *)
~Inst_VOPC__V_CMP_LE_I32()
Inst_VOP1__V_RNDNE_F32(InFmt_VOP1 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_F_U64()
~Inst_VOP3__V_CMP_LE_U64()
Inst_SOP1__S_OR_SAVEEXEC_B64(InFmt_SOP1 *)
~Inst_VOPC__V_CMP_TRU_F64()
Inst_VOP3__V_CMPX_T_U32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SOP2__S_CBRANCH_G_FORK()
Inst_MIMG__IMAGE_STORE_PCK(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_EQ_I16()
void execute(GPUDynInstPtr) override
Inst_VOP2__V_SUB_F16(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MIN3_I32(InFmt_VOP3 *)
~Inst_VOPC__V_CMPX_NE_U32()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LE_U16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_MUL_LO_U32(InFmt_VOP3 *)
Inst_VOP3__V_EXP_F32(InFmt_VOP3 *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_SOPP__S_CBRANCH_VCCZ()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_FMA_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_RNDNE_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_LOAD_DWORDX8()
Inst_DS__DS_MAX_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_FRACT_F64()
Inst_VOP3__V_CMP_EQ_U16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOP2__V_MIN_I32(InFmt_VOP2 *)
Inst_VOP2__V_MIN_U32(InFmt_VOP2 *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void panicUnimplemented() const
void initiateAcc(GPUDynInstPtr) override
Inst_SOPC__S_CMP_GT_I32(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMPX_NEQ_F32()
Inst_SOP2__S_ASHR_I32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
~Inst_VOP2__V_LSHRREV_B32()
Inst_VOP3__V_MUL_HI_U32_U24(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_SOP2__S_SUB_I32(InFmt_SOP2 *)
Inst_SOPC__S_CMP_LE_U32(InFmt_SOPC *)
~Inst_VOP3__V_CMPX_NLE_F64()
Inst_VOP3__V_CUBEID_F32(InFmt_VOP3 *)
~Inst_FLAT__FLAT_STORE_DWORDX4()
Inst_VOP3__V_CMP_LE_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
Inst_VOPC__V_CMPX_EQ_U32(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_GE_U64()
Inst_VOP3__V_CMP_F_F64(InFmt_VOP3 *)
Inst_DS__DS_ADD_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_EQ_U64()
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_NE_I16(InFmt_VOP3 *)
~Inst_DS__DS_MIN_RTN_I64()
Inst_VOP3__V_CVT_U32_F32(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SOPC__S_BITCMP0_B32()
Inst_SOP2__S_OR_B32(InFmt_SOP2 *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_SWIZZLE_B32(InFmt_DS *)
Inst_DS__DS_READ_I8(InFmt_DS *)
~Inst_VOP3__V_CMPX_LE_I64()
Inst_VOPC__V_CMPX_EQ_U64(InFmt_VOPC *)
Inst_MIMG__IMAGE_SAMPLE_C_CL_O(InFmt_MIMG *)
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_FREXP_MANT_F32()
Inst_SOPP__S_CBRANCH_SCC1(InFmt_SOPP *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_TRUNC_F32()
void execute(GPUDynInstPtr) override
Inst_SOPC__S_CMP_GE_I32(InFmt_SOPC *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_U64(InFmt_DS *)
~Inst_SOPP__S_CBRANCH_CDBGSYS_OR_USER()
~Inst_VOP3__V_LDEXP_F16()
~Inst_VOP3__V_CMP_NLE_F64()
void execute(GPUDynInstPtr) override
Inst_MUBUF__BUFFER_ATOMIC_SMIN(InFmt_MUBUF *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMP_LE_I64(InFmt_VOP3 *)
Inst_DS__DS_MAX_SRC2_I32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CVT_F16_I16(InFmt_VOP3 *)
~Inst_VOP3__V_CMPX_T_U16()
~Inst_VOP3__V_CMP_LT_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_VOPC__V_CMP_LE_F16()
Inst_MIMG__IMAGE_GATHER4_C_LZ_O(InFmt_MIMG *)
Inst_VOP3__V_CMPX_NEQ_F64(InFmt_VOP3 *)
Inst_VOPC__V_CMP_LE_F32(InFmt_VOPC *)
void execute(GPUDynInstPtr) override
std::enable_if_t< Condition, DataType > rawData() const
we store scalar data in a std::array, however if we need the full operand data we use this method to ...
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_SUBREV_U32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_VOP3__V_CMPX_EQ_I32(InFmt_VOP3 *)
~Inst_VOPC__V_CMP_NGT_F32()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_GATHER4_C_LZ()
~Inst_DS__DS_MIN_RTN_F64()
~Inst_VOP3__V_CMP_GT_F64()
Inst_VOP3__V_CMPX_LE_I32(InFmt_VOP3 *)
~Inst_VOP1__V_CVT_F32_I32()
Inst_VOP1__V_READFIRSTLANE_B32(InFmt_VOP1 *)
~Inst_MIMG__IMAGE_GATHER4_C_B_O()
~Inst_VOPC__V_CMP_LE_F32()
void initiateAcc(GPUDynInstPtr) override
Inst_SOPK__S_CMPK_EQ_U32(InFmt_SOPK *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_GE_U16()
Inst_VOP3__V_CMP_LT_I64(InFmt_VOP3 *)
Inst_DS__DS_WRITE_B64(InFmt_DS *)
Inst_DS__DS_WRITE_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_VOP3__V_LDEXP_F32(InFmt_VOP3 *)
Inst_SOP2__S_LSHR_B32(InFmt_SOP2 *)
~Inst_VOP3__V_CMPX_EQ_U64()
Inst_VOP3__V_MAD_I16(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_SMEM__S_BUFFER_LOAD_DWORDX2()
~Inst_VOPC__V_CMP_NLE_F32()
Inst_VOP3__V_CMP_TRU_F64(InFmt_VOP3 *)
Inst_VOP3__V_CMPX_TRU_F64(InFmt_VOP3 *)
void execute(GPUDynInstPtr) override
~Inst_VOP3__V_CMP_LT_F16()
void execute(GPUDynInstPtr) override
~Inst_VOP1__V_FREXP_EXP_I32_F32()
Inst_VOPC__V_CMP_NE_I32(InFmt_VOPC *)
~Inst_VOP3__V_CMPX_F_U64()
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_WBINVL1_VOL()
Inst_DS__DS_XOR_B32(InFmt_DS *)
Inst_VOP3__V_MBCNT_LO_U32_B32(InFmt_VOP3 *)
~Inst_VOP1__V_FRACT_F32()
~Inst_SOP1__S_SEXT_I32_I8()
void execute(GPUDynInstPtr) override
~Inst_MUBUF__BUFFER_ATOMIC_INC_X2()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
~Inst_MIMG__IMAGE_SAMPLE_C_CD_CL_O()
Inst_DS__DS_OR_SRC2_B64(InFmt_DS *)
Inst_VOP1__V_SIN_F32(InFmt_VOP1 *)
Inst_VOP1__V_CVT_F32_I32(InFmt_VOP1 *)
~Inst_DS__DS_XOR_RTN_B64()
Inst_VOP3__V_CMPX_LE_U16(InFmt_VOP3 *)
void completeAcc(GPUDynInstPtr) override
~Inst_SOP1__S_BCNT1_I32_B32()
Generated on Sun Jul 30 2023 01:56:35 for gem5 by doxygen 1.8.17