nak: Rename Imm to Imm32

It's always 32-bit as far as I can tell.  We'll do something else for
booleans.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24998>
This commit is contained in:
Faith Ekstrand 2023-04-10 17:23:24 -05:00 committed by Marge Bot
parent 43e2f1080e
commit 29ecb7acf1
3 changed files with 15 additions and 20 deletions

View file

@ -23,7 +23,7 @@ struct ALUCBufRef {
enum ALUSrc {
None,
Imm(Immediate),
Imm32(u32),
Reg(ALURegRef),
UReg(ALURegRef),
CBuf(ALUCBufRef),
@ -45,9 +45,9 @@ impl ALUSrc {
_ => panic!("Invalid ALU register file"),
}
}
SrcRef::Imm(i) => {
SrcRef::Imm32(i) => {
assert!(src.src_mod.is_none());
ALUSrc::Imm(i)
ALUSrc::Imm32(i)
}
SrcRef::CBuf(cb) => {
let alu_ref = ALUCBufRef {
@ -112,9 +112,9 @@ impl BitSetMutViewable for SM75Instr {
impl BitSetMut for SM75Instr {}
impl SM75Instr {
fn set_src_imm(&mut self, range: Range<usize>, imm: &Immediate) {
fn set_src_imm(&mut self, range: Range<usize>, u: &u32) {
assert!(range.len() == 32);
self.set_field(range, imm.u);
self.set_field(range, *u);
}
fn set_reg(&mut self, range: Range<usize>, reg: RegRef) {
@ -297,7 +297,7 @@ impl SM75Instr {
self.set_alu_reg(64..72, 74, 75, reg1);
7_u8 /* form */
}
ALUSrc::Imm(imm) => {
ALUSrc::Imm32(imm) => {
self.set_src_imm(32..64, &imm);
self.set_alu_reg(64..72, 74, 75, reg1);
2_u8 /* form */
@ -315,7 +315,7 @@ impl SM75Instr {
self.set_alu_reg_src(64..72, 74, 75, &src2);
6_u8 /* form */
}
ALUSrc::Imm(imm) => {
ALUSrc::Imm32(imm) => {
self.set_src_imm(32..64, &imm);
self.set_alu_reg_src(64..72, 74, 75, &src2);
4_u8 /* form */

View file

@ -9,11 +9,6 @@ use nak_ir_proc::*;
use std::fmt;
use std::ops::{BitAnd, BitOr, Not, Range};
#[derive(Clone, Copy)]
pub struct Immediate {
pub u: u32,
}
#[repr(u8)]
#[derive(Clone, Copy, Eq, Hash, PartialEq)]
pub enum RegFile {
@ -282,7 +277,7 @@ pub struct CBufRef {
#[derive(Clone, Copy)]
pub enum SrcRef {
Zero,
Imm(Immediate),
Imm32(u32),
CBuf(CBufRef),
SSA(SSAValue),
Reg(RegRef),
@ -305,7 +300,7 @@ impl SrcRef {
pub fn get_reg(&self) -> Option<&RegRef> {
match self {
SrcRef::Zero | SrcRef::Imm(_) | SrcRef::SSA(_) => None,
SrcRef::Zero | SrcRef::Imm32(_) | SrcRef::SSA(_) => None,
SrcRef::CBuf(cb) => match &cb.buf {
CBuf::Binding(_) | CBuf::BindlessSSA(_) => None,
CBuf::BindlessGPR(reg) => Some(reg),
@ -316,7 +311,7 @@ impl SrcRef {
pub fn get_ssa(&self) -> Option<&SSAValue> {
match self {
SrcRef::Zero | SrcRef::Imm(_) | SrcRef::Reg(_) => None,
SrcRef::Zero | SrcRef::Imm32(_) | SrcRef::Reg(_) => None,
SrcRef::CBuf(cb) => match &cb.buf {
CBuf::Binding(_) | CBuf::BindlessGPR(_) => None,
CBuf::BindlessSSA(ssa) => Some(ssa),
@ -342,7 +337,7 @@ impl fmt::Display for SrcRef {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
SrcRef::Zero => write!(f, "ZERO")?,
SrcRef::Imm(x) => write!(f, "{:#x}", x.u)?,
SrcRef::Imm32(u) => write!(f, "{:#x}", u)?,
SrcRef::CBuf(r) => {
match r.buf {
CBuf::Binding(idx) => write!(f, "c[{:#x}]", idx)?,
@ -453,7 +448,7 @@ impl Src {
}
pub fn new_imm_u32(u: u32) -> Src {
SrcRef::Imm(Immediate { u: u }).into()
SrcRef::Imm32(u).into()
}
pub fn new_cbuf(idx: u8, offset: u16) -> Src {
@ -503,7 +498,7 @@ impl Src {
pub fn is_uniform(&self) -> bool {
match self.src_ref {
SrcRef::Zero | SrcRef::Imm(_) | SrcRef::CBuf(_) => true,
SrcRef::Zero | SrcRef::Imm32(_) | SrcRef::CBuf(_) => true,
SrcRef::SSA(ssa) => ssa.is_uniform(),
SrcRef::Reg(reg) => reg.is_uniform(),
}
@ -519,7 +514,7 @@ impl Src {
pub fn is_reg_or_zero(&self) -> bool {
match self.src_ref {
SrcRef::Zero | SrcRef::SSA(_) | SrcRef::Reg(_) => true,
SrcRef::Imm(_) | SrcRef::CBuf(_) => false,
SrcRef::Imm32(_) | SrcRef::CBuf(_) => false,
}
}
}

View file

@ -13,7 +13,7 @@ struct LegalizeInstr<'a> {
fn src_is_reg(src: &Src) -> bool {
match src.src_ref {
SrcRef::Zero | SrcRef::SSA(_) => true,
SrcRef::Imm(_) | SrcRef::CBuf(_) => false,
SrcRef::Imm32(_) | SrcRef::CBuf(_) => false,
SrcRef::Reg(_) => panic!("Not in SSA form"),
}
}