LLVM Bugzilla is read-only and represents the historical archive of all LLVM issues filled before November 26, 2021. Use github to submit LLVM bugs

Bug 23229 - Assertion failed: ((PartVT.isInteger() || PartVT == MVT::x86mmx) && ValueVT.isInteger() && "Unknown mismatch!"), function getCopyToParts
Summary: Assertion failed: ((PartVT.isInteger() || PartVT == MVT::x86mmx) && ValueVT.i...
Status: RESOLVED DUPLICATE of bug 23244
Alias: None
Product: new-bugs
Classification: Unclassified
Component: new bugs (show other bugs)
Version: trunk
Hardware: PC All
: P normal
Assignee: Unassigned LLVM Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-14 14:55 PDT by Dimitry Andric
Modified: 2015-08-17 08:26 PDT (History)
2 users (show)

See Also:
Fixed By Commit(s):


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dimitry Andric 2015-04-14 14:55:26 PDT
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.
Comment 1 Dimitry Andric 2015-08-17 08:26:14 PDT
Mark this as a dupe of 23244, which has a nicer description.

*** This bug has been marked as a duplicate of bug 23244 ***