<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/89529>89529</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            flang-new 19.0.0 bug: `nan > 0`, `nan > 1`
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          zaikunzhang
      </td>
    </tr>
</table>

<pre>
    Hi,

This is a bug of flang-new 19.0.0, when invoked with `-Ofast` (This is not recommended in general. I know).

Code (latest version available at https://github.com/zequipe/test_compiler/blob/master/test_flang_nan.f90):
```fortran
! test_flang_nan
program test_flang_nan
use ieee_arithmetic, only : ieee_value, ieee_signaling_nan, ieee_quiet_nan
! The problem occurs with REAL64 and REAL32, not REAL16 or REAL128.
use iso_fortran_env, only : RP => REAL32 !REAL64

implicit none
real(RP) :: nan

nan = ieee_value(0.0_RP, ieee_signaling_nan)
! nan = ieee_value(0.0_RP, ieee_quiet_nan)  ! The same problem

print *, nan > 0, nan > 1, nan < 0, nan < 1

if (nan > 0 .or. nan > 1 .or. nan < 0 .or. nan < 1) then
    error stop 1
end if

end program test_flang_nan
``` 

Test:
```bash
uname -a && flang --version && flang -Ofast test_flang_nan.f90 && ./a.out
```

Result:
```text
Linux 6.5.0-28-generic #29~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr  4 14:39:20 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
flang-new version 19.0.0git (git@github.com:llvm/llvm-project.git 37c175af955f0aeab67e8c553a0a47b2ed0fdba2)
Target: x86_64-unknown-linux-gnu
Thread model: posix
 T T F F
Fortran ERROR STOP: code 1

IEEE arithmetic exceptions signaled: INVALID
```

Thank you for taking a look. 
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVd2OozgTfRrnphRkzE_gIhf50uHbluanlcmstFeRgQK8bWzGNumeudhnXxmSTjLTGq0UBapsHx9OlY-5taJViGuS_I8kDws-uk6b9Q8unkf1o-OqXZS6_r7-QxC2JfSB0M38f-iEBWGBQzm2oBtoJFftUuELhHlAA0rYFl46VCDUST9jDS_CdUBSuvzccOtISoGw7AKjtAODle57VDXWIBS0qNBwGcAjPCv9Qlge3BLY6ho9guQOrYMTGiu0An7iQvJSInAHnXODJdGGsIKwohWuG8ug0j1hxQ_8NooBCSv88mOl-0FINIQVpdQlYUXPrZviaXz6uqPiKmhySljuQWcyKZ1_jTbOcHXOshDu1835wejW8P7dsdEiCEQ8ciNc16MTlddQK_kdSLSZx05cjujTU-Rrx6U4o1yy30aB7orruRw6hMHoUmIPuqpGY-dy7HebD2kMXNXTa8Q8iK-Fj8IUtJnfWBbckLT6eP7aI6rTHcn9E5DogUS7Mx4QFs6b3NZO9IMUlXCgtMI5ZZBLwrL9E2G5R_Jg10-Y_hVXHvxOiIwG9OgXva9IfpXgv6y-KsdygItwlvdv6t3yGYxQDgjbTKJN8Dugt0F4Dba3I1sI7-RofCO_IUCgTXDFuA2396Meh-XgOjwLBQCAxmgD1unhsguqGkRzu6PP_K4X37oa7s48Wvdr45fcdufmUF6pJQfCUsLS2RJgubyczfv0ZAPw6-m6TAsIK3igR_fTfreM9mhH-Q4nh6_nZR-EGl8hDZKALlm2nExFVEBYxPJ_GAtoHITLr-Wo3AhfPj7B0363-_h0OD789Wnz8XELh26EzWAAYghjEm0if_QZha-HLTB4zdJjGv_0-P-nr4QV08Yzh6s1XpSYLbIVvn2yVjgS0xt3ijZSnrxJ-cdyMPpvrFzgZ0erKlwlvMmTpKEceZmuMKuSJOKUx6uSYU2buuTsrfMP3LToBTqTW47Km6laSk9v2arxYucGeQ29rlH62YO24sweDnCAAoo5KuaDD7v9_vMevhw-P_nplTfju55-3O12cHUywNcKBye0sjCfUaz9wsdPf24-PD78psSHjqtn-K5HaLQBx5-FaoGD1Po5gEW9juo8yvkC1-EqjNJVktJ00a1rGic5jZIM6yiJaVgnIc2bMM5xlUTpKl2INaMspjELaUIpTYOa0SyrWB7VfJVh1ZCYYs-FDHwRAm3ahbB2xHWWJyxfSF6itNOtyZiv7DRIGPOXqFlPhSvH1pKYSmGdvaI44SSuf74t_S3q9SApvTpJOlnGTSokKV2MRq5_c7G90zqEFRM9S1gx0f83AAD__wvBXJ4">