This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: How to clean up i386 machine description?
- To: rth at cygnus dot com
- Subject: Re: How to clean up i386 machine description?
- From: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Date: Thu, 12 Nov 1998 20:30:46 +0000 (GMT)
- Cc: hubicka at horac dot ta dot jcu dot cz, rth at cygnus dot com, howell at cs dot stanford dot edu, law at cygnus dot com, pcg at goof dot com, egcs at cygnus dot com
> Special patterns for inc/dec is ok, but which_alternative cannot
> handle implementation specific instruction selection.
special patterns for inc/dec are actually a problem; they should not be
enabled before reload.
If you need to order instruction alternatives differently for different
CPUs or use different constraint modifiers so that the alternative
selection is changed, currently the only way is to have different
patterns for the different CPUs.
I'm afraid this doesn't sound like much of a cleanup...
>
> > Also in some cases using attrubutes should be impossible. For example
> > in many cases the non-prefix opcode is emited when cc0_probably_useless
> > function is true. This decision is cotext depenedent.
>
> There must be another way to solve this. I will have to think
> on this further.
The cc0_probably_useless hack is probably useless. It violates the
assumtions of gcc about targets that use cc0.
I think you have to re-write the i386 target to explicitly use
condition code registers (AFAIK there are actually separate integer
and fp condition code registers?). These should probably be fixed
registers.