[LLVMbugs] [Bug 16168] New: 128-bit ABI on Windows incorrectly generated
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue May 28 13:54:26 PDT 2013
http://llvm.org/bugs/show_bug.cgi?id=16168
Bug ID: 16168
Summary: 128-bit ABI on Windows incorrectly generated
Product: new-bugs
Version: 3.2
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: vtjnash at gmail.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Created attachment 10590
--> http://llvm.org/bugs/attachment.cgi?id=10590&action=edit
128-bit calling convention test code
The calling convention of calls generated for Windows x86-64 appears to be
incorrectly using an approximation of the Linux ABI instead of the Windows ABI
for 128-bit numbers.
What I expect to see is that the the number is passed on the stack with a
pointer passed in the corresponding register
(http://msdn.microsoft.com/en-us/library/zthk2dkh.aspx). What I see is that the
number is passed using two registers.
X86CallingConv.td appears to have the correct statement under CC_X86_Win64_C
that "// 128 bit vectors are passed by pointer", so I couldn't follow where in
the code the incorrect transform is being applied.
I have attached some sample code that trivially exercises the 128-bit calling
convention.
--
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/20130528/685ad11e/attachment.html>
More information about the llvm-bugs
mailing list