https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120704
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I am 100% sure this is undefined behavior free. We have: &c +l + cst The only defined value for l is 0 or 1. And with cst not being 0 or 1, this is almost definitely undefined.