[LLVMbugs] [Bug 24335] New: In i386 mode, some SSE intrinsics lead to "error in backend: Do not know how to split the result of this operator!"
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Sun Aug 2 11:00:29 PDT 2015
https://llvm.org/bugs/show_bug.cgi?id=24335
Bug ID: 24335
Summary: In i386 mode, some SSE intrinsics lead to "error in
backend: Do not know how to split the result of this
operator!"
Product: new-bugs
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: dimitry at andric.com
CC: llvmbugs at cs.uiuc.edu
Classification: Unclassified
While doing a test build of the FreeBSD ports tree with clang trunk r241361, we
noticed the following failures:
http://package18.nyi.freebsd.org/data/headi386PR201377-default/2015-07-31_12h04m22s/logs/errors/lame-3.99.5_2.log
http://package18.nyi.freebsd.org/data/headi386PR201377-default/2015-07-31_12h04m22s/logs/errors/speexdsp-1.2.r3_1.log
Both of these are caused by the same thing, namely using SSE builtins while the
target architecture is i386, and the target CPU is i486 (which is still the
default on FreeBSD).
For instance, in case of lame, it uses __builtin_ia32_sqrtps(), and a reduced
testcase is:
typedef int x0 __attribute__((__vector_size__(16)));
x0 x1, x2;
x3() { x2 = __builtin_ia32_sqrtps(x1); }
In case of speexdsp, it uses __builtin_ia32_cvtps2pd(), and a reduced testcase
is:
__attribute__((__vector_size__(4 * sizeof(0)))) x0, x1;
x2() { x1 = __builtin_ia32_cvtps2pd(x0); }
For both testcases, you get the following backend crash report:
$ clang -cc1 -triple i386 -emit-obj -w testcase.c
SplitVectorResult #0: 0x2b9383a8: v4f32 = llvm.x86.sse.sqrt.ps 0x2b93830c,
0x2b938444 [ORD=5] [ID=0]
fatal error: error in backend: Do not know how to split the result of this
operator!
I think the frontend should already produce a warning or an error on calling
SSE intrinsics which are not supported by the backend. It seems a bit lame to
crash this "late" in the compilation process...
--
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/20150802/a7f2f4aa/attachment.html>
More information about the llvm-bugs
mailing list