Opt compiler: More strength reduction for multiplications.

We transform code looking like

   MUL dst, src, (2^n + 1)

into

   SHL tmp, src, n
   ADD dst, src, tmp

and code looking like

   MUL dst, src, (2^n - 1)

into

   SHL tmp, src, n
   SUB dst, tmp, src

Change-Id: Ia620ab68758caa70a01530b88cd65dd0444376d7
3 files changed