On Thu, Jul 09, 2015 at 12:54:54PM +0200, Richard Biener wrote:
> > This introduces a :s flag to match expressions which enforces
> > the expression to have a single-use if(!) the simplified
> > expression is larger than one statement.

This is nice.

>   /* (x & ~m) | (y & m) -> ((x ^ y) & m) ^ x */
>   (simplify
> !  (bit_ior:c (bit_and:cs @0 (bit_not @2)) (bit_and:cs @1 @2))
> !  (bit_xor (bit_and (bit_xor @0 @1) @2) @0))
>   
>   
>   /* Associate (p +p off1) +p off2 as (p +p (off1 + off2)).  */
>   (simplify
> !   (pointer_plus (pointer_plus:s@2 @0 @1) @3)
> !   (pointer_plus @0 (plus @1 @3)))

Seems we don't need to capture @2 here anymore.

        Marek

Reply via email to