Clang currently is resolving different cast expressions for binary operator arguments than for function argument expressions. This causes bitcasts to be used instead of correct implicit conversion sequences.
See reproduction case: https://hlsl.godbolt.org/z/jKGcGbE4Y
This change will require the following: