Merge pull request #2333 from WalterBright/or-shift

optimize or-shift to multiply