From ace017bba87948e12c7450706255c0601fdbbae4 Mon Sep 17 00:00:00 2001 From: Georg Lehmann Date: Thu, 23 Mar 2023 13:14:05 +0100 Subject: [PATCH] aco/ir: copy opsel when converting to DPP Reviewed-by: Rhys Perry Part-of: --- src/amd/compiler/aco_ir.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/amd/compiler/aco_ir.cpp b/src/amd/compiler/aco_ir.cpp index 9977930..e746c66 100644 --- a/src/amd/compiler/aco_ir.cpp +++ b/src/amd/compiler/aco_ir.cpp @@ -403,14 +403,12 @@ convert_to_DPP(aco_ptr& instr, bool dpp8) dpp->dpp_ctrl = dpp_quad_perm(0, 1, 2, 3); dpp->row_mask = 0xf; dpp->bank_mask = 0xf; - - if (tmp->isVOP3()) { - const VALU_instruction* vop3 = &tmp->valu(); - dpp->neg = vop3->neg; - dpp->abs = vop3->abs; - } } + instr->valu().neg = tmp->valu().neg; + instr->valu().abs = tmp->valu().abs; + instr->valu().opsel = tmp->valu().opsel; + if (instr->isVOPC() || instr->definitions.size() > 1) instr->definitions.back().setFixed(vcc); -- 2.7.4