<html>
    <head>
      <base href="https://bugs.llvm.org/">
    </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 - [ms] clang-cl and MSVC differ on some inline assembly manipulating function pointers"
   href="https://bugs.llvm.org/show_bug.cgi?id=44503">44503</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>[ms] clang-cl and MSVC differ on some inline assembly manipulating function pointers
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

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

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

        <tr>
          <th>OS</th>
          <td>All
          </td>
        </tr>

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

        <tr>
          <th>Severity</th>
          <td>enhancement
          </td>
        </tr>

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

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

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

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

        <tr>
          <th>CC</th>
          <td>htmldeveloper@gmail.com, llvm-bugs@lists.llvm.org
          </td>
        </tr></table>
      <p>
        <div>
        <pre>Created <span class=""><a href="attachment.cgi?id=23006" name="attach_23006" title="Examples of differing behavior">attachment 23006</a> <a href="attachment.cgi?id=23006&action=edit" title="Examples of differing behavior">[details]</a></span>
Examples of differing behavior

While investigating <a href="http://llvm.org/PR44272">http://llvm.org/PR44272</a>, I've found many cases where inline
assembly that manipulates function pointers compiles to different results with
cl.exe and clang.

Specifically, mov and lea behave badly when addressing most function pointer
values. lea is sometimes functionally equivalent on x86, but breaks if used on
x86-64.

Also, branching instructions (call, jmp, jcc, etc.) differ in handling any case
involving arithmetic on a function pointer.

The attachment contains specific examples.</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>