<div dir="ltr"><div>Are there any LLVM guidelines / documentation for handling larger-than-legal data types (either scalars or vectors)?<br><br></div>Currently, the backend may crash [1], miscompile [2], or make a big mess [3] when presented with data types that are bigger than native. <br><br>In the case of [3], is it a bug in the vectorizer to produce a non-legal vector type (<16 x i64>) or should the backend be able to handle that more reasonably? In that particular case, things are further complicated because -loop-unroll is able to completely remove the loop and the large vector type disappears.<br><br>[1] <a href="http://llvm.org/bugs/show_bug.cgi?id=19797">http://llvm.org/bugs/show_bug.cgi?id=19797</a><br>[2] <a href="http://llvm.org/bugs/show_bug.cgi?id=21184">http://llvm.org/bugs/show_bug.cgi?id=21184</a><br>[3] <a href="http://llvm.org/bugs/show_bug.cgi?id=20225">http://llvm.org/bugs/show_bug.cgi?id=20225</a><br></div>