This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/14040] [3.3/3.4 Regression] ARM cross compiler: error: could not split insn
- From: "rearnsha at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 22 Feb 2004 01:40:25 -0000
- Subject: [Bug target/14040] [3.3/3.4 Regression] ARM cross compiler: error: could not split insn
- References: <20040206054019.14040.phillim2@comcast.net>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rearnsha at gcc dot gnu dot org 2004-02-22 01:40 -------
The problem here is that we have a define_insn_and_split that is predicable, but
splits are not generated for the auto-generated predicate variant. The
constraints currently allow an immediate that is not valid for an add or sub
insn in the assembly file, the intention being that this can be split very late
on if necessary, but that means we fail if the patern has been made cond_exec.
There are several possible solutions to this, but I'm not sure yet which is the
best:
Most robust, but least desirable is to make the pattern non-predicable.
Second might be to remove the final alternative from the pattern, but that might
cause other failures if they rely on this pattern behaving this way.
Next would be to add an explicit split for this particular pattern when it is in
its cond_exec form
Finally, we might consider making the predicate-generation code auto-generate
suitable split patterns for the cond_exec cases it creates. (this is probably
the best work-around for 3.4 and, if we make it, 3.3.4)
I'm still evaluating the best solution here.
--
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed|2004-02-09 17:51:16 |2004-02-22 01:40:25
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14040