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

    <tr>
        <th>Summary</th>
        <td>
             [OpenMP] complex reduction failure
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            openmp
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          ye-luo
      </td>
    </tr>
</table>

<pre>
    reproducer code https://github.com/ye-luo/openmp-target/blob/master/tests/complex/complex_reduction.cpp
```
$ clang++ -fopenmp -fopenmp-targets=nvptx64 -O3 -ffast-math complex_reduction.cpp && ./a.out
Testing real
Testing float
Testing double
Testing complex
Testing float
Testing double
wrong reduction value check(0,0) correct value (4950,-4950)
hierarchical parallelism wrong reduction value check(450,-450) correct value (4950,-4950)
```
regression caused by b756096b0cbef0918394851644649b3c28a886e2
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyVU01v3CAQ_TX4gmxhjFlz8CFp1FuVHnqv-Bh_pOxiAU6z_76za2_TRFWkSGPNDAPz3oOxCe7cR1hicKuFSG1wQKecl0SaO8K_oo1znlZT2XDE5AylXwMGYYHTcSmzjiNkzI0PBt1RpwwRgwwpJ_R4bPHw8hr9jIBQeQ6nyi4LYQ-E3RHJdttSLqj1-jQSfo9Gy2FD-xvssMjx4fS85BcpaPnYYHlA-PKo80T_i0YJl2i0Qjq6Cmve8H4g1_k00gjav10ZfNDvNrmwGg9v124iP3P2dwxXyJ0efdZ-BWonsL8I7xjhX_BT2DpGsHkvY0Wo9lIsN6-2ZtMMUUc7zVZ7uuiovQc_pyP9GEXsrdpPQL17qwhjhJQuva1eEzhqztQcWsmUNMwaGJiqu0aJrq2lEFIo01je6a6TwAvoaykPoq3bThaub5xqlC7ynD30lLT3j_jc376T9uF2xf9IGfTs1wjFGn3_wcR6_3xzJY75EyrEdE5phct8tt3hIIqpF8ZIzqWsdVeDOyjJrKsHe2iVZqpVovDagE89kiKcb2OIAVIr5p4zzuuaNUzgTlk5ZrhyzkhhW9QsiGBwRLbVhUQV4ljE_srHrGPCIr5UTq9Fjdc5ngB2rCcXIA4Q8w6n1zyF2G9_YnEV0l9V_AFxkjLl">