From 2d63f3dad6fc916c169f36b34d66df3a78258ae1 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Tue, 14 Nov 2023 22:52:37 -0800 Subject: [PATCH] nak: encode Dst::None as RZ on SM50 This case came up when testing VOTE, but likely occurs elsewhere. Part-of: --- src/nouveau/compiler/nak/encode_sm50.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/nouveau/compiler/nak/encode_sm50.rs b/src/nouveau/compiler/nak/encode_sm50.rs index f8dac3b9c18..fb24f9a5c5c 100644 --- a/src/nouveau/compiler/nak/encode_sm50.rs +++ b/src/nouveau/compiler/nak/encode_sm50.rs @@ -179,7 +179,12 @@ impl SM50Instr { } fn set_dst(&mut self, dst: Dst) { - self.set_reg(0..8, *dst.as_reg().unwrap()); + let reg = match dst { + Dst::None => RegRef::zero(RegFile::GPR, 1), + Dst::Reg(reg) => reg, + _ => panic!("invalid dst {dst}"), + }; + self.set_reg(0..8, reg); } fn set_src_imm32(&mut self, range: Range, u: u32) {