https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
Andrew Pinski changed:
What|Removed |Added
Target Milestone|--- |14.0
Status|ASSIGNED
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
--- Comment #8 from CVS Commits ---
The trunk branch has been updated by Andrew Pinski :
https://gcc.gnu.org/g:a73b65b74105e76473cc2825bb4e7253deaf18b3
commit r14-2338-ga73b65b74105e76473cc2825bb4e7253deaf18b3
Author: Andrew Pinski
Date: Tu
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
--- Comment #7 from Richard Biener ---
(In reply to Andrew Pinski from comment #6)
> Created attachment 55472 [details]
> Fix veclowering types
>
> So the problem is veclowering should have just use boolean_type_node here
> for the comparison.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
Andrew Pinski changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
--- Comment #5 from Andrew Pinski ---
Actually the issue is:
signed-boolean:32 _8 = _7 > 1;
That is not [-1,0] but still [0,1] ... (VRP says it is too).
Let me see where that is built.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
--- Comment #4 from Andrew Pinski ---
So originally we have:
signed-boolean:32 _8 = _7 > 1;
_Bool _9 = (_Bool) _8;
(int) _9;
I think if we swap around where the convert was, it will fix the issue.
That is:
(bit_and (convert @0) { wide_int
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
--- Comment #3 from Andrew Pinski ---
It is this one:
/* Handle cases of two conversions in a row. */
(for ocvt (convert float fix_trunc)
(for icvt (convert float)
(simplify
(ocvt (icvt@1 @0))
...
/* A truncation to an unsigned type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
Andrew Pinski changed:
What|Removed |Added
Keywords||internal-improvement,