[LLVMbugs] [Bug 20393] New: Cannot select v2f64 = vector_shuffle
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Mon Jul 21 17:51:10 PDT 2014
http://llvm.org/bugs/show_bug.cgi?id=20393
Bug ID: 20393
Summary: Cannot select v2f64 = vector_shuffle
Product: libraries
Version: trunk
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Backend: X86
Assignee: unassignedbugs at nondot.org
Reporter: nlewycky at google.com
CC: chandlerc at gmail.com, llvmbugs at cs.uiuc.edu
Classification: Unclassified
$ clang -cc1 -triple x86_64-unknown-linux-gnu -emit-obj -O2 -std=gnu++11 -x c++
x.ii
Testcase:
typedef double __m128d __attribute__((__vector_size__(16)));
__m128d ploadu();
__m128d ploadu(__m128d *ptr) {
__m128d a;
struct B {
__m128d __v;
} __attribute__((packed));
a = ((B *)ptr)->__v;
return a;
}
void use(int);
void test(__m128d *ptr) {
__m128d C_c = ploadu(ptr);
use(C_c[1]);
}
Output:
fatal error: error in backend: Cannot select: 0x2c1aed8: v2f64 = vector_shuffle
0x2c1afe0, 0x2c1a9b0<1,1> [ORD=3] [ID=11]
0x2c1afe0: v2f64,ch = load 0x2bdb080, 0x2c1b0e8,
0x2c1acc8<LD16[%ptr](align=1)(tbaa=<badref>)> [ORD=2] [ID=10]
0x2c1b0e8: i64,ch = CopyFromReg 0x2bdb080, 0x2c1b1f0 [ORD=1] [ID=9]
0x2c1b1f0: i64 = Register %vreg0 [ID=1]
0x2c1acc8: i64 = undef [ID=2]
0x2c1a9b0: v2f64 = undef [ID=8]
In function: _Z4testPDv2_d
--
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/20140722/c65f37f2/attachment.html>
More information about the llvm-bugs
mailing list