https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119534
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org Status|NEW |ASSIGNED --- Comment #11 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue gather scatter detection - we do not anticipate the non-mask use in the address calculation for the gather: (gdb) p gs_info $12 = {ifn = IFN_LAST, decl = <tree 0x0>, base = <nop_expr 0x7ffff6cfed80>, offset = <ssa_name 0x7ffff6e0d870 2>, scale = 8, offset_dt = vect_internal_def, offset_vectype = <vector_type 0x7ffff6ceaa80>, element_type = <real_type 0x7ffff6e2a498 double>, memory_type = <real_type 0x7ffff6e2a498 double>} (gdb) p debug_generic_expr (0x7ffff6ceaa80) vector(8) <signed-boolean:1> it's a bit difficult to avoid this during vect_check_gather_scatter where we look through the conversion from _Bool to unsigned int given this happens before pattern recog. But we can catch it easily after the fact.