https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118483
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- Caused by r6-2364-g2fde61e3caf4c4 We eventually might want to have a "stronger" :s which would allow simplification to a constant/singleton (but allow then unused garbage to be collected on the temporary sequence). The issue at hand was register pressure. The alternative is to enhance b == 0 != b != 0 to consider conversions rather than rely on separate transforms (but that's ugly IMO). That said, the current single-use implementation is simple, but as it allows a complex single stmt result it's to weak here. Maybe adding :S which would make us reject those would help, but the implementation might not be as trivial as NULLing out 'seq' as we do for :s.