Closed
Description
| Bugzilla Link | 23229 |
| Resolution | DUPLICATE |
| Resolved on | Aug 17, 2015 08:26 |
| Version | trunk |
| OS | All |
| CC | @emaste |
Extended Description
As reported in https://bugs.freebsd.org/199450, clang crashes with the following assertion failure in SpiderMonkey's FoldConstants.cpp file, when compiled for the armv6--freebsd11.0-gnueabihf target:
Assertion failed: ((PartVT.isInteger() || PartVT == MVT::x86mmx) && ValueVT.isInteger() && "Unknown mismatch!"), function getCopyToParts, file /share/dim/src/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp, line 399.
This also reproduces with clang trunk r234702.
Reduced test case is:
======================================================================
a, b, c, d;
double e;
fn1() { asm("" : "=r"(a), "=&r"(b), "=&r"(c), "=&r"(d), "=&r"(e) : "4"(e)); }
Compile with:
clang -cc1 -triple armv6 -emit-obj -target-cpu arm1176jzf-s testcase.c
Note: the target-cpu setting is essential to trigger this assert.