<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - atomicrmw and cmpxchg should support align attribute"
   href="https://llvm.org/bugs/show_bug.cgi?id=27168">27168</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>atomicrmw and cmpxchg should support align attribute
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>libraries
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>Core LLVM classes
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>jyknight@google.com
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Currently, atomic load/store instructions support an align attribute, and
require that it be specified (you can't use the default ABI alignment like with
non-atomic load/store). On the other hand, cmpxchg and atomicrmw don't support
an align attribute at all. They just assume the pointer has natural alignment.

I'd like to be able to specify alignment for atomicrmw and cmpxchg, and,
further, I think it should be required just like atomic load/store. This will
make the atomic ops be consistent, but more importantly, will let clang lower
even unaligned atomics access to llvm IR (which is part of my long-term plan
for atomics cleanup).</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>