https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
Xi Ruoyao changed:
What|Removed |Added
CC||xry111 at gcc dot gnu.org
See
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
Jeffrey A. Law changed:
What|Removed |Added
CC||rzinsly at ventanamicro dot com
---
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
Jeffrey A. Law changed:
What|Removed |Added
CC||law at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
Andrew Pinski changed:
What|Removed |Added
URL|https://gcc.gnu.org/piperma |
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
Andrew Pinski changed:
What|Removed |Added
Keywords||patch
URL|
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
--- Comment #10 from Andrew Pinski ---
This is what I came up with in the end:
/* (a * b@[0,1]) == CST
->
CST == 0 ? (a == CST | b == 0) : (a == CST & b != 0)
(a * b@[0,1]) != CST
->
CST != 0 ? (a != CST | b == 0) :
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
--- Comment #9 from Andrew Pinski ---
This is what I have so far:
/* Transform (a * { 0 or 1 }) != 0 into {0 or 1} != 0 & (a != 0) */
/* Transform (a * { 0 or 1 }) == 0 into ({0 or 1} == 0) | (a == 0) */
(for cmp (ne eq)
bit_op (bit_and
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
--- Comment #8 from Andrew Pinski ---
(In reply to Andrew Pinski from comment #7)
> Actually we should transform it into
> ((convert)zero_one_valued_p) & (a != 0)
>
> Or ^1 for the == 0 case ...
>
> This should allow for better code I think.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
--- Comment #7 from Andrew Pinski ---
Actually we should transform it into
((convert)zero_one_valued_p) & (a != 0)
Or ^1 for the == 0 case ...
This should allow for better code I think.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
Andrew Pinski changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110992
Andrew Pinski changed:
What|Removed |Added
Target Milestone|14.0|13.3
Summary|[14
11 matches
Mail list logo