[llvm-bugs] [Bug 44503] New: [ms] clang-cl and MSVC differ on some inline assembly manipulating function pointers

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Jan 9 10:56:17 PST 2020


https://bugs.llvm.org/show_bug.cgi?id=44503

            Bug ID: 44503
           Summary: [ms] clang-cl and MSVC differ on some inline assembly
                    manipulating function pointers
           Product: new-bugs
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: epastor at google.com
                CC: htmldeveloper at gmail.com, llvm-bugs at lists.llvm.org

Created attachment 23006
  --> https://bugs.llvm.org/attachment.cgi?id=23006&action=edit
Examples of differing behavior

While investigating http://llvm.org/PR44272, 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.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200109/31beaab1/attachment.html>


More information about the llvm-bugs mailing list