D-Programming-Language/dmd — pull request #3934 by yebblies (2014-08-31 09:00:53+00:00)
Title: 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. Otherwise, btst will wrap `a` and return the wrong bit.

https://issues.dlang.org/show_bug.cgi?id=13383