public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* PR71206: inconsistent types after match.pd transformation
@ 2016-05-19 23:23 Marc Glisse
  2016-05-20  7:12 ` Marc Glisse
  0 siblings, 1 reply; 3+ messages in thread
From: Marc Glisse @ 2016-05-19 23:23 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: TEXT/PLAIN, Size: 267 bytes --]

Hello,

this was bootstrapped and regtested on powerpc64le-unknown-linux-gnu.

2016-05-20  Marc Glisse  <marc.glisse@inria.fr>

gcc/
 	* match.pd ((X ^ Y) ^ (X ^ Z)): Convert the arguments.

gcc/testsuite/
 	* gcc.dg/tree-ssa/pr71206.c: New testcase.

-- 
Marc Glisse

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: TEXT/x-diff; name=xor.diff, Size: 1279 bytes --]

Index: gcc/match.pd
===================================================================
--- gcc/match.pd	(revision 236489)
+++ gcc/match.pd	(working copy)
@@ -733,21 +733,21 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
        && tree_nop_conversion_p (type, TREE_TYPE (@2)))
    (if (single_use (@5) && single_use (@6))
     (op @3 (convert @2))
     (if (single_use (@3) && single_use (@4))
      (op (convert @1) @5))))))
 /* (X ^ Y) ^ (X ^ Z) -> Y ^ Z  */
 (simplify
  (bit_xor (convert1? (bit_xor:c @0 @1)) (convert2? (bit_xor:c @0 @2)))
  (if (tree_nop_conversion_p (type, TREE_TYPE (@1))
       && tree_nop_conversion_p (type, TREE_TYPE (@2)))
-  (convert (bit_xor @1 @2))))
+  (bit_xor (convert @1) (convert @2))))
 
 (simplify
  (abs (abs@1 @0))
  @1)
 (simplify
  (abs (negate @0))
  (abs @0))
 (simplify
  (abs tree_expr_nonnegative_p@0)
  @0)
Index: gcc/testsuite/gcc.dg/tree-ssa/71206.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/71206.c	(revision 0)
+++ gcc/testsuite/gcc.dg/tree-ssa/71206.c	(working copy)
@@ -0,0 +1,8 @@
+/* { dg-do compile } */
+/* { dg-options "-O" } */
+
+int f(int d, unsigned b) {
+    int i2 = b ^ 1;
+    int i4 = d ^ 1;
+    return i2 ^ i4;
+}

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: PR71206: inconsistent types after match.pd transformation
  2016-05-19 23:23 PR71206: inconsistent types after match.pd transformation Marc Glisse
@ 2016-05-20  7:12 ` Marc Glisse
  2016-05-20  9:31   ` Richard Biener
  0 siblings, 1 reply; 3+ messages in thread
From: Marc Glisse @ 2016-05-20  7:12 UTC (permalink / raw)
  To: gcc-patches

On Fri, 20 May 2016, Marc Glisse wrote:

> Hello,
>
> this was bootstrapped and regtested on powerpc64le-unknown-linux-gnu.
>
> 2016-05-20  Marc Glisse  <marc.glisse@inria.fr>

 	PR tree-optimization/71079
 	PR tree-optimization/71206

> gcc/
> 	* match.pd ((X ^ Y) ^ (X ^ Z)): Convert the arguments.
>
> gcc/testsuite/
> 	* gcc.dg/tree-ssa/pr71206.c: New testcase.

-- 
Marc Glisse

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: PR71206: inconsistent types after match.pd transformation
  2016-05-20  7:12 ` Marc Glisse
@ 2016-05-20  9:31   ` Richard Biener
  0 siblings, 0 replies; 3+ messages in thread
From: Richard Biener @ 2016-05-20  9:31 UTC (permalink / raw)
  To: Marc Glisse; +Cc: GCC Patches

On Fri, May 20, 2016 at 9:12 AM, Marc Glisse <marc.glisse@inria.fr> wrote:
> On Fri, 20 May 2016, Marc Glisse wrote:
>
>> Hello,
>>
>> this was bootstrapped and regtested on powerpc64le-unknown-linux-gnu.
>>
>> 2016-05-20  Marc Glisse  <marc.glisse@inria.fr>
>
>
>         PR tree-optimization/71079
>         PR tree-optimization/71206

Ok.

Thanks,
Richard.

>
>> gcc/
>>         * match.pd ((X ^ Y) ^ (X ^ Z)): Convert the arguments.
>>
>> gcc/testsuite/
>>         * gcc.dg/tree-ssa/pr71206.c: New testcase.
>
>
> --
> Marc Glisse

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-05-20  9:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-19 23:23 PR71206: inconsistent types after match.pd transformation Marc Glisse
2016-05-20  7:12 ` Marc Glisse
2016-05-20  9:31   ` Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).