Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rearrange mmx_t union to make gcc happy.
When we initialize with an unsigned long long using: mmx_t var = { 0x8000000000000000ULL }; It makes the compiler unhappy because it tries to assign the mmx_t's .q which is of type long long and this number is too large to be represented in a long long. By moving the unsigned long long .uq to be first in the union the compiler will try that first and not give a narrowing complaint. An alternative in C99 code is: mmx_t var = { .uq = 0x8000000000000000ULL }; But in C++ the only alternative is: mmx_t var; var.uq = 0x8000000000000000ULL; Which to my eyes is less elegant.
- Loading branch information