https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110554
Bug ID: 110554 Summary: more invalid wide Boolean values Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: kristerw at gcc dot gnu.org Target Milestone: --- The fix for PR 110487 improved the situation, but my tool still finds some cases where GCC generates invalid <signed-boolean:32> values. One such case can be seen in gcc.c-torture/compile/pr104499.c: typedef int __attribute__((__vector_size__ (8 * sizeof (int)))) V; V v; void foo (void) { v = ((1 | v) != 1); } Here veclower2 is introducing code <signed-boolean:32> _8; <signed-boolean:32> _10; ... gimple_assign <gt_expr, _8, _7, 1, NULL> gimple_assign <bit_and_expr, _10, _8, 1, NULL> More examples of this failure can be seen in gcc.c-torture/compile/pr108237.c and gcc.c-torture/compile/pr54713-1.c