edx = (s32)eax >> 31; // cdq
eax = ecx ? __builtin_ffs(ecx) - 1 : 0; // bsf
tmp64 = ((u64)edx << 32) | eax;
- tmp64 = (s64)tmp64 <<= LOBYTE(ecx);
+ tmp64 = (s64)tmp64 << LOBYTE(ecx);
edx = tmp64 >> 32; eax = tmp64; // allshl
edi = eax;
tmp64 = ((u64)edx << 32) | eax;
- tmp64 = (s64)tmp64 >>= LOBYTE(ecx);
+ tmp64 = (s64)tmp64 >> LOBYTE(ecx);
edx = tmp64 >> 32; eax = tmp64; // allshr
eax = __builtin_bswap32(eax);
ecx ^= eax;