Merge pull request #2266 from WalterBright/optimize-neg-com

optimize neg and com operations