https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93063
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2020-01-09 CC| |rguenth at gcc dot gnu.org Ever confirmed|0 |1 --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- I belive gimple_assign_unary_nop_p is failing to notice bit-level truncations/extensions since it only checks the mode. Likely noticable when you make either the lhs or the rhs access an array of say struct { short a : 3 }; and do q[i].a. Otherwise confirmed. Might also apply to VIEW_CONVERTs of int to float for example, to get this the source would use a union temporary like u.f = *q++; *p++ = u.i; or so. Just to add more cases we miss ;)