https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67449
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- This works for me on the trunk of GCC on aarch64-linux-gnu but that might be because of different behavior with respect of conditional moves.