<div dir="ltr"><br clear="all"><div>Hi all,</div><div><br></div><div>The attached LLVM assembly file fails to generate x86 code when compiled using llc.</div><div><br></div><div>compilation command - ../llvm-build/bin/llc -filetype=asm -march=x86-64 -mcpu=core-avx2 ex4.ll</div><div><br></div><div>The error message is,</div><div><br></div><div><div>LLVM ERROR: Cannot select: t95: v8f32 = X86ISD::SUBV_BROADCAST t17</div><div>  t17: v4f32,ch = load<LD16[%scevgep](tbaa=<0x4dbcd98>)> t0, t16, undef:i64</div><div>    t16: i64 = add t2, Constant:i64<16></div><div>      t2: i64,ch = CopyFromReg t0, Register:i64 %vreg5</div><div>        t1: i64 = Register %vreg5</div><div>      t15: i64 = Constant<16></div><div>    t4: i64 = undef</div><div>In function: _ZN10soundtouch12TDStretchSSE13calcCrossCorrEPKfS2_Rd</div></div><div><br></div><div><br></div><div>I dug into the LLVM assembly file and found out that the error is caused by the following 2 lines (Line 89 and 90).</div><div><br></div><div><div>%8 = shufflevector <4 x float> %6, <4 x float> %6, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7></div><div>  %9 = shufflevector <4 x float> %6, <4 x float> %7, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7></div></div><div><br></div><div>Could anyone help me understand what this error is?</div><div><br></div><div>Your help will be highly appreciated.</div><div><br></div>-- <br><div class="gmail_signature">Kind regards,<br>Charith Mendis<br><br></div>
</div>