Fix Issue 13383 - wrong code with -O with ints, longs and bitwise operations

Converting '(1 << a) & b' to 'b btst a' is only valid when the constant fits in a register.
Merge pull request #3934 from yebblies/issue13383

Issue 13383 - wrong code with -O with ints, longs and bitwise operations