===================================================================
@@ -1,10 +1,15 @@
+2016-08-31 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/73714
+ * match.pd (a * (1 << b)): Revert change from 2016-05-23.
+
2016-08-31 David Malcolm <dmalcolm@redhat.com>
* selftest.c: Move "namespace selftest {" to top of file,
removing explicit "selftest::" qualifiers throughout.
2016-08-31 Marc Glisse <marc.glisse@inria.fr>
* config/i386/avx512fintrin.h (__m512_u, __m512i_u, __m512d_u):
New types.
(_mm512_loadu_pd, _mm512_storeu_pd, _mm512_loadu_ps,
===================================================================
@@ -0,0 +1,8 @@
+/* { dg-do compile { target lp64 } } */
+/* { dg-options "-O2 -fdump-tree-optimized-raw" } */
+
+int f(int a, int b){
+ return a * (int)(1L << b);
+}
+
+/* { dg-final { scan-tree-dump "mult_expr" "optimized" } } */
===================================================================
@@ -1,10 +1,15 @@
+2016-08-31 Marc Glisse <marc.glisse@inria.fr>
+
+ PR tree-optimization/73714
+ * gcc.dg/tree-ssa/pr73714.c: New test.
+
2016-08-31 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libgfortran/77393
* gfortran.dg/fmt_f0_2.f90: New test.
2016-08-31 Marc Glisse <marc.glisse@inria.fr>
* gcc.target/i386/pr59539-2.c: Adapt options.
* gcc.target/i386/avx512f-vmovdqu32-1.c: Relax expected asm.
===================================================================
@@ -461,22 +461,21 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
(for ops (conj negate)
(for cabss (CABS)
(simplify
(cabss (ops @0))
(cabss @0))))
/* Fold (a * (1 << b)) into (a << b) */
(simplify
(mult:c @0 (convert? (lshift integer_onep@1 @2)))
(if (! FLOAT_TYPE_P (type)
- && (element_precision (type) <= element_precision (TREE_TYPE (@1))
- || TYPE_UNSIGNED (TREE_TYPE (@1))))
+ && tree_nop_conversion_p (type, TREE_TYPE (@1)))
(lshift @0 @2)))
/* Fold (C1/X)*C2 into (C1*C2)/X. */
(simplify
(mult (rdiv@3 REAL_CST@0 @1) REAL_CST@2)
(if (flag_associative_math
&& single_use (@3))
(with
{ tree tem = const_binop (MULT_EXPR, type, @0, @2); }
(if (tem)