[LLVMbugs] [Bug 22521] New: Win64 savexmm unwind opcodes are at the wrong offset in the wrong order

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Mon Feb 9 10:24:42 PST 2015


http://llvm.org/bugs/show_bug.cgi?id=22521

            Bug ID: 22521
           Summary: Win64 savexmm unwind opcodes are at the wrong offset
                    in the wrong order
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Backend: X86
          Assignee: unassignedbugs at nondot.org
          Reporter: rnk at google.com
                CC: david.majnemer at gmail.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

$ cat t.c
void g();
double f(double a, double b) {
  g();
  return a + b;
}

$ clang -m64 -O2 -S t.c -o - | grep 'xmm\|seh'
.seh_proc f
        .seh_stackalloc 72
        movaps  %xmm7, 48(%rsp)         # 16-byte Spill
        movaps  %xmm6, 32(%rsp)         # 16-byte Spill
        .seh_savexmm 6, 32
        .seh_savexmm 7, 48
        .seh_endprologue
...

The placement of the assembler directive is recorded as an offset in the object
file and we should try to get it right so that users can unwind properly from
between XMM saves.

-- 
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/20150209/264e4c7c/attachment.html>


More information about the llvm-bugs mailing list