https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111282
Andrew Pinski changed:
What|Removed |Added
Status|ASSIGNED|RESOLVED
Resolution|---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111282
--- Comment #6 from CVS Commits ---
The trunk branch has been updated by Andrew Pinski :
https://gcc.gnu.org/g:e8d418df3dc609f27487deece796d4aa69004b8c
commit r14-4561-ge8d418df3dc609f27487deece796d4aa69004b8c
Author: Andrew Pinski
Date:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111282
Andrew Pinski changed:
What|Removed |Added
Keywords||patch
URL|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111282
--- Comment #4 from Andrew Pinski ---
Created attachment 56090
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=56090=edit
Patch under testing
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111282
--- Comment #3 from Andrew Pinski ---
(In reply to Andrew Pinski from comment #1)
> Note we will need to detect both `a & (b ^ ~a)` and `a & ~(a ^ b)` since a
> might be comparison too.
Well and that will handle:
```
int f0(int a, int b)
{
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111282
--- Comment #2 from Andrew Pinski ---
Note `|` case already handled by r8-4395:
/* a | ~(a ^ b) --> a | ~b */
(simplify
(bit_ior:c @0 (bit_not:s (bit_xor:c @0 @1)))
(bit_ior @0 (bit_not @1)))
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111282
--- Comment #1 from Andrew Pinski ---
Note we will need to detect both `a & (b ^ ~a)` and `a & ~(a ^ b)` since a
might be comparison too.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111282
Andrew Pinski changed:
What|Removed |Added
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed|