[Bug tree-optimization/110554] veclowering introduces invalid wide Boolean values

2023-07-06 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554 Andrew Pinski changed: What|Removed |Added Target Milestone|--- |14.0 Status|ASSIGNED

[Bug tree-optimization/110554] veclowering introduces invalid wide Boolean values

2023-07-06 Thread cvs-commit at gcc dot gnu.org via Gcc-bugs
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:

[Bug tree-optimization/110554] veclowering introduces invalid wide Boolean values

2023-07-05 Thread rguenth at gcc dot gnu.org via Gcc-bugs
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.

[Bug tree-optimization/110554] veclowering introduces invalid wide Boolean values

2023-07-04 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554 Andrew Pinski changed: What|Removed |Added Status|NEW |ASSIGNED Assignee|unassigned

[Bug tree-optimization/110554] veclowering introduces invalid wide Boolean values

2023-07-04 Thread pinskia at gcc dot gnu.org via Gcc-bugs
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.

[Bug tree-optimization/110554] veclowering introduces invalid wide Boolean values

2023-07-04 Thread pinskia at gcc dot gnu.org via Gcc-bugs
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) {

[Bug tree-optimization/110554] veclowering introduces invalid wide Boolean values

2023-07-04 Thread pinskia at gcc dot gnu.org via Gcc-bugs
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

[Bug tree-optimization/110554] veclowering introduces invalid wide Boolean values

2023-07-04 Thread pinskia at gcc dot gnu.org via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554 Andrew Pinski changed: What|Removed |Added Keywords||internal-improvement,