shader: mask V_MAD_U64_U32 carry-out bits of lanes outside EXEC

This commit is contained in:
nmzik
2026-10-26 13:52:29 +01:00
parent 986721f5bc
commit 2483573651
2 changed files with 25 additions and 1 deletions
@@ -291,7 +291,7 @@ void Translator::V_MAD_U64_U32(const Decoder::Instruction& inst) {
inst.dst2.kind != Decoder::OperandKind::Unknown) {
// The 32x32 product fits in 64 bits, so only the addition can carry.
const auto carry = IR::U1(ir.Emit(IR::ValueOpcode::ULessThan64, {result, product}));
WriteMask(inst.dst2, carry, VectorMask(carry));
WriteVectorMask(inst.dst2, carry);
}
}