On Sat, Jun 13, 2015 at 12:05:42PM +0200, Marc Glisse wrote:
> They look fine to me.

Thanks!
 
> >+/* (x & y) + (x ^ y) -> x | y */
> 
> This also works if you replace + with | or ^.

Done.
 
> >+/* (x | y) - (x ^ y) -> x & y */
> 
> For symmetry, you probably also want:
> (x | y) - (x & y) -> x ^ y
 
Done.

> (they both also work with ^ instead of -)

Done (except (x & y) ^ (x | y) -> x ^ y which we already have).

> >+/* (x & y) + (x | y) -> x + y */
> 
> Again for symmetry, it seems like this comes with
> x + y - (x | y) -> x & y
> x + y - (x & y) -> x | y
> which seem fine when overflow is undefined or wraps, but not if for instance
> it saturates.

I'll leave this as a follow-up.

Testing a new patch.  Thanks again.

        Marek

Reply via email to