Is there a reason that 8 byte std::array comparisons seem to be producing different assembly?
I noticed 8 byte std::array comparisons seem to be producing assembly different from bit_casting. gcc seems to do what I expect for a char array, but clang generates an extra mov instruction. In the std::byte case we get 8 byte cmp. Curious if there is a reason for this difference?
C++: Is there a reason that 8 byte std::array comparisons seem to be producing different assembly?
I noticed 8 byte std::array comparisons seem to be producing assembly different from bit_casting. gcc seems to do what I expect for a char array, but clang generates an extra mov instruction. In the std::byte case we get 8 byte cmp. Curious if there is a reason for this difference?