shader: drop the 64-bit min/max NaN-lhs select the ordered compare already covers

This commit is contained in:
nmzik
2026-10-22 01:09:09 +02:00
parent 2b37dee2b7
commit a52d1ed4e2
@@ -20,9 +20,8 @@ uint32_t EmitMinMaxF64(EmitterState& state, uint32_t lhs, uint32_t rhs, bool max
result = Select(state, TypeF64(state), equal,
Unary(state, spv::OpBitcast, TypeF64(state), equal_bits), result);
// Non-IEEE mode selects the other operand for NaN, and lhs when both are NaN.
result = Select(state, TypeF64(state), Unary(state, spv::OpIsNan, TypeBool(state), lhs),
rhs, result);
// Non-IEEE mode selects the other operand for NaN, and lhs when both are NaN. The ordered
// compares already pick rhs for a NaN lhs.
return Select(state, TypeF64(state), Unary(state, spv::OpIsNan, TypeBool(state), rhs),
lhs, result);
}