We don't have tests for this, but dot() of bools is uniquely supposed to return float.
Hmm, I think we are not doing that then. As Giovanni mentioned, we are making them return int.
I don't necessarily object to having HLSL_OP2_DOT mean something other than dot(), although I don't know that it's great. The idea that dot() of bools returns a bool is weird, too. I don't hate either one but I'm not sure it's better than the existing code either.
Since it allows to remove a chunk of code, I am generating the DOT for bools now. It is lowered by the following lower_int_dot() pass. I also added a comment:
```c /* Note: We may be creating a DOT for bool vectors here, which we need to lower to * LOGIC_OR + LOGIC_AND. */ ```