nak: use matches!() instead of open-coding it

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38807>
This commit is contained in:
Eric Engestrom 2025-10-06 16:10:06 +02:00
parent 28ff39fbb4
commit dbd528ea3d
4 changed files with 50 additions and 54 deletions

View file

@ -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,7 +8244,8 @@ 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(_)
@ -8260,9 +8257,8 @@ impl Op {
| Op::Cont(_)
| Op::PCnt(_)
| Op::Bra(_)
| Op::Exit(_) => true,
_ => false,
}
| Op::Exit(_)
)
}
pub fn is_virtual(&self) -> bool {

View file

@ -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::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::DecoupledAgu
)
}
}

View file

@ -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 |

View file

@ -1447,12 +1447,13 @@ 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
@ -1461,9 +1462,8 @@ impl SM80Latency {
| RegLatencySM80::DMMA
| RegLatencySM80::Cbu
| RegLatencySM80::Decoupled
| RegLatencySM80::DecoupledAgu => true,
_ => false,
}
| RegLatencySM80::DecoupledAgu
)
}
}