Fix a bug with disappeared cast to byte in numeric binary expressions
Lowering::IndirsAreEquivalent doesn't check if the 2 indirections have the same type and because of that a RMW style instruction is generated instead of the expected
movzx rax, byte ptr [7FFA61024742h]
xor eax, 33
mov word ptr [7FFA61024742h], ax
This behavior was fixed by adding an additional check to IndirsAreEquivalent (implementation of the mikedn's approach: https://github.com/dotnet/coreclr/pull/1329#discussion_r36397171).
Fix #1323.