diff options
author | Tatsuyuki Ishi <ishitatsuyuki@gmail.com> | 2021-11-29 00:12:04 +0900 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2021-12-31 20:56:39 +0000 |
commit | da0412e55b1cd49f083abd1cb3d349c02e1c85e1 (patch) | |
tree | 351379879c85839e20ce0a0032a4bb02c4773c08 /src/amd/compiler/aco_print_ir.cpp | |
parent | 5c3dfb4ef51ab33a2a67a55d4c499004e973e523 (diff) | |
download | mesa-da0412e55b1cd49f083abd1cb3d349c02e1c85e1.tar.gz |
aco: support DPP8
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13971>
Diffstat (limited to 'src/amd/compiler/aco_print_ir.cpp')
-rw-r--r-- | src/amd/compiler/aco_print_ir.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/amd/compiler/aco_print_ir.cpp b/src/amd/compiler/aco_print_ir.cpp index 750f54a4c22..d3b24dc0a57 100644 --- a/src/amd/compiler/aco_print_ir.cpp +++ b/src/amd/compiler/aco_print_ir.cpp @@ -566,8 +566,8 @@ print_instr_format_specific(const Instruction* instr, FILE* output) fprintf(output, " clamp"); if (vop3.opsel & (1 << 3)) fprintf(output, " opsel_hi"); - } else if (instr->isDPP()) { - const DPP_instruction& dpp = instr->dpp(); + } else if (instr->isDPP16()) { + const DPP16_instruction& dpp = instr->dpp16(); if (dpp.dpp_ctrl <= 0xff) { fprintf(output, " quad_perm:[%d,%d,%d,%d]", dpp.dpp_ctrl & 0x3, (dpp.dpp_ctrl >> 2) & 0x3, (dpp.dpp_ctrl >> 4) & 0x3, (dpp.dpp_ctrl >> 6) & 0x3); @@ -602,6 +602,11 @@ print_instr_format_specific(const Instruction* instr, FILE* output) fprintf(output, " bank_mask:0x%.1x", dpp.bank_mask); if (dpp.bound_ctrl) fprintf(output, " bound_ctrl:1"); + } else if (instr->isDPP8()) { + const DPP8_instruction& dpp = instr->dpp8(); + fprintf(output, " dpp8:[%d,%d,%d,%d,%d,%d,%d,%d]", dpp.lane_sel[0], dpp.lane_sel[1], + dpp.lane_sel[2], dpp.lane_sel[3], dpp.lane_sel[4], dpp.lane_sel[5], dpp.lane_sel[6], + dpp.lane_sel[7]); } else if (instr->isSDWA()) { const SDWA_instruction& sdwa = instr->sdwa(); switch (sdwa.omod) { @@ -668,8 +673,8 @@ aco_print_instr(const Instruction* instr, FILE* output, unsigned flags) neg[i] = vop3.neg[i]; opsel[i] = vop3.opsel & (1 << i); } - } else if (instr->isDPP()) { - const DPP_instruction& dpp = instr->dpp(); + } else if (instr->isDPP16()) { + const DPP16_instruction& dpp = instr->dpp16(); for (unsigned i = 0; i < 2; ++i) { abs[i] = dpp.abs[i]; neg[i] = dpp.neg[i]; |