nak/sm70: Don't set a predicate destination on redg

Reduction ops don't return anything, including predicates.  On Turing
through Hopper, this doesn't matter because these bits are ignored.
However, Blackwell uses those bits to adjust address calculations for
reduction ops.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34910>
This commit is contained in:
Faith Ekstrand 2025-05-09 20:50:31 -04:00 committed by Marge Bot
parent e2b7a736a4
commit b5e657da48

View file

@ -3098,6 +3098,7 @@ impl SM70Op for OpAtom {
assert!(cmp_src == AtomCmpSrc::Separate);
e.set_reg_src(32..40, &self.cmpr);
e.set_reg_src(64..72, &self.data);
e.set_pred_dst(81..84, &Dst::None);
} else {
if e.sm >= 90 && self.atom_type.is_float() {
e.set_opcode(0x3a3);
@ -3106,11 +3107,10 @@ impl SM70Op for OpAtom {
}
e.set_reg_src(32..40, &self.data);
e.set_pred_dst(81..84, &Dst::None);
e.set_atom_op(87..91, self.atom_op);
}
e.set_pred_dst(81..84, &Dst::None);
e.set_field(
72..73,
match self.mem_space.addr_type() {