[llvm-bugs] [Bug 42361] New: Illegal aligned store for odd-sized byval argument
via llvm-bugs
llvm-bugs at lists.llvm.org
Sat Jun 22 03:44:04 PDT 2019
https://bugs.llvm.org/show_bug.cgi?id=42361
Bug ID: 42361
Summary: Illegal aligned store for odd-sized byval argument
Product: libraries
Version: trunk
Hardware: All
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Common Code Generator Code
Assignee: unassignedbugs at nondot.org
Reporter: nikita.ppv at gmail.com
CC: llvm-bugs at lists.llvm.org
%struct = type { [31 x i8] }
declare void @foo(%struct* align 16 byval) nounwind
define void @test1(%struct* nocapture %x) nounwind {
call void @foo(%struct* align 16 byval %x)
ret void
}
Using -mcpu=haswell gives:
subq $40, %rsp
vmovups 15(%rdi), %xmm0
vmovaps %xmm0, 15(%rsp)
vmovaps (%rdi), %xmm0
vmovaps %xmm0, (%rsp)
callq foo
addq $40, %rsp
retq
The first vmovaps should be a vmovups.
The problem is that alignment is not correctly computed for MachinePointerInfo
with unknown base value. I have an old patch for this lying around at
https://reviews.llvm.org/D54419.
--
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/20190622/d3ff5f72/attachment-0001.html>
More information about the llvm-bugs
mailing list