<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><span class="vcard"><a class="email" href="mailto:rjmccall@apple.com" title="John McCall <rjmccall@apple.com>"> <span class="fn">John McCall</span></a>
</span> changed
              <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Optimized code contains illegal movaps instruction when using aligned attribute in typedef"
   href="https://llvm.org/bugs/show_bug.cgi?id=28410">bug 28410</a>
        <br>
             <table border="1" cellspacing="0" cellpadding="8">
          <tr>
            <th>What</th>
            <th>Removed</th>
            <th>Added</th>
          </tr>

         <tr>
           <td style="text-align:right;">Status</td>
           <td>NEW
           </td>
           <td>RESOLVED
           </td>
         </tr>

         <tr>
           <td style="text-align:right;">Resolution</td>
           <td>---
           </td>
           <td>INVALID
           </td>
         </tr></table>
      <p>
        <div>
            <b><a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Optimized code contains illegal movaps instruction when using aligned attribute in typedef"
   href="https://llvm.org/bugs/show_bug.cgi?id=28410#c8">Comment # 8</a>
              on <a class="bz_bug_link 
          bz_status_RESOLVED  bz_closed"
   title="RESOLVED INVALID - Optimized code contains illegal movaps instruction when using aligned attribute in typedef"
   href="https://llvm.org/bugs/show_bug.cgi?id=28410">bug 28410</a>
              from <span class="vcard"><a class="email" href="mailto:rjmccall@apple.com" title="John McCall <rjmccall@apple.com>"> <span class="fn">John McCall</span></a>
</span></b>
        <pre>Your code has undefined behavior: it's accessing a pointer whose type claims
that it has a certain alignment when the actual pointer does not.  The compiler
is allowed to assume that explicit alignment attributes are, in fact, correct. 
It is reasonable for the compiler to be more aggressive in the face of this
kind of information because the programmer took explicit steps to provide it.

It is likely that other compilers are not generating this particular
highly-aligned access simply because they're not fusing multiple accesses. 
LLVM is more aggressive about this kind of optimization.</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>