[X86] Add support expanding multiplies by constant where the constant is -3/-5/-9 multplied by a power of 2.

These can be replaced with an LEA, a shift, and a negate. This seems to match what gcc and icc would do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338174 91177308-0d34-0410-b5e6-96231b3b80d8
4 files changed