aco: don't use constant_bits when not applying constants
This is incorrect for 16bit integer operands. Reviewed-by: Rhys Perry <pendingchaos02@gmail.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35020>
This commit is contained in:
@@ -638,7 +638,7 @@ try_combine_dpp(pr_opt_ctx& ctx, aco_ptr<Instruction>& instr)
|
||||
continue;
|
||||
|
||||
bool input_mods = can_use_input_modifiers(ctx.program->gfx_level, instr->opcode, i) &&
|
||||
get_operand_type(instr, i).constant_bits() == 32;
|
||||
get_operand_type(instr, i).bit_size == 32;
|
||||
bool mov_uses_mods = mov->valu().neg[0] || mov->valu().abs[0];
|
||||
if (((dpp8 && ctx.program->gfx_level < GFX11) || !input_mods) && mov_uses_mods)
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user