https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118094
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note GCC still has not implemented the referenced paper either. So until it is implemented, the transformation is not valid as it is transforming something which is well defined to be something which might have undefined behavior in it.