this version make wrong code for left shift for 32 bits (only 32) long long s=0x01 s <<= 32; result: s =0;
Are you sure that zero is wrong?
Yes. Previous version (2.00) makes correct code. The mistake is onle for 32 bits for 33,34 etc bits - all Ok