http://llvm.org/bugs/show_bug.cgi?id=20393
Chandler Carruth <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #1 from Chandler Carruth <[email protected]> --- (In reply to comment #0) > $ 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 No idea when, but this is fixed in ToT. -- You are receiving this mail because: You are on the CC list for the bug.
_______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
