https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117302
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Note flang produces the same code while ifort/ifx produces the if/then. But as mentioned in those links the code is undefined because merge does not need to be evulate the expressions conditionally.