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

    <tr>
        <th>Summary</th>
        <td>
            Does it make sense to have __builtin_assoc_barrier  as an alias to __arithmetic_fence for compatibility with GCC
        </td>
    </tr>

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

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

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

<pre>
    GCC 12 added __builtin_assoc_barrier (https://gcc.gnu.org/onlinedocs/gcc-12.1.0/gcc/Other-Builtins.html#index-_005f_005fbuiltin_005fassoc_005fbarrier). It might be useful to have __builtin_assoc_barrier  as being an alias to __arithmetic_fence for GCC compatibility. Both were added around the same time (July 2021) even.

Note GCC's __builtin_assoc_barrier does prevent contracting unlike LLVM's __arithmetic_fence currently (but that is filed as https://github.com/llvm/llvm-project/issues/91674 ). That is how I saw the name differences here.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk01vnDwUhX-N2VwNss0MhAWLfGhe5VXabqpukTEX7MbYI_uS6fz7ykyiqq0iRerGfFg-9-Gcg0rJzh6xY4c7dngo1EomxO5kfXq2qhjCeOn-u78HIUGNI47Q98NqHVnfq5SC7gcVo8UITN4YolNi1S2TRyaPs9bl7NcyxJnJY_DOehyDTtetnZClKPn1gcnjFzIYd3dX6VQaWhyTlfUj_tj1nB-mbXkbne-v47e3VwQm2xIeCRY7G4IBYU04rQ4ogFEv-C45qAQDWj-D8qCcVSkf6XsVLZkFyep-Qq8RphAhe6HDclJkB-ssXUq4C2TgjBFfHVIxrH4EMghJLQhkF8z2_L-6C0guBZMt4Av6kvEHxm-v6-dAmNWZbNK7qGPABKeYDxPo4CkqTZl89c4-Izw9ffv0KvAXvV5jRE_uklmGlYCMIrAJJusydYI_8rNk1qHUYWHy6NzL22V3iuE7amLyaFNaMQfairrZwxbA11dVE87wCEmdNyN8NmK004QxwyQwGLEsxq4a26pVBXaiEYdKikPVFKaT1b5qK6x0rdphautatDf7WtSN5lKNel_YTnK55wfBeS2kaMp6rNqxVgfR4tC0bcX2HBdlXZmRcweLDbZrRcOrwqkBXdo6L6XHM2ybTMr8C8Ru-8xhnRPbc2cTpV8qZMlh95BzsASLekZI6BN-qGUf6Ndv3YKzJZNLUazRdf8ST8OrnwEAAP__9v1Q5Q">