62 if (gpuDynInst->exec_mask.none()) {
68 gpuDynInst->latency.init(gpuDynInst->computeUnit());
69 gpuDynInst->latency.set(
70 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
80 if (gpuDynInst->exec_mask[lane]) {
81 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
86 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
316 if (gpuDynInst->exec_mask.none()) {
322 gpuDynInst->latency.init(gpuDynInst->computeUnit());
323 gpuDynInst->latency.set(
324 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
334 if (gpuDynInst->exec_mask[lane]) {
335 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
340 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
382 :
Inst_DS(iFmt,
"ds_mskor_b32")
404 :
Inst_DS(iFmt,
"ds_write_b32")
423 if (gpuDynInst->exec_mask.none()) {
429 gpuDynInst->latency.init(gpuDynInst->computeUnit());
430 gpuDynInst->latency.set(
431 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
441 if (gpuDynInst->exec_mask[lane]) {
442 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane]
447 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
467 :
Inst_DS(iFmt,
"ds_write2_b32")
487 if (gpuDynInst->exec_mask.none()) {
493 gpuDynInst->latency.init(gpuDynInst->computeUnit());
494 gpuDynInst->latency.set(
495 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
507 if (gpuDynInst->exec_mask[lane]) {
508 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 2]
511 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
515 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
534 :
Inst_DS(iFmt,
"ds_write2st64_b32")
554 if (gpuDynInst->exec_mask.none()) {
560 gpuDynInst->latency.init(gpuDynInst->computeUnit());
561 gpuDynInst->latency.set(
562 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
574 if (gpuDynInst->exec_mask[lane]) {
575 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 2]
578 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
582 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
601 :
Inst_DS(iFmt,
"ds_cmpst_b32")
627 :
Inst_DS(iFmt,
"ds_cmpst_f32")
720 gpuDynInst->wavefront()->decLGKMInstsIssued();
747 if (gpuDynInst->exec_mask.none()) {
753 gpuDynInst->latency.init(gpuDynInst->computeUnit());
754 gpuDynInst->latency.set(
755 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
765 if (gpuDynInst->exec_mask[lane]) {
766 (
reinterpret_cast<VecElemF32*
>(gpuDynInst->a_data))[lane]
771 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
809 if (gpuDynInst->exec_mask.none()) {
815 gpuDynInst->latency.init(gpuDynInst->computeUnit());
816 gpuDynInst->latency.set(
817 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
827 if (gpuDynInst->exec_mask[lane]) {
828 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
833 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
853 :
Inst_DS(iFmt,
"ds_write_b8_d16_hi")
871 if (gpuDynInst->exec_mask.none()) {
877 gpuDynInst->latency.init(gpuDynInst->computeUnit());
878 gpuDynInst->latency.set(
879 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
889 if (gpuDynInst->exec_mask[lane]) {
890 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
895 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
915 :
Inst_DS(iFmt,
"ds_write_b16")
933 if (gpuDynInst->exec_mask.none()) {
939 gpuDynInst->latency.init(gpuDynInst->computeUnit());
940 gpuDynInst->latency.set(
941 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
951 if (gpuDynInst->exec_mask[lane]) {
952 (
reinterpret_cast<VecElemU16*
>(gpuDynInst->d_data))[lane]
957 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
977 :
Inst_DS(iFmt,
"ds_add_rtn_u32")
998 :
Inst_DS(iFmt,
"ds_sub_rtn_u32")
1019 :
Inst_DS(iFmt,
"ds_rsub_rtn_u32")
1041 :
Inst_DS(iFmt,
"ds_inc_rtn_u32")
1062 :
Inst_DS(iFmt,
"ds_dec_rtn_u32")
1083 :
Inst_DS(iFmt,
"ds_min_rtn_i32")
1104 :
Inst_DS(iFmt,
"ds_max_rtn_i32")
1125 :
Inst_DS(iFmt,
"ds_min_rtn_u32")
1146 :
Inst_DS(iFmt,
"ds_max_rtn_u32")
1167 :
Inst_DS(iFmt,
"ds_and_rtn_b32")
1188 :
Inst_DS(iFmt,
"ds_or_rtn_b32")
1209 :
Inst_DS(iFmt,
"ds_xor_rtn_b32")
1230 :
Inst_DS(iFmt,
"ds_mskor_rtn_b32")
1252 :
Inst_DS(iFmt,
"ds_wrxchg_rtn_b32")
1273 :
Inst_DS(iFmt,
"ds_wrxchg2_rtn_b32")
1292 :
Inst_DS(iFmt,
"ds_wrxchg2st64_rtn_b32")
1310 :
Inst_DS(iFmt,
"ds_cmpst_rtn_b32")
1336 :
Inst_DS(iFmt,
"ds_cmpst_rtn_f32")
1363 :
Inst_DS(iFmt,
"ds_min_rtn_f32")
1389 :
Inst_DS(iFmt,
"ds_max_rtn_f32")
1415 :
Inst_DS(iFmt,
"ds_wrap_rtn_b32")
1435 :
Inst_DS(iFmt,
"ds_add_rtn_f32")
1458 :
Inst_DS(iFmt,
"ds_read_b32")
1474 Wavefront *wf = gpuDynInst->wavefront();
1476 if (gpuDynInst->exec_mask.none()) {
1482 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1483 gpuDynInst->latency.set(
1484 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1491 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1510 if (gpuDynInst->exec_mask[lane]) {
1512 gpuDynInst->d_data))[lane];
1521 :
Inst_DS(iFmt,
"ds_read2_b32")
1538 Wavefront *wf = gpuDynInst->wavefront();
1540 if (gpuDynInst->exec_mask.none()) {
1546 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1547 gpuDynInst->latency.set(
1548 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1555 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1574 if (gpuDynInst->exec_mask[lane]) {
1575 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
1576 gpuDynInst->d_data))[lane * 2];
1577 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
1578 gpuDynInst->d_data))[lane * 2 + 1];
1588 :
Inst_DS(iFmt,
"ds_read2st64_b32")
1605 Wavefront *wf = gpuDynInst->wavefront();
1607 if (gpuDynInst->exec_mask.none()) {
1613 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1614 gpuDynInst->latency.set(
1615 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1622 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1641 if (gpuDynInst->exec_mask[lane]) {
1642 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
1643 gpuDynInst->d_data))[lane * 2];
1644 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
1645 gpuDynInst->d_data))[lane * 2 + 1];
1671 Wavefront *wf = gpuDynInst->wavefront();
1673 if (gpuDynInst->exec_mask.none()) {
1679 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1680 gpuDynInst->latency.set(
1681 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1688 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1707 if (gpuDynInst->exec_mask[lane]) {
1709 gpuDynInst->d_data))[lane]);
1734 Wavefront *wf = gpuDynInst->wavefront();
1736 if (gpuDynInst->exec_mask.none()) {
1742 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1743 gpuDynInst->latency.set(
1744 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1751 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1770 if (gpuDynInst->exec_mask[lane]) {
1772 gpuDynInst->d_data))[lane];
1781 :
Inst_DS(iFmt,
"ds_read_i16")
1802 :
Inst_DS(iFmt,
"ds_read_u16")
1818 Wavefront *wf = gpuDynInst->wavefront();
1820 if (gpuDynInst->exec_mask.none()) {
1826 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1827 gpuDynInst->latency.set(
1828 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1835 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1853 if (gpuDynInst->exec_mask[lane]) {
1855 gpuDynInst->d_data))[lane];
1865 :
Inst_DS(iFmt,
"ds_read_u16_d16_hi")
1881 Wavefront *wf = gpuDynInst->wavefront();
1883 if (gpuDynInst->exec_mask.none()) {
1889 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1890 gpuDynInst->latency.set(
1891 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1898 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1916 if (gpuDynInst->exec_mask[lane]) {
1918 gpuDynInst->d_data)[lane];
1929 :
Inst_DS(iFmt,
"ds_read_u16_d16_hi")
1945 Wavefront *wf = gpuDynInst->wavefront();
1947 if (gpuDynInst->exec_mask.none()) {
1953 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1954 gpuDynInst->latency.set(
1955 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1962 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1980 if (gpuDynInst->exec_mask[lane]) {
1982 gpuDynInst->d_data)[lane];
1992 :
Inst_DS(iFmt,
"ds_swizzle_b32")
2014 Wavefront *wf = gpuDynInst->wavefront();
2017 if (gpuDynInst->exec_mask.none()) {
2022 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2023 gpuDynInst->latency.set(gpuDynInst->computeUnit()
2024 ->cyclesToTicks(
Cycles(24)));
2049 if (
bits(ds_pattern, 15)) {
2057 if (gpuDynInst->exec_mask[lane]) {
2058 int index0 = lane +
bits(ds_pattern, 1, 0);
2060 "is out of bounds.\n", gpuDynInst->disassemble(),
2063 = gpuDynInst->exec_mask[index0] ?
data[index0]: 0;
2065 if (gpuDynInst->exec_mask[lane + 1]) {
2066 int index1 = lane +
bits(ds_pattern, 3, 2);
2068 "is out of bounds.\n", gpuDynInst->disassemble(),
2071 = gpuDynInst->exec_mask[index1] ?
data[index1]: 0;
2073 if (gpuDynInst->exec_mask[lane + 2]) {
2074 int index2 = lane +
bits(ds_pattern, 5, 4);
2076 "is out of bounds.\n", gpuDynInst->disassemble(),
2079 = gpuDynInst->exec_mask[index2] ?
data[index2]: 0;
2081 if (gpuDynInst->exec_mask[lane + 3]) {
2082 int index3 = lane +
bits(ds_pattern, 7, 6);
2084 "is out of bounds.\n", gpuDynInst->disassemble(),
2087 = gpuDynInst->exec_mask[index3] ?
data[index3]: 0;
2092 int and_mask =
bits(ds_pattern, 4, 0);
2093 int or_mask =
bits(ds_pattern, 9, 5);
2094 int xor_mask =
bits(ds_pattern, 14, 10);
2096 if (gpuDynInst->exec_mask[lane]) {
2097 int index = (((lane & and_mask) | or_mask) ^ xor_mask);
2103 "out of bounds.\n", gpuDynInst->disassemble(),
2120 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
2130 :
Inst_DS(iFmt,
"ds_permute_b32")
2150 Wavefront *wf = gpuDynInst->wavefront();
2153 if (gpuDynInst->exec_mask.none()) {
2158 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2159 gpuDynInst->latency.set(gpuDynInst->computeUnit()
2160 ->cyclesToTicks(
Cycles(24)));
2169 if (gpuDynInst->exec_mask[lane]) {
2185 "of bounds.\n", gpuDynInst->disassemble(),
index);
2208 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
2218 :
Inst_DS(iFmt,
"ds_bpermute_b32")
2238 Wavefront *wf = gpuDynInst->wavefront();
2241 if (gpuDynInst->exec_mask.none()) {
2246 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2247 gpuDynInst->latency.set(gpuDynInst->computeUnit()
2248 ->cyclesToTicks(
Cycles(24)));
2257 if (gpuDynInst->exec_mask[lane]) {
2273 "of bounds.\n", gpuDynInst->disassemble(),
index);
2296 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
2325 Wavefront *wf = gpuDynInst->wavefront();
2327 if (gpuDynInst->exec_mask.none()) {
2333 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2334 gpuDynInst->latency.set(
2335 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2345 if (gpuDynInst->exec_mask[lane]) {
2346 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
2351 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2392 :
Inst_DS(iFmt,
"ds_rsub_u64")
2604 :
Inst_DS(iFmt,
"ds_mskor_b64")
2626 :
Inst_DS(iFmt,
"ds_write_b64")
2643 Wavefront *wf = gpuDynInst->wavefront();
2645 if (gpuDynInst->exec_mask.none()) {
2651 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2652 gpuDynInst->latency.set(
2653 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2663 if (gpuDynInst->exec_mask[lane]) {
2664 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->d_data))[lane]
2669 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2689 :
Inst_DS(iFmt,
"ds_write2_b64")
2707 Wavefront *wf = gpuDynInst->wavefront();
2709 if (gpuDynInst->exec_mask.none()) {
2715 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2716 gpuDynInst->latency.set(
2717 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2729 if (gpuDynInst->exec_mask[lane]) {
2731 gpuDynInst->d_data))[lane * 2] = data0[lane];
2733 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
2737 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2756 :
Inst_DS(iFmt,
"ds_write2st64_b64")
2774 Wavefront *wf = gpuDynInst->wavefront();
2776 if (gpuDynInst->exec_mask.none()) {
2782 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2783 gpuDynInst->latency.set(
2784 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2796 if (gpuDynInst->exec_mask[lane]) {
2798 gpuDynInst->d_data))[lane * 2] = data0[lane];
2800 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
2804 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2823 :
Inst_DS(iFmt,
"ds_cmpst_b64")
2849 :
Inst_DS(iFmt,
"ds_cmpst_f64")
2928 :
Inst_DS(iFmt,
"ds_add_rtn_u64")
2949 :
Inst_DS(iFmt,
"ds_sub_rtn_u64")
2970 :
Inst_DS(iFmt,
"ds_rsub_rtn_u64")
2992 :
Inst_DS(iFmt,
"ds_inc_rtn_u64")
3013 :
Inst_DS(iFmt,
"ds_dec_rtn_u64")
3035 :
Inst_DS(iFmt,
"ds_min_rtn_i64")
3056 :
Inst_DS(iFmt,
"ds_max_rtn_i64")
3077 :
Inst_DS(iFmt,
"ds_min_rtn_u64")
3098 :
Inst_DS(iFmt,
"ds_max_rtn_u64")
3119 :
Inst_DS(iFmt,
"ds_and_rtn_b64")
3140 :
Inst_DS(iFmt,
"ds_or_rtn_b64")
3161 :
Inst_DS(iFmt,
"ds_xor_rtn_b64")
3182 :
Inst_DS(iFmt,
"ds_mskor_rtn_b64")
3204 :
Inst_DS(iFmt,
"ds_wrxchg_rtn_b64")
3225 :
Inst_DS(iFmt,
"ds_wrxchg2_rtn_b64")
3244 :
Inst_DS(iFmt,
"ds_wrxchg2st64_rtn_b64")
3262 :
Inst_DS(iFmt,
"ds_cmpst_rtn_b64")
3288 :
Inst_DS(iFmt,
"ds_cmpst_rtn_f64")
3315 :
Inst_DS(iFmt,
"ds_min_rtn_f64")
3341 :
Inst_DS(iFmt,
"ds_max_rtn_f64")
3367 :
Inst_DS(iFmt,
"ds_read_b64")
3383 Wavefront *wf = gpuDynInst->wavefront();
3385 if (gpuDynInst->exec_mask.none()) {
3391 gpuDynInst->latency.init(gpuDynInst->computeUnit());
3392 gpuDynInst->latency.set(
3393 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
3400 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
3419 if (gpuDynInst->exec_mask[lane]) {
3421 gpuDynInst->d_data))[lane];
3430 :
Inst_DS(iFmt,
"ds_read2_b64")
3447 Wavefront *wf = gpuDynInst->wavefront();
3449 if (gpuDynInst->exec_mask.none()) {
3455 gpuDynInst->latency.init(gpuDynInst->computeUnit());
3456 gpuDynInst->latency.set(
3457 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
3464 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
3483 if (gpuDynInst->exec_mask[lane]) {
3484 vdst0[lane] = (
reinterpret_cast<VecElemU64*
>(
3485 gpuDynInst->d_data))[lane * 2];
3486 vdst1[lane] = (
reinterpret_cast<VecElemU64*
>(
3487 gpuDynInst->d_data))[lane * 2 + 1];
3497 :
Inst_DS(iFmt,
"ds_read2st64_b64")
3514 Wavefront *wf = gpuDynInst->wavefront();
3516 if (gpuDynInst->exec_mask.none()) {
3522 gpuDynInst->latency.init(gpuDynInst->computeUnit());
3523 gpuDynInst->latency.set(
3524 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
3531 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
3550 if (gpuDynInst->exec_mask[lane]) {
3551 vdst0[lane] = (
reinterpret_cast<VecElemU64*
>(
3552 gpuDynInst->d_data))[lane * 2];
3553 vdst1[lane] = (
reinterpret_cast<VecElemU64*
>(
3554 gpuDynInst->d_data))[lane * 2 + 1];
3565 :
Inst_DS(iFmt,
"ds_condxchg32_rtn_b64")
3583 :
Inst_DS(iFmt,
"ds_add_src2_u32")
3605 :
Inst_DS(iFmt,
"ds_sub_src2_u32")
3627 :
Inst_DS(iFmt,
"ds_rsub_src2_u32")
3649 :
Inst_DS(iFmt,
"ds_inc_src2_u32")
3671 :
Inst_DS(iFmt,
"ds_dec_src2_u32")
3694 :
Inst_DS(iFmt,
"ds_min_src2_i32")
3716 :
Inst_DS(iFmt,
"ds_max_src2_i32")
3738 :
Inst_DS(iFmt,
"ds_min_src2_u32")
3760 :
Inst_DS(iFmt,
"ds_max_src2_u32")
3782 :
Inst_DS(iFmt,
"ds_and_src2_b32")
3804 :
Inst_DS(iFmt,
"ds_or_src2_b32")
3826 :
Inst_DS(iFmt,
"ds_xor_src2_b32")
3848 :
Inst_DS(iFmt,
"ds_write_src2_b32")
3873 :
Inst_DS(iFmt,
"ds_min_src2_f32")
3897 :
Inst_DS(iFmt,
"ds_max_src2_f32")
3921 :
Inst_DS(iFmt,
"ds_add_src2_f32")
3946 :
Inst_DS(iFmt,
"ds_gws_sema_release_all")
3973 :
Inst_DS(iFmt,
"ds_gws_init")
4000 :
Inst_DS(iFmt,
"ds_gws_sema_v")
4026 :
Inst_DS(iFmt,
"ds_gws_sema_br")
4056 :
Inst_DS(iFmt,
"ds_gws_sema_p")
4082 :
Inst_DS(iFmt,
"ds_gws_barrier")
4166 :
Inst_DS(iFmt,
"ds_ordered_count")
4186 :
Inst_DS(iFmt,
"ds_add_src2_u64")
4208 :
Inst_DS(iFmt,
"ds_sub_src2_u64")
4230 :
Inst_DS(iFmt,
"ds_rsub_src2_u64")
4252 :
Inst_DS(iFmt,
"ds_inc_src2_u64")
4274 :
Inst_DS(iFmt,
"ds_dec_src2_u64")
4297 :
Inst_DS(iFmt,
"ds_min_src2_i64")
4319 :
Inst_DS(iFmt,
"ds_max_src2_i64")
4341 :
Inst_DS(iFmt,
"ds_min_src2_u64")
4363 :
Inst_DS(iFmt,
"ds_max_src2_u64")
4385 :
Inst_DS(iFmt,
"ds_and_src2_b64")
4407 :
Inst_DS(iFmt,
"ds_or_src2_b64")
4429 :
Inst_DS(iFmt,
"ds_xor_src2_b64")
4451 :
Inst_DS(iFmt,
"ds_write_src2_b64")
4476 :
Inst_DS(iFmt,
"ds_min_src2_f64")
4500 :
Inst_DS(iFmt,
"ds_max_src2_f64")
4524 :
Inst_DS(iFmt,
"ds_write_b96")
4540 Wavefront *wf = gpuDynInst->wavefront();
4542 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4543 gpuDynInst->latency.set(
4544 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
4558 if (gpuDynInst->exec_mask[lane]) {
4560 gpuDynInst->d_data))[lane * 4] = data0[lane];
4562 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
4564 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
4568 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
4588 :
Inst_DS(iFmt,
"ds_write_b128")
4604 Wavefront *wf = gpuDynInst->wavefront();
4606 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4607 gpuDynInst->latency.set(
4608 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
4624 if (gpuDynInst->exec_mask[lane]) {
4626 gpuDynInst->d_data))[lane * 4] = data0[lane];
4628 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
4630 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
4632 gpuDynInst->d_data))[lane * 4 + 3] = data3[lane];
4636 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
4656 :
Inst_DS(iFmt,
"ds_read_b96")
4671 Wavefront *wf = gpuDynInst->wavefront();
4673 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4674 gpuDynInst->latency.set(
4675 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
4682 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
4703 if (gpuDynInst->exec_mask[lane]) {
4704 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
4705 gpuDynInst->d_data))[lane * 4];
4706 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
4707 gpuDynInst->d_data))[lane * 4 + 1];
4708 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
4709 gpuDynInst->d_data))[lane * 4 + 2];
4720 :
Inst_DS(iFmt,
"ds_read_b128")
4735 Wavefront *wf = gpuDynInst->wavefront();
4737 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4738 gpuDynInst->latency.set(
4739 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
4746 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
4768 if (gpuDynInst->exec_mask[lane]) {
4769 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
4770 gpuDynInst->d_data))[lane * 4];
4771 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
4772 gpuDynInst->d_data))[lane * 4 + 1];
4773 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
4774 gpuDynInst->d_data))[lane * 4 + 2];
4775 vdst3[lane] = (
reinterpret_cast<VecElemU32*
>(
4776 gpuDynInst->d_data))[lane * 4 + 3];
std::vector< VectorRegisterFile * > vrf
Cycles is a wrapper class for representing cycle counts, i.e.
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr gpuDynInst) override
Inst_DS__DS_ADD_F32(InFmt_DS *)
void completeAcc(GPUDynInstPtr gpuDynInst) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_ADD_RTN_F32()
Inst_DS__DS_ADD_RTN_F32(InFmt_DS *)
~Inst_DS__DS_ADD_RTN_U32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_RTN_U32(InFmt_DS *)
~Inst_DS__DS_ADD_RTN_U64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_RTN_U64(InFmt_DS *)
~Inst_DS__DS_ADD_SRC2_F32()
Inst_DS__DS_ADD_SRC2_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_ADD_SRC2_U32()
Inst_DS__DS_ADD_SRC2_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_ADD_SRC2_U64(InFmt_DS *)
~Inst_DS__DS_ADD_SRC2_U64()
Inst_DS__DS_ADD_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr gpuDynInst) override
void initiateAcc(GPUDynInstPtr gpuDynInst) override
void completeAcc(GPUDynInstPtr gpuDynInst) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr gpuDynInst) override
Inst_DS__DS_ADD_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_AND_B32(InFmt_DS *)
Inst_DS__DS_AND_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_AND_RTN_B32()
Inst_DS__DS_AND_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_AND_RTN_B64()
Inst_DS__DS_AND_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_AND_SRC2_B32()
Inst_DS__DS_AND_SRC2_B32(InFmt_DS *)
~Inst_DS__DS_AND_SRC2_B64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_AND_SRC2_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_APPEND(InFmt_DS *)
~Inst_DS__DS_BPERMUTE_B32()
Inst_DS__DS_BPERMUTE_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_CMPST_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_CMPST_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_CMPST_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_CMPST_F64(InFmt_DS *)
Inst_DS__DS_CMPST_RTN_B32(InFmt_DS *)
~Inst_DS__DS_CMPST_RTN_B32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_CMPST_RTN_B64()
Inst_DS__DS_CMPST_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_CMPST_RTN_F32()
Inst_DS__DS_CMPST_RTN_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_CMPST_RTN_F64()
Inst_DS__DS_CMPST_RTN_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_CONDXCHG32_RTN_B64()
Inst_DS__DS_CONDXCHG32_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_CONSUME(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_RTN_U32(InFmt_DS *)
~Inst_DS__DS_DEC_RTN_U32()
~Inst_DS__DS_DEC_RTN_U64()
Inst_DS__DS_DEC_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_SRC2_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_DEC_SRC2_U32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_SRC2_U64(InFmt_DS *)
~Inst_DS__DS_DEC_SRC2_U64()
Inst_DS__DS_DEC_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_DEC_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_GWS_BARRIER(InFmt_DS *)
~Inst_DS__DS_GWS_BARRIER()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_GWS_INIT(InFmt_DS *)
Inst_DS__DS_GWS_SEMA_BR(InFmt_DS *)
~Inst_DS__DS_GWS_SEMA_BR()
void execute(GPUDynInstPtr) override
Inst_DS__DS_GWS_SEMA_P(InFmt_DS *)
~Inst_DS__DS_GWS_SEMA_P()
void execute(GPUDynInstPtr) override
Inst_DS__DS_GWS_SEMA_RELEASE_ALL(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_GWS_SEMA_RELEASE_ALL()
Inst_DS__DS_GWS_SEMA_V(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_GWS_SEMA_V()
Inst_DS__DS_INC_RTN_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_INC_RTN_U32()
~Inst_DS__DS_INC_RTN_U64()
Inst_DS__DS_INC_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_INC_SRC2_U32()
Inst_DS__DS_INC_SRC2_U32(InFmt_DS *)
Inst_DS__DS_INC_SRC2_U64(InFmt_DS *)
~Inst_DS__DS_INC_SRC2_U64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_INC_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_INC_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_I32(InFmt_DS *)
Inst_DS__DS_MAX_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_RTN_F32()
Inst_DS__DS_MAX_RTN_F32(InFmt_DS *)
Inst_DS__DS_MAX_RTN_F64(InFmt_DS *)
~Inst_DS__DS_MAX_RTN_F64()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_RTN_I32()
Inst_DS__DS_MAX_RTN_I32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_RTN_I64()
~Inst_DS__DS_MAX_RTN_U32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_RTN_U32(InFmt_DS *)
~Inst_DS__DS_MAX_RTN_U64()
Inst_DS__DS_MAX_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_SRC2_F32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_SRC2_F32(InFmt_DS *)
Inst_DS__DS_MAX_SRC2_F64(InFmt_DS *)
~Inst_DS__DS_MAX_SRC2_F64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_SRC2_I32(InFmt_DS *)
~Inst_DS__DS_MAX_SRC2_I32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_SRC2_I64()
Inst_DS__DS_MAX_SRC2_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MAX_SRC2_U32()
Inst_DS__DS_MAX_SRC2_U32(InFmt_DS *)
~Inst_DS__DS_MAX_SRC2_U64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_SRC2_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MAX_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_F64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_I32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_RTN_F32()
Inst_DS__DS_MIN_RTN_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_RTN_F64(InFmt_DS *)
~Inst_DS__DS_MIN_RTN_F64()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_RTN_I32()
Inst_DS__DS_MIN_RTN_I32(InFmt_DS *)
~Inst_DS__DS_MIN_RTN_I64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_RTN_I64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_RTN_U32(InFmt_DS *)
~Inst_DS__DS_MIN_RTN_U32()
Inst_DS__DS_MIN_RTN_U64(InFmt_DS *)
~Inst_DS__DS_MIN_RTN_U64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_F32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_SRC2_F32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_SRC2_F64()
Inst_DS__DS_MIN_SRC2_F64(InFmt_DS *)
~Inst_DS__DS_MIN_SRC2_I32()
Inst_DS__DS_MIN_SRC2_I32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_SRC2_I64(InFmt_DS *)
~Inst_DS__DS_MIN_SRC2_I64()
Inst_DS__DS_MIN_SRC2_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MIN_SRC2_U32()
Inst_DS__DS_MIN_SRC2_U64(InFmt_DS *)
~Inst_DS__DS_MIN_SRC2_U64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MIN_U64(InFmt_DS *)
Inst_DS__DS_MSKOR_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_MSKOR_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_MSKOR_RTN_B32(InFmt_DS *)
~Inst_DS__DS_MSKOR_RTN_B32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_MSKOR_RTN_B64()
Inst_DS__DS_MSKOR_RTN_B64(InFmt_DS *)
Inst_DS__DS_NOP(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_ORDERED_COUNT()
Inst_DS__DS_ORDERED_COUNT(InFmt_DS *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr gpuDynInst) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr gpuDynInst) override
Inst_DS__DS_OR_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_OR_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_OR_RTN_B32(InFmt_DS *)
~Inst_DS__DS_OR_RTN_B32()
Inst_DS__DS_OR_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_OR_RTN_B64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_OR_SRC2_B32(InFmt_DS *)
~Inst_DS__DS_OR_SRC2_B32()
Inst_DS__DS_OR_SRC2_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_OR_SRC2_B64()
Inst_DS__DS_PERMUTE_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_PERMUTE_B32()
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_READ2ST64_B32(InFmt_DS *)
~Inst_DS__DS_READ2ST64_B32()
~Inst_DS__DS_READ2ST64_B64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ2ST64_B64(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_READ2_B32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_READ2_B64(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_B128(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_B32(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_READ_B64(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_B96(InFmt_DS *)
Inst_DS__DS_READ_I16(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_READ_I8(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_READ_U16_D16_HI()
Inst_DS__DS_READ_U16_D16_HI(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_READ_U16_D16(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_READ_U16_D16()
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_U16(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_READ_U8(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_RSUB_RTN_U32(InFmt_DS *)
~Inst_DS__DS_RSUB_RTN_U32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_RSUB_RTN_U64()
Inst_DS__DS_RSUB_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_RSUB_SRC2_U32(InFmt_DS *)
~Inst_DS__DS_RSUB_SRC2_U32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_RSUB_SRC2_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_RSUB_SRC2_U64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_RSUB_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_RSUB_U64(InFmt_DS *)
Inst_DS__DS_SUB_RTN_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_SUB_RTN_U32()
Inst_DS__DS_SUB_RTN_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_SUB_RTN_U64()
~Inst_DS__DS_SUB_SRC2_U32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_SUB_SRC2_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_SUB_SRC2_U64()
Inst_DS__DS_SUB_SRC2_U64(InFmt_DS *)
Inst_DS__DS_SUB_U32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_SUB_U64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_SWIZZLE_B32()
Inst_DS__DS_SWIZZLE_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRAP_RTN_B32()
Inst_DS__DS_WRAP_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE2ST64_B32()
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE2ST64_B32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_WRITE2ST64_B64(InFmt_DS *)
~Inst_DS__DS_WRITE2ST64_B64()
Inst_DS__DS_WRITE2_B32(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE2_B32()
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE2_B64()
Inst_DS__DS_WRITE2_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_WRITE_B128(InFmt_DS *)
~Inst_DS__DS_WRITE_B128()
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_WRITE_B16(InFmt_DS *)
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_WRITE_B32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE_B64(InFmt_DS *)
~Inst_DS__DS_WRITE_B8_D16_HI()
Inst_DS__DS_WRITE_B8_D16_HI(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void initiateAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_WRITE_B8(InFmt_DS *)
Inst_DS__DS_WRITE_B96(InFmt_DS *)
void initiateAcc(GPUDynInstPtr) override
void completeAcc(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRITE_SRC2_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE_SRC2_B32()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRITE_SRC2_B64()
Inst_DS__DS_WRITE_SRC2_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG2ST64_RTN_B32(InFmt_DS *)
~Inst_DS__DS_WRXCHG2ST64_RTN_B32()
Inst_DS__DS_WRXCHG2ST64_RTN_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRXCHG2ST64_RTN_B64()
void execute(GPUDynInstPtr) override
~Inst_DS__DS_WRXCHG2_RTN_B32()
Inst_DS__DS_WRXCHG2_RTN_B32(InFmt_DS *)
~Inst_DS__DS_WRXCHG2_RTN_B64()
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG2_RTN_B64(InFmt_DS *)
~Inst_DS__DS_WRXCHG_RTN_B32()
void execute(GPUDynInstPtr) override
Inst_DS__DS_WRXCHG_RTN_B32(InFmt_DS *)
Inst_DS__DS_WRXCHG_RTN_B64(InFmt_DS *)
~Inst_DS__DS_WRXCHG_RTN_B64()
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_XOR_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_XOR_B64(InFmt_DS *)
~Inst_DS__DS_XOR_RTN_B32()
Inst_DS__DS_XOR_RTN_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
void execute(GPUDynInstPtr) override
Inst_DS__DS_XOR_RTN_B64(InFmt_DS *)
~Inst_DS__DS_XOR_RTN_B64()
~Inst_DS__DS_XOR_SRC2_B32()
Inst_DS__DS_XOR_SRC2_B32(InFmt_DS *)
void execute(GPUDynInstPtr) override
Inst_DS__DS_XOR_SRC2_B64(InFmt_DS *)
void execute(GPUDynInstPtr) override
~Inst_DS__DS_XOR_SRC2_B64()
void initMemRead(GPUDynInstPtr gpuDynInst, Addr offset)
void initDualMemRead(GPUDynInstPtr gpuDynInst, Addr offset0, Addr offset1)
void initMemWrite(GPUDynInstPtr gpuDynInst, Addr offset)
void calcAddr(GPUDynInstPtr gpuDynInst, ConstVecOperandU32 &addr)
void initAtomicAccess(GPUDynInstPtr gpuDynInst, Addr offset)
void initDualMemWrite(GPUDynInstPtr gpuDynInst, Addr offset0, Addr offset1)
void panicUnimplemented() const
void read() override
read from the vrf.
void write() override
write to the vrf.
ComputeUnit * computeUnit
void decLGKMInstsIssued()
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
constexpr uint64_t sext(uint64_t val)
Sign-extend an N-bit value to 64 bits.
constexpr void replaceBits(T &val, unsigned first, unsigned last, B bit_val)
A convenience function to replace bits first to last of val with bit_val in place.
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
constexpr unsigned NumVecElemPerVecReg
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
std::shared_ptr< GPUDynInst > GPUDynInstPtr
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.