From 48edb9cec24dbbef708cbd183d37defbe457ae94 Mon Sep 17 00:00:00 2001 From: Mel Henning Date: Wed, 5 Feb 2025 18:38:42 -0500 Subject: [PATCH] nak/opt_copy_prop: Force alu src for IAdd2X/IAdd3X Cc: mesa-stable Reviewed-by: Mary Guillemard Reviewed-by: Faith Ekstrand Part-of: --- src/nouveau/compiler/nak/opt_copy_prop.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/nouveau/compiler/nak/opt_copy_prop.rs b/src/nouveau/compiler/nak/opt_copy_prop.rs index 73cdf98db01..b03300b9b38 100644 --- a/src/nouveau/compiler/nak/opt_copy_prop.rs +++ b/src/nouveau/compiler/nak/opt_copy_prop.rs @@ -643,9 +643,13 @@ impl CopyPropPass { // written. let force_alu_src_type = match &instr.op { Op::IAdd2(add) => !add.carry_out.is_none(), + Op::IAdd2X(add) => !add.carry_out.is_none(), Op::IAdd3(add) => { !add.overflow[0].is_none() || !add.overflow[1].is_none() } + Op::IAdd3X(add) => { + !add.overflow[0].is_none() || !add.overflow[1].is_none() + } _ => false, }; @@ -654,8 +658,8 @@ impl CopyPropPass { let mut src_type = src_types[i]; if force_alu_src_type { src_type = match src_type { - SrcType::I32 => SrcType::ALU, - SrcType::Pred => SrcType::Pred, + SrcType::B32 | SrcType::I32 => SrcType::ALU, + SrcType::Carry | SrcType::Pred => src_type, _ => panic!("Unhandled src_type"), }; };