https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #22 from Segher Boessenkool ---
(In reply to Andrew Pinski from comment #21)
> I am not sure if powerpc vsx
> has &~ though.
VMX has vandc (since 1999), and VSX has xxlandc (since 2010).
In general, PowerPC has a full complement of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #21 from Andrew Pinski ---
(In reply to Andrew Pinski from comment #20)
> The aarch64 backend matches this:
> (insn 15 10 16 2 (set (reg/i:V4SI 32 v0)
> (xor:V4SI (and:V4SI (xor:V4SI (reg:V4SI 101)
> (reg:V
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
Andrew Pinski changed:
What|Removed |Added
See Also||https://gcc.gnu.org/bugzill
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #19 from Segher Boessenkool ---
(In reply to luoxhu from comment #17)
> And what do you mean"This is not canonical form on RTL, and it's not a
> useful form either" in c#7, please? Not understanding the point...
On Gimple it is canon
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #18 from Segher Boessenkool ---
(In reply to luoxhu from comment #16)
> > +2016-11-09 Segher Boessenkool
> > +
> > + * simplify-rtx.c (simplify_binary_operation_1): Simplify
> > + (xor (and (xor A B) C) B) to (ior (and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
Andrew Pinski changed:
What|Removed |Added
Severity|normal |enhancement
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #17 from luoxhu at gcc dot gnu.org ---
If the constant limitation is removed, it could be combined successfully with
my new patch for PR94613.
https://gcc.gnu.org/pipermail/gcc-patches/2021-April/569255.html
And what do you mean"This
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #16 from luoxhu at gcc dot gnu.org ---
> +2016-11-09 Segher Boessenkool
> +
> + * simplify-rtx.c (simplify_binary_operation_1): Simplify
> + (xor (and (xor A B) C) B) to (ior (and A C) (and B ~C)) and
> + (xor (an
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #15 from luoxhu at gcc dot gnu.org ---
(In reply to Segher Boessenkool from comment #14)
> (In reply to luoxhu from comment #12)
> > That code was called by combine pass but fail to match.
>
> >
> > pr newpat
> > (set (reg:DI 125 [
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #14 from Segher Boessenkool ---
(In reply to luoxhu from comment #12)
> That code was called by combine pass but fail to match.
>
> pr newpat
> (set (reg:DI 125 [ l ])
> (xor:DI (and:DI (xor:DI (reg/v:DI 120 [ l ])
>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #13 from Segher Boessenkool ---
(In reply to luoxhu from comment #11)
> I noticed that you added the below optimization with commit
> a62436c0a505155fc8becac07a8c0abe2c265bfe. But it doesn't even handle this
> case, cse1 pass will cal
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #12 from luoxhu at gcc dot gnu.org ---
That code was called by combine pass but fail to match.
pr newpat
(set (reg:DI 125 [ l ])
(xor:DI (and:DI (xor:DI (reg/v:DI 120 [ l ])
(reg:DI 127))
(const_int 2
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #11 from luoxhu at gcc dot gnu.org ---
I noticed that you added the below optimization with commit
a62436c0a505155fc8becac07a8c0abe2c265bfe. But it doesn't even handle this case,
cse1 pass will call simplify_binary_operation_1, both op
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #10 from Segher Boessenkool ---
You cannot fix a simplify-rtx problem in much earlier passes! It may be
useful of course (I have no idea, I don't know gimple well enough), but
it is no solution to the problem at all. The xor/and/xor
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #9 from luoxhu at gcc dot gnu.org ---
Then we could optimized it in match.pd
diff --git a/gcc/match.pd b/gcc/match.pd
index 036f92fa959..8944312c153 100644
--- a/gcc/match.pd
+++ b/gcc/match.pd
@@ -3711,6 +3711,17 @@ DEFINE_INT_AND_FL
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
luoxhu at gcc dot gnu.org changed:
What|Removed |Added
CC||luoxhu at gcc dot gnu.org
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
--- Comment #7 from Segher Boessenkool ---
From the combine dump of without_sel:
Trying 8, 9 -> 10:
8: r127:V4SI=r124:V4SI^r131:V4SI
REG_DEAD r131:V4SI
9: r122:V4SI=r127:V4SI&r130:V4SI
REG_DEAD r130:V4SI
REG_DEAD r127:V
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90323
Segher Boessenkool changed:
What|Removed |Added
Status|WAITING |NEW
--- Comment #6 from Segher Boes
18 matches
Mail list logo