[PATCH] fold x << (n % C) to x << (n & C-1) if C meets power2
This patch fixes PR66552 which is also as:
https://gcc.gnu.org/pipermail/gcc-patches/2020-February/540930.html
which requests to optimizes (x shift (n mod C)) to
(x shift (n bit_and (C - 1))) when C is a constant and power of two.
gcc/ChangeLog
2020-10-19 Li Jia He <helijia@gcc.gnu.org>
PR tree-optimization/66552
* match.pd (x << (n % C) -> x << (n & C-1)): New simplification.
gcc/testsuite/ChangeLog
2020-10-19 Li Jia He <helijia@gcc.gnu.org>
PR tree-optimization/66552
* gcc.dg/pr66552.c: New testcase.