Problem updating 2yr old port
Christian Grössler
chris@groessler.org
Tue Dec 28 01:03:00 GMT 2010
On 28.12.10 00:22, Ian Lance Taylor wrote:
> Christian Grössler<chris@groessler.org> writes:
>
>> Looking at the history of optabs.c, the MODE_CC test was introduced when merging the cond-optab branch
>> to main. I didn't find a description of the cond-optab branch and what it was supposed to do.
>
> This is the description of the now-merged cond-optab branch, from
> http://gcc.gnu.org/ml/gcc/2009-04/msg00211.html :
>
> This branch is to clean up and simplify the implementation of
> conditional operations (branches, stores, moves, etc.) in expand and
> in the machine descriptions. Patches should be marked with the tag
> [cond-optab] in the subject line. The branch is maintained by Paolo
> Bonzini. Pending further testing, the branch is ready to be merged
> into mainline and only bug and documentation fixes should be
> committed.
>
> As I recall the basic idea was to generate all conditional branches via
> the cbranchMODE4 pattern rather than using separate compare and branch
> patterns.
Yeah, so I seem to need to add a cbranchMODE4 pattern. I tried it, but it didn't help.
Probably because I'm not fit enough yet to write a proper pattern (I copied one from
ia64 and modified it to see if it gets picked up, but it didn't happen).
> I couldn't figure out which assertion you hit so I'm not sure what else
> to say. A const_int is always VOIDmode, and there should be no problem
> comparing a value to a const_int.
Sorry, the line numbers in the ICE are wrong, since I added some debug messages.
The abort happens here in prepare_cmp_insn():
/* Handle a libcall just for the mode we are using. */
libfunc = optab_libfunc (cmp_optab, mode);
gcc_assert (libfunc); <------ HERE
regards,
chris
More information about the Gcc
mailing list