move a * (1 << b) -> a << b pattern from fold-const.c to match.pd

Marek Polacek polacek@redhat.com
Thu Jul 9 09:34:00 GMT 2015


On Tue, Jul 07, 2015 at 07:47:50AM +0200, Marc Glisse wrote:
> On Tue, 7 Jul 2015, Prathamesh Kulkarni wrote:
> 
> >+/* a * (1 << b) -> a << b */
> >+(simplify
> >+  (mult:c @a (lshift integer_onep @b))
> >+  (if (!FLOAT_TYPE_P (type))
> >+    (lshift @a @b)))

Just a nit: the last line is wrongly formatted.

> The test FLOAT_TYPE_P seems unnecessary, 'type' is (up to a useless
> conversion) the result of a shift, so integer, fixed-point or vector. Its
> lhs is integer_onep, which rules out fixed-point.

Right.

> (I think it is the first pattern using @letter and not @number)

Yea, I think we should be consistent and use @0 and @1 here.

	Marek



More information about the Gcc-patches mailing list