[LLVMbugs] [Bug 23408] New: [AArch64] Incorrect code generation
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon May 4 10:31:06 PDT 2015
https://llvm.org/bugs/show_bug.cgi?id=23408
Bug ID: 23408
Summary: [AArch64] Incorrect code generation
Product: libraries
Version: 3.6
Hardware: PC
OS: All
Status: NEW
Severity: release blocker
Priority: P
Component: Backend: AArch64
Assignee: unassignedbugs at nondot.org
Reporter: simontaylor1 at ntlworld.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
Compiling the following code with any level of optimization above -O0 produces
incorrect assembly for AArch64.
====
typedef struct {float v[2];} vec2;
typedef struct {float v[3];} vec3;
vec2 getVec2();
vec3 getVec3()
{
vec2 myVec = getVec2();
vec3 res;
res.v[0] = myVec.v[0];
res.v[1] = myVec.v[1];
res.v[2] = 1;
return res;
}
====
$ clang -arch arm64 -O1 test.c -S -o -
.section __TEXT,__text,regular,pure_instructions
.globl _getVec3
.align 2
_getVec3: ; @getVec3
; BB#0:
b _getVec2
====
I haven't tested trunk, but the bug occurs on both the 3.6.0 and 3.5.2 binary
releases for OS X from the llvm.org download page, as well as the Apple LLVM
6.1 and 6.0 compilers shipped with Xcode 6.3 and 6.2 respectively.
I'm guessing it's an AArch64 backend issue, at least the armv7 code appears
correct for this test case.
--
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/20150504/56e6211b/attachment.html>
More information about the llvm-bugs
mailing list