This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/14040] [3.3/3.4 Regression] ARM cross compiler: error: could not split insn


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]