From 286b832f74a1b80130a814c37ef04ecc7bd91502 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Wed, 15 Nov 2023 13:23:27 -0800 Subject: [PATCH] nak: make as_imm_not_{i,f}20 helper methods public These are useful for SM50 legalize, which is in a different module. Part-of: --- src/nouveau/compiler/nak/encode_sm50.rs | 29 ------------------------- src/nouveau/compiler/nak/ir.rs | 29 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/nouveau/compiler/nak/encode_sm50.rs b/src/nouveau/compiler/nak/encode_sm50.rs index 58dcfa26db5..48b28361350 100644 --- a/src/nouveau/compiler/nak/encode_sm50.rs +++ b/src/nouveau/compiler/nak/encode_sm50.rs @@ -16,35 +16,6 @@ impl Src { _ => false, } } - - fn as_imm_not_i20(&self) -> Option { - match self.src_ref { - SrcRef::Imm32(i) => { - assert!(self.src_mod.is_none()); - let top = i & 0xfff80000; - if top == 0 || top == 0xfff80000 { - None - } else { - Some(i) - } - } - _ => None, - } - } - - fn as_imm_not_f20(&self) -> Option { - match self.src_ref { - SrcRef::Imm32(i) => { - assert!(self.src_mod.is_none()); - if (i & 0xfff) == 0 { - None - } else { - Some(i) - } - } - _ => None, - } - } } fn align_down(value: usize, align: usize) -> usize { diff --git a/src/nouveau/compiler/nak/ir.rs b/src/nouveau/compiler/nak/ir.rs index 0077029d692..661dc5ea0ff 100644 --- a/src/nouveau/compiler/nak/ir.rs +++ b/src/nouveau/compiler/nak/ir.rs @@ -1123,6 +1123,35 @@ impl Src { } } + pub fn as_imm_not_i20(&self) -> Option { + match self.src_ref { + SrcRef::Imm32(i) => { + assert!(self.src_mod.is_none()); + let top = i & 0xfff80000; + if top == 0 || top == 0xfff80000 { + None + } else { + Some(i) + } + } + _ => None, + } + } + + pub fn as_imm_not_f20(&self) -> Option { + match self.src_ref { + SrcRef::Imm32(i) => { + assert!(self.src_mod.is_none()); + if (i & 0xfff) == 0 { + None + } else { + Some(i) + } + } + _ => None, + } + } + pub fn iter_ssa(&self) -> slice::Iter<'_, SSAValue> { self.src_ref.iter_ssa() }