From dbd528ea3d2bf328db01ac8cb54753ecb911bfbb Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Mon, 6 Oct 2025 16:10:06 +0200 Subject: [PATCH] nak: use `matches!()` instead of open-coding it Part-of: --- src/nouveau/compiler/nak/ir.rs | 40 +++++++++---------- .../compiler/nak/sm120_instr_latencies.rs | 26 ++++++------ .../compiler/nak/sm75_instr_latencies.rs | 8 ++-- .../compiler/nak/sm80_instr_latencies.rs | 30 +++++++------- 4 files changed, 50 insertions(+), 54 deletions(-) diff --git a/src/nouveau/compiler/nak/ir.rs b/src/nouveau/compiler/nak/ir.rs index a59d27bc7c9..f67d840e4f5 100644 --- a/src/nouveau/compiler/nak/ir.rs +++ b/src/nouveau/compiler/nak/ir.rs @@ -8062,14 +8062,10 @@ const _: () = { impl Op { pub fn is_branch(&self) -> bool { - match self { - Op::Bra(_) - | Op::Sync(_) - | Op::Brk(_) - | Op::Cont(_) - | Op::Exit(_) => true, - _ => false, - } + matches!( + self, + Op::Bra(_) | Op::Sync(_) | Op::Brk(_) | Op::Cont(_) | Op::Exit(_) + ) } pub fn is_fp64(&self) -> bool { @@ -8248,21 +8244,21 @@ impl Op { /// Some decoupled instructions don't need /// scoreboards, due to our usage. pub fn no_scoreboard(&self) -> bool { - match self { + matches!( + self, Op::BClear(_) - | Op::Break(_) - | Op::BSSy(_) - | Op::BSync(_) - | Op::SSy(_) - | Op::Sync(_) - | Op::Brk(_) - | Op::PBk(_) - | Op::Cont(_) - | Op::PCnt(_) - | Op::Bra(_) - | Op::Exit(_) => true, - _ => false, - } + | Op::Break(_) + | Op::BSSy(_) + | Op::BSync(_) + | Op::SSy(_) + | Op::Sync(_) + | Op::Brk(_) + | Op::PBk(_) + | Op::Cont(_) + | Op::PCnt(_) + | Op::Bra(_) + | Op::Exit(_) + ) } pub fn is_virtual(&self) -> bool { diff --git a/src/nouveau/compiler/nak/sm120_instr_latencies.rs b/src/nouveau/compiler/nak/sm120_instr_latencies.rs index c4051fa4c89..6e4fa7dccd6 100644 --- a/src/nouveau/compiler/nak/sm120_instr_latencies.rs +++ b/src/nouveau/compiler/nak/sm120_instr_latencies.rs @@ -385,22 +385,22 @@ pub struct SM120Latency {} impl SM120Latency { pub fn needs_scoreboards(op: &Op) -> bool { if op.is_uniform() { - match op_ureg_latency(op, false, 0) { + matches!( + op_ureg_latency(op, false, 0), UregLatencySM100::Uldc - | UregLatencySM100::ToUr - | UregLatencySM100::Tex => true, - _ => false, - } + | UregLatencySM100::ToUr + | UregLatencySM100::Tex + ) } else { - match op_reg_latency(op, false, 0) { + matches!( + op_reg_latency(op, false, 0), RegLatencySM100::Dmma - | RegLatencySM100::Hmma - | RegLatencySM100::RedirectedFp64 - | RegLatencySM100::Branch - | RegLatencySM100::Decoupled - | RegLatencySM100::DecoupledAgu => true, - _ => false, - } + | RegLatencySM100::Hmma + | RegLatencySM100::RedirectedFp64 + | RegLatencySM100::Branch + | RegLatencySM100::Decoupled + | RegLatencySM100::DecoupledAgu + ) } } diff --git a/src/nouveau/compiler/nak/sm75_instr_latencies.rs b/src/nouveau/compiler/nak/sm75_instr_latencies.rs index 0b20e8d9bd7..f94824d995d 100644 --- a/src/nouveau/compiler/nak/sm75_instr_latencies.rs +++ b/src/nouveau/compiler/nak/sm75_instr_latencies.rs @@ -1187,10 +1187,10 @@ pub struct SM75Latency {} impl SM75Latency { pub fn needs_scoreboards(op: &Op) -> bool { if op.is_uniform() { - match URegLatencySM75::op_category(op, false, 0) { - URegLatencySM75::R2UR => true, - _ => false, - } + matches!( + URegLatencySM75::op_category(op, false, 0), + URegLatencySM75::R2UR + ) } else { match RegLatencySM75::op_category(op, false, 0) { RegLatencySM75::RedirectedFP64 | diff --git a/src/nouveau/compiler/nak/sm80_instr_latencies.rs b/src/nouveau/compiler/nak/sm80_instr_latencies.rs index bdbd278c65a..e564db5434c 100644 --- a/src/nouveau/compiler/nak/sm80_instr_latencies.rs +++ b/src/nouveau/compiler/nak/sm80_instr_latencies.rs @@ -1447,23 +1447,23 @@ pub struct SM80Latency {} impl SM80Latency { pub fn needs_scoreboards(op: &Op) -> bool { if op.is_uniform() { - match URegLatencySM80::op_category(op, false, 0) { - URegLatencySM80::ToUr => true, - _ => false, - } + matches!( + URegLatencySM80::op_category(op, false, 0), + URegLatencySM80::ToUr + ) } else { - match RegLatencySM80::op_category(op, false, 0) { + matches!( + RegLatencySM80::op_category(op, false, 0), RegLatencySM80::RedirectedFP64 - | RegLatencySM80::Clmad - | RegLatencySM80::IMMA_88 - | RegLatencySM80::MMA_1x_collect - | RegLatencySM80::MMA_2x_collect - | RegLatencySM80::DMMA - | RegLatencySM80::Cbu - | RegLatencySM80::Decoupled - | RegLatencySM80::DecoupledAgu => true, - _ => false, - } + | RegLatencySM80::Clmad + | RegLatencySM80::IMMA_88 + | RegLatencySM80::MMA_1x_collect + | RegLatencySM80::MMA_2x_collect + | RegLatencySM80::DMMA + | RegLatencySM80::Cbu + | RegLatencySM80::Decoupled + | RegLatencySM80::DecoupledAgu + ) } }