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

    <tr>
        <th>Summary</th>
        <td>
            Compiling atomic builtins for NVPTX emits unhelpful warnings
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:diagnostics,
            backend:NVPTX
      </td>
    </tr>

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

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

<pre>
    Using some atomic builtins emits unhelpful warnings, warning that the maximum lock free size is zero.

```
void foo(int *ptr) {
 __atomic_store_n(ptr, 1, __ATOMIC_RELAXED);
}
```
```
clang foo.c --target=nvptx64-nvidia-cuda
<foo.c>:2:5: warning: large atomic operation may incur significant performance penalty; the access size (4 bytes) exceeds the max lock-free size (0  bytes) [-Watomic-alignment]
 __atomic_store_n(ptr, 1, __ATOMIC_RELAXED);
    ^
```
And in godbolt https://godbolt.org/z/3be3rjE9f.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk02PuzYQxj_NcBkRgQ0JHDiQN6lS31T92-4tMmYA7xob2Sbd7KevIIlWWm1PlZCxrcfzjH_wCO9Vb4gqyPeQHyMxh8G66nWYG3LbqLHtrfrTK9OjtyOhCHZUEptZ6aCMRxpV8DibgfTUzRr_Ec4o03tgh-ccwyAChoFwFO9qnEfUVr5h54jQqw9C5fGDnN1AcoSkfozb5PGsy6tVLXbWAiuUCQisnoIDViLs9ncFXi733i4-WEcXA6xYNQdMl-FyqX_89stPh8sfp5_rl9MRWAn8cRZ2x29dvyylFqZfuthIjOMgXE8B-NFcp_C-zWJzVa0SsZxb8TjOD6sY-Al4zYDXOfD6iWWZ6qXGk6mdyImgrMFR3FAZOTtcvo3qlBQm4ESus24URhJOZIQON-D7FayQkry_0wRWZNjcAvmFD71LotY_8a_o40_0wIoEP9WQ7-O_7-3EQqvejGQC5Mf_jxgREfLTt1xr06Iy2Nu2sTrgEMLkgdfAzsDOj92NdT2w8wewM2-Iu9dT2W2ituJtyUsRUZVud0WR7sqCRUNFKe-2WVOWxVbIhjLOu4TSpGCUtpzleaQqljCe8DRLi7TM2KZJOl7KXZmLXdfxLIEsoVEovdH6Oi7mkfJ-pmqbZmkSadGQ9mtkGFt_C-B1q0RvrA9KemAM2AEYa4R8I9MCr3_96_cfL8t-foxctVSNm7n3kCVa-eA_fYIKmqqDHSell_R8TVxnHa7F_jN70ex09YWiCsPcbKQdgZ0Xq8crnpx9JRmAndf7eWDn9Yr_BgAA__-N6Eer">