62 if (gpuDynInst->exec_mask.none()) {
69 gpuDynInst->latency.init(gpuDynInst->computeUnit());
70 gpuDynInst->latency.set(
71 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
81 if (gpuDynInst->exec_mask[lane]) {
82 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
87 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
317 if (gpuDynInst->exec_mask.none()) {
324 gpuDynInst->latency.init(gpuDynInst->computeUnit());
325 gpuDynInst->latency.set(
326 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
336 if (gpuDynInst->exec_mask[lane]) {
337 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
342 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
384 :
Inst_DS(iFmt,
"ds_mskor_b32")
406 :
Inst_DS(iFmt,
"ds_write_b32")
425 if (gpuDynInst->exec_mask.none()) {
432 gpuDynInst->latency.init(gpuDynInst->computeUnit());
433 gpuDynInst->latency.set(
434 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
444 if (gpuDynInst->exec_mask[lane]) {
445 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane]
450 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
470 :
Inst_DS(iFmt,
"ds_write2_b32")
490 if (gpuDynInst->exec_mask.none()) {
497 gpuDynInst->latency.init(gpuDynInst->computeUnit());
498 gpuDynInst->latency.set(
499 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
511 if (gpuDynInst->exec_mask[lane]) {
512 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 2]
515 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
519 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
538 :
Inst_DS(iFmt,
"ds_write2st64_b32")
558 if (gpuDynInst->exec_mask.none()) {
565 gpuDynInst->latency.init(gpuDynInst->computeUnit());
566 gpuDynInst->latency.set(
567 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
579 if (gpuDynInst->exec_mask[lane]) {
580 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->d_data))[lane * 2]
583 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
587 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
606 :
Inst_DS(iFmt,
"ds_cmpst_b32")
632 :
Inst_DS(iFmt,
"ds_cmpst_f32")
725 gpuDynInst->wavefront()->decLGKMInstsIssued();
726 gpuDynInst->wavefront()->untrackLGKMInst(gpuDynInst);
753 if (gpuDynInst->exec_mask.none()) {
760 gpuDynInst->latency.init(gpuDynInst->computeUnit());
761 gpuDynInst->latency.set(
762 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
772 if (gpuDynInst->exec_mask[lane]) {
773 (
reinterpret_cast<VecElemF32*
>(gpuDynInst->a_data))[lane]
778 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
816 if (gpuDynInst->exec_mask.none()) {
823 gpuDynInst->latency.init(gpuDynInst->computeUnit());
824 gpuDynInst->latency.set(
825 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
835 if (gpuDynInst->exec_mask[lane]) {
836 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
841 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
861 :
Inst_DS(iFmt,
"ds_write_b8_d16_hi")
879 if (gpuDynInst->exec_mask.none()) {
886 gpuDynInst->latency.init(gpuDynInst->computeUnit());
887 gpuDynInst->latency.set(
888 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
898 if (gpuDynInst->exec_mask[lane]) {
899 (
reinterpret_cast<VecElemU8*
>(gpuDynInst->d_data))[lane]
904 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
924 :
Inst_DS(iFmt,
"ds_write_b16")
942 if (gpuDynInst->exec_mask.none()) {
949 gpuDynInst->latency.init(gpuDynInst->computeUnit());
950 gpuDynInst->latency.set(
951 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
961 if (gpuDynInst->exec_mask[lane]) {
962 (
reinterpret_cast<VecElemU16*
>(gpuDynInst->d_data))[lane]
967 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
987 :
Inst_DS(iFmt,
"ds_add_rtn_u32")
1006 Wavefront *wf = gpuDynInst->wavefront();
1008 if (gpuDynInst->exec_mask.none()) {
1014 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1015 gpuDynInst->latency.set(
1016 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1026 if (gpuDynInst->exec_mask[lane]) {
1027 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
1032 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1051 if (gpuDynInst->exec_mask[lane]) {
1053 gpuDynInst->d_data))[lane];
1062 :
Inst_DS(iFmt,
"ds_sub_rtn_u32")
1083 :
Inst_DS(iFmt,
"ds_rsub_rtn_u32")
1105 :
Inst_DS(iFmt,
"ds_inc_rtn_u32")
1126 :
Inst_DS(iFmt,
"ds_dec_rtn_u32")
1147 :
Inst_DS(iFmt,
"ds_min_rtn_i32")
1168 :
Inst_DS(iFmt,
"ds_max_rtn_i32")
1189 :
Inst_DS(iFmt,
"ds_min_rtn_u32")
1210 :
Inst_DS(iFmt,
"ds_max_rtn_u32")
1231 :
Inst_DS(iFmt,
"ds_and_rtn_b32")
1252 :
Inst_DS(iFmt,
"ds_or_rtn_b32")
1273 :
Inst_DS(iFmt,
"ds_xor_rtn_b32")
1294 :
Inst_DS(iFmt,
"ds_mskor_rtn_b32")
1316 :
Inst_DS(iFmt,
"ds_wrxchg_rtn_b32")
1337 :
Inst_DS(iFmt,
"ds_wrxchg2_rtn_b32")
1356 :
Inst_DS(iFmt,
"ds_wrxchg2st64_rtn_b32")
1374 :
Inst_DS(iFmt,
"ds_cmpst_rtn_b32")
1399 Wavefront *wf = gpuDynInst->wavefront();
1401 if (gpuDynInst->exec_mask.none()) {
1407 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1408 gpuDynInst->latency.set(
1409 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1421 if (gpuDynInst->exec_mask[lane]) {
1422 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->x_data))[lane]
1424 (
reinterpret_cast<VecElemU32*
>(gpuDynInst->a_data))[lane]
1429 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1450 if (gpuDynInst->exec_mask[lane]) {
1452 gpuDynInst->d_data))[lane];
1461 :
Inst_DS(iFmt,
"ds_cmpst_rtn_f32")
1488 :
Inst_DS(iFmt,
"ds_min_rtn_f32")
1514 :
Inst_DS(iFmt,
"ds_max_rtn_f32")
1540 :
Inst_DS(iFmt,
"ds_wrap_rtn_b32")
1560 :
Inst_DS(iFmt,
"ds_add_rtn_f32")
1583 :
Inst_DS(iFmt,
"ds_read_b32")
1599 Wavefront *wf = gpuDynInst->wavefront();
1601 if (gpuDynInst->exec_mask.none()) {
1608 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1609 gpuDynInst->latency.set(
1610 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1617 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1636 if (gpuDynInst->exec_mask[lane]) {
1638 gpuDynInst->d_data))[lane];
1647 :
Inst_DS(iFmt,
"ds_read2_b32")
1664 Wavefront *wf = gpuDynInst->wavefront();
1666 if (gpuDynInst->exec_mask.none()) {
1673 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1674 gpuDynInst->latency.set(
1675 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1682 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1701 if (gpuDynInst->exec_mask[lane]) {
1702 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
1703 gpuDynInst->d_data))[lane * 2];
1704 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
1705 gpuDynInst->d_data))[lane * 2 + 1];
1715 :
Inst_DS(iFmt,
"ds_read2st64_b32")
1732 Wavefront *wf = gpuDynInst->wavefront();
1734 if (gpuDynInst->exec_mask.none()) {
1741 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1742 gpuDynInst->latency.set(
1743 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1750 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1769 if (gpuDynInst->exec_mask[lane]) {
1770 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
1771 gpuDynInst->d_data))[lane * 2];
1772 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
1773 gpuDynInst->d_data))[lane * 2 + 1];
1799 Wavefront *wf = gpuDynInst->wavefront();
1801 if (gpuDynInst->exec_mask.none()) {
1808 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1809 gpuDynInst->latency.set(
1810 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1817 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1836 if (gpuDynInst->exec_mask[lane]) {
1838 gpuDynInst->d_data))[lane]);
1863 Wavefront *wf = gpuDynInst->wavefront();
1865 if (gpuDynInst->exec_mask.none()) {
1872 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1873 gpuDynInst->latency.set(
1874 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1881 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1900 if (gpuDynInst->exec_mask[lane]) {
1902 gpuDynInst->d_data))[lane];
1911 :
Inst_DS(iFmt,
"ds_read_i16")
1932 :
Inst_DS(iFmt,
"ds_read_u16")
1948 Wavefront *wf = gpuDynInst->wavefront();
1950 if (gpuDynInst->exec_mask.none()) {
1957 gpuDynInst->latency.init(gpuDynInst->computeUnit());
1958 gpuDynInst->latency.set(
1959 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
1966 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
1984 if (gpuDynInst->exec_mask[lane]) {
1986 gpuDynInst->d_data))[lane];
1996 :
Inst_DS(iFmt,
"ds_read_u16_d16_hi")
2012 Wavefront *wf = gpuDynInst->wavefront();
2014 if (gpuDynInst->exec_mask.none()) {
2021 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2022 gpuDynInst->latency.set(
2023 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2030 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2048 if (gpuDynInst->exec_mask[lane]) {
2050 gpuDynInst->d_data)[lane];
2061 :
Inst_DS(iFmt,
"ds_read_u16_d16_hi")
2077 Wavefront *wf = gpuDynInst->wavefront();
2079 if (gpuDynInst->exec_mask.none()) {
2086 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2087 gpuDynInst->latency.set(
2088 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2095 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2113 if (gpuDynInst->exec_mask[lane]) {
2115 gpuDynInst->d_data)[lane];
2125 :
Inst_DS(iFmt,
"ds_swizzle_b32")
2147 Wavefront *wf = gpuDynInst->wavefront();
2151 if (gpuDynInst->exec_mask.none()) {
2156 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2157 gpuDynInst->latency.set(gpuDynInst->computeUnit()
2158 ->cyclesToTicks(
Cycles(24)));
2183 if (
bits(ds_pattern, 15)) {
2191 if (gpuDynInst->exec_mask[lane]) {
2192 int index0 = lane +
bits(ds_pattern, 1, 0);
2194 "is out of bounds.\n", gpuDynInst->disassemble(),
2197 = gpuDynInst->exec_mask[index0] ?
data[index0]: 0;
2199 if (gpuDynInst->exec_mask[lane + 1]) {
2200 int index1 = lane +
bits(ds_pattern, 3, 2);
2202 "is out of bounds.\n", gpuDynInst->disassemble(),
2205 = gpuDynInst->exec_mask[index1] ?
data[index1]: 0;
2207 if (gpuDynInst->exec_mask[lane + 2]) {
2208 int index2 = lane +
bits(ds_pattern, 5, 4);
2210 "is out of bounds.\n", gpuDynInst->disassemble(),
2213 = gpuDynInst->exec_mask[index2] ?
data[index2]: 0;
2215 if (gpuDynInst->exec_mask[lane + 3]) {
2216 int index3 = lane +
bits(ds_pattern, 7, 6);
2218 "is out of bounds.\n", gpuDynInst->disassemble(),
2221 = gpuDynInst->exec_mask[index3] ?
data[index3]: 0;
2226 int and_mask =
bits(ds_pattern, 4, 0);
2227 int or_mask =
bits(ds_pattern, 9, 5);
2228 int xor_mask =
bits(ds_pattern, 14, 10);
2230 if (gpuDynInst->exec_mask[lane]) {
2231 int index = (((lane & and_mask) | or_mask) ^ xor_mask);
2237 "out of bounds.\n", gpuDynInst->disassemble(),
2254 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
2264 :
Inst_DS(iFmt,
"ds_permute_b32")
2284 Wavefront *wf = gpuDynInst->wavefront();
2288 if (gpuDynInst->exec_mask.none()) {
2293 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2294 gpuDynInst->latency.set(gpuDynInst->computeUnit()
2295 ->cyclesToTicks(
Cycles(24)));
2304 if (gpuDynInst->exec_mask[lane]) {
2320 "of bounds.\n", gpuDynInst->disassemble(),
index);
2343 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
2353 :
Inst_DS(iFmt,
"ds_bpermute_b32")
2373 Wavefront *wf = gpuDynInst->wavefront();
2377 if (gpuDynInst->exec_mask.none()) {
2382 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2383 gpuDynInst->latency.set(gpuDynInst->computeUnit()
2384 ->cyclesToTicks(
Cycles(24)));
2393 if (gpuDynInst->exec_mask[lane]) {
2409 "of bounds.\n", gpuDynInst->disassemble(),
index);
2432 scheduleWriteOperandsFromLoad(wf, gpuDynInst);
2461 Wavefront *wf = gpuDynInst->wavefront();
2463 if (gpuDynInst->exec_mask.none()) {
2470 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2471 gpuDynInst->latency.set(
2472 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2482 if (gpuDynInst->exec_mask[lane]) {
2483 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->a_data))[lane]
2488 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2529 :
Inst_DS(iFmt,
"ds_rsub_u64")
2741 :
Inst_DS(iFmt,
"ds_mskor_b64")
2763 :
Inst_DS(iFmt,
"ds_write_b64")
2780 Wavefront *wf = gpuDynInst->wavefront();
2782 if (gpuDynInst->exec_mask.none()) {
2789 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2790 gpuDynInst->latency.set(
2791 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2801 if (gpuDynInst->exec_mask[lane]) {
2802 (
reinterpret_cast<VecElemU64*
>(gpuDynInst->d_data))[lane]
2807 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2827 :
Inst_DS(iFmt,
"ds_write2_b64")
2845 Wavefront *wf = gpuDynInst->wavefront();
2847 if (gpuDynInst->exec_mask.none()) {
2854 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2855 gpuDynInst->latency.set(
2856 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2868 if (gpuDynInst->exec_mask[lane]) {
2870 gpuDynInst->d_data))[lane * 2] = data0[lane];
2872 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
2876 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2895 :
Inst_DS(iFmt,
"ds_write2st64_b64")
2913 Wavefront *wf = gpuDynInst->wavefront();
2915 if (gpuDynInst->exec_mask.none()) {
2922 gpuDynInst->latency.init(gpuDynInst->computeUnit());
2923 gpuDynInst->latency.set(
2924 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
2936 if (gpuDynInst->exec_mask[lane]) {
2938 gpuDynInst->d_data))[lane * 2] = data0[lane];
2940 gpuDynInst->d_data))[lane * 2 + 1] = data1[lane];
2944 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
2963 :
Inst_DS(iFmt,
"ds_cmpst_b64")
2989 :
Inst_DS(iFmt,
"ds_cmpst_f64")
3068 :
Inst_DS(iFmt,
"ds_add_rtn_u64")
3089 :
Inst_DS(iFmt,
"ds_sub_rtn_u64")
3110 :
Inst_DS(iFmt,
"ds_rsub_rtn_u64")
3132 :
Inst_DS(iFmt,
"ds_inc_rtn_u64")
3153 :
Inst_DS(iFmt,
"ds_dec_rtn_u64")
3175 :
Inst_DS(iFmt,
"ds_min_rtn_i64")
3196 :
Inst_DS(iFmt,
"ds_max_rtn_i64")
3217 :
Inst_DS(iFmt,
"ds_min_rtn_u64")
3238 :
Inst_DS(iFmt,
"ds_max_rtn_u64")
3259 :
Inst_DS(iFmt,
"ds_and_rtn_b64")
3280 :
Inst_DS(iFmt,
"ds_or_rtn_b64")
3301 :
Inst_DS(iFmt,
"ds_xor_rtn_b64")
3322 :
Inst_DS(iFmt,
"ds_mskor_rtn_b64")
3344 :
Inst_DS(iFmt,
"ds_wrxchg_rtn_b64")
3365 :
Inst_DS(iFmt,
"ds_wrxchg2_rtn_b64")
3384 :
Inst_DS(iFmt,
"ds_wrxchg2st64_rtn_b64")
3402 :
Inst_DS(iFmt,
"ds_cmpst_rtn_b64")
3428 :
Inst_DS(iFmt,
"ds_cmpst_rtn_f64")
3455 :
Inst_DS(iFmt,
"ds_min_rtn_f64")
3481 :
Inst_DS(iFmt,
"ds_max_rtn_f64")
3507 :
Inst_DS(iFmt,
"ds_read_b64")
3523 Wavefront *wf = gpuDynInst->wavefront();
3525 if (gpuDynInst->exec_mask.none()) {
3532 gpuDynInst->latency.init(gpuDynInst->computeUnit());
3533 gpuDynInst->latency.set(
3534 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
3541 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
3560 if (gpuDynInst->exec_mask[lane]) {
3562 gpuDynInst->d_data))[lane];
3571 :
Inst_DS(iFmt,
"ds_read2_b64")
3588 Wavefront *wf = gpuDynInst->wavefront();
3590 if (gpuDynInst->exec_mask.none()) {
3597 gpuDynInst->latency.init(gpuDynInst->computeUnit());
3598 gpuDynInst->latency.set(
3599 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
3606 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
3625 if (gpuDynInst->exec_mask[lane]) {
3626 vdst0[lane] = (
reinterpret_cast<VecElemU64*
>(
3627 gpuDynInst->d_data))[lane * 2];
3628 vdst1[lane] = (
reinterpret_cast<VecElemU64*
>(
3629 gpuDynInst->d_data))[lane * 2 + 1];
3639 :
Inst_DS(iFmt,
"ds_read2st64_b64")
3656 Wavefront *wf = gpuDynInst->wavefront();
3658 if (gpuDynInst->exec_mask.none()) {
3665 gpuDynInst->latency.init(gpuDynInst->computeUnit());
3666 gpuDynInst->latency.set(
3667 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
3674 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
3693 if (gpuDynInst->exec_mask[lane]) {
3694 vdst0[lane] = (
reinterpret_cast<VecElemU64*
>(
3695 gpuDynInst->d_data))[lane * 2];
3696 vdst1[lane] = (
reinterpret_cast<VecElemU64*
>(
3697 gpuDynInst->d_data))[lane * 2 + 1];
3708 :
Inst_DS(iFmt,
"ds_condxchg32_rtn_b64")
3726 :
Inst_DS(iFmt,
"ds_add_src2_u32")
3748 :
Inst_DS(iFmt,
"ds_sub_src2_u32")
3770 :
Inst_DS(iFmt,
"ds_rsub_src2_u32")
3792 :
Inst_DS(iFmt,
"ds_inc_src2_u32")
3814 :
Inst_DS(iFmt,
"ds_dec_src2_u32")
3837 :
Inst_DS(iFmt,
"ds_min_src2_i32")
3859 :
Inst_DS(iFmt,
"ds_max_src2_i32")
3881 :
Inst_DS(iFmt,
"ds_min_src2_u32")
3903 :
Inst_DS(iFmt,
"ds_max_src2_u32")
3925 :
Inst_DS(iFmt,
"ds_and_src2_b32")
3947 :
Inst_DS(iFmt,
"ds_or_src2_b32")
3969 :
Inst_DS(iFmt,
"ds_xor_src2_b32")
3991 :
Inst_DS(iFmt,
"ds_write_src2_b32")
4016 :
Inst_DS(iFmt,
"ds_min_src2_f32")
4040 :
Inst_DS(iFmt,
"ds_max_src2_f32")
4064 :
Inst_DS(iFmt,
"ds_add_src2_f32")
4089 :
Inst_DS(iFmt,
"ds_gws_sema_release_all")
4116 :
Inst_DS(iFmt,
"ds_gws_init")
4143 :
Inst_DS(iFmt,
"ds_gws_sema_v")
4169 :
Inst_DS(iFmt,
"ds_gws_sema_br")
4199 :
Inst_DS(iFmt,
"ds_gws_sema_p")
4225 :
Inst_DS(iFmt,
"ds_gws_barrier")
4309 :
Inst_DS(iFmt,
"ds_ordered_count")
4329 :
Inst_DS(iFmt,
"ds_add_src2_u64")
4351 :
Inst_DS(iFmt,
"ds_sub_src2_u64")
4373 :
Inst_DS(iFmt,
"ds_rsub_src2_u64")
4395 :
Inst_DS(iFmt,
"ds_inc_src2_u64")
4417 :
Inst_DS(iFmt,
"ds_dec_src2_u64")
4440 :
Inst_DS(iFmt,
"ds_min_src2_i64")
4462 :
Inst_DS(iFmt,
"ds_max_src2_i64")
4484 :
Inst_DS(iFmt,
"ds_min_src2_u64")
4506 :
Inst_DS(iFmt,
"ds_max_src2_u64")
4528 :
Inst_DS(iFmt,
"ds_and_src2_b64")
4550 :
Inst_DS(iFmt,
"ds_or_src2_b64")
4572 :
Inst_DS(iFmt,
"ds_xor_src2_b64")
4594 :
Inst_DS(iFmt,
"ds_write_src2_b64")
4619 :
Inst_DS(iFmt,
"ds_min_src2_f64")
4643 :
Inst_DS(iFmt,
"ds_max_src2_f64")
4667 :
Inst_DS(iFmt,
"ds_write_b96")
4683 Wavefront *wf = gpuDynInst->wavefront();
4685 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4686 gpuDynInst->latency.set(
4687 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
4701 if (gpuDynInst->exec_mask[lane]) {
4703 gpuDynInst->d_data))[lane * 3] = data0[lane];
4705 gpuDynInst->d_data))[lane * 3 + 1] = data1[lane];
4707 gpuDynInst->d_data))[lane * 3 + 2] = data2[lane];
4711 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
4731 :
Inst_DS(iFmt,
"ds_write_b128")
4747 Wavefront *wf = gpuDynInst->wavefront();
4749 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4750 gpuDynInst->latency.set(
4751 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
4767 if (gpuDynInst->exec_mask[lane]) {
4769 gpuDynInst->d_data))[lane * 4] = data0[lane];
4771 gpuDynInst->d_data))[lane * 4 + 1] = data1[lane];
4773 gpuDynInst->d_data))[lane * 4 + 2] = data2[lane];
4775 gpuDynInst->d_data))[lane * 4 + 3] = data3[lane];
4779 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
4799 :
Inst_DS(iFmt,
"ds_read_b96")
4814 Wavefront *wf = gpuDynInst->wavefront();
4816 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4817 gpuDynInst->latency.set(
4818 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
4825 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
4846 if (gpuDynInst->exec_mask[lane]) {
4847 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
4848 gpuDynInst->d_data))[lane * 3];
4849 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
4850 gpuDynInst->d_data))[lane * 3 + 1];
4851 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
4852 gpuDynInst->d_data))[lane * 3 + 2];
4863 :
Inst_DS(iFmt,
"ds_read_b128")
4878 Wavefront *wf = gpuDynInst->wavefront();
4880 gpuDynInst->latency.init(gpuDynInst->computeUnit());
4881 gpuDynInst->latency.set(
4882 gpuDynInst->computeUnit()->cyclesToTicks(
Cycles(24)));
4889 gpuDynInst->computeUnit()->localMemoryPipe.issueRequest(gpuDynInst);
4911 if (gpuDynInst->exec_mask[lane]) {
4912 vdst0[lane] = (
reinterpret_cast<VecElemU32*
>(
4913 gpuDynInst->d_data))[lane * 4];
4914 vdst1[lane] = (
reinterpret_cast<VecElemU32*
>(
4915 gpuDynInst->d_data))[lane * 4 + 1];
4916 vdst2[lane] = (
reinterpret_cast<VecElemU32*
>(
4917 gpuDynInst->d_data))[lane * 4 + 2];
4918 vdst3[lane] = (
reinterpret_cast<VecElemU32*
>(
4919 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
void initiateAcc(GPUDynInstPtr) override
Inst_DS__DS_ADD_RTN_U32(InFmt_DS *)
void completeAcc(GPUDynInstPtr) override
~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 *)
void completeAcc(GPUDynInstPtr) override
Inst_DS__DS_CMPST_RTN_B32(InFmt_DS *)
~Inst_DS__DS_CMPST_RTN_B32()
void execute(GPUDynInstPtr) override
void initiateAcc(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)
Inst_DS(InFmt_DS *, const std::string &opcode)
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 untrackLGKMInst(GPUDynInstPtr gpu_dyn_inst)
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...
classes that represnt vector/scalar operands in VEGA ISA.
VecOperand< VecElemF32, true > ConstVecOperandF32
VecOperand< VecElemU32, false > VecOperandU32
VecOperand< VecElemU8, true, 1 > ConstVecOperandU8
VecOperand< VecElemU32, true > ConstVecOperandU32
VecOperand< VecElemU16, true, 1 > ConstVecOperandU16
const int NumVecElemPerVecReg(64)
VecOperand< VecElemU64, false > VecOperandU64
VecOperand< VecElemU64, true > ConstVecOperandU64
Copyright (c) 2024 Arm Limited All rights reserved.
std::shared_ptr< GPUDynInst > GPUDynInstPtr
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.