<div dir="ltr"><div><div><div>Steven's problem sounds similar to:<br><a href="http://llvm.org/bugs/show_bug.cgi?id=19416">http://llvm.org/bugs/show_bug.cgi?id=19416</a><br><br></div>The cpu/feature flags aren't being passed through correctly with -flto?<br><br></div>In bug 17909, the run script shows "-target-cpu core2" for code that includes AVX.<br><br></div>Is this expected behavior?<br><br>$ cat avx.ll <br>define <4 x double> @wrap_a_round(<4 x double> %a) {<br>  %round = tail call <4 x double> @llvm.x86.avx.round.pd.256(<4 x double> %a, i32 0)<br>  ret <4 x double> %round<br>}<br><br>declare <4 x double> @llvm.x86.avx.round.pd.256(<4 x double>, i32)<br><br>$ ./llc -mcpu=core2 avx.ll <br>SplitVectorResult #0: 0x7fdc29849970: v4f64 = llvm.x86.avx.round.pd.256 0x7fdc29849750, 0x7fdc29849640, 0x7fdc29849860 [ORD=2] [ID=0]<br><br>LLVM ERROR: Do not know how to split the result of this operator!<br><br><br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Dec 13, 2014 at 5:49 PM, Craig Topper <span dir="ltr"><<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">This sounds like the somehow the frontend is allowing the intrinsic to be used but the backend thinks it not legal and is trying to split the vector type to a legal type.<div><br></div><div>Can you provide your source and command line.</div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Sat, Dec 13, 2014 at 2:17 PM, Steven Noonan <span dir="ltr"><<a href="mailto:steven@uplinklabs.net" target="_blank">steven@uplinklabs.net</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm getting this on LLVM trunk:<br>
<br>
SplitVectorResult #0: 0x27e6250: v8f32 = llvm.x86.avx.rsqrt.ps.256<br>
0x2739310, 0x2739420 [ORD=16] [ID=0]<br>
LLVM ERROR: Do not know how to split the result of this operator!<br>
clang: error: linker command failed with exit code 1 (use -v to see invocation)<br>
<br>
Oddly, when I build the same code without -flto I don't see this issue.<br>
<br>
I see a similar bug was reported over a year ago and has had no<br>
activity (though it doesn't use LTO):<br>
<a href="http://llvm.org/bugs/show_bug.cgi?id=17909" target="_blank">http://llvm.org/bugs/show_bug.cgi?id=17909</a><br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
</blockquote></div><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br><div>~Craig</div>
</font></span></div>
<br>_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
<br></blockquote></div><br></div>