This is the mail archive of the gcc@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]

Re: How to clean up i386 machine description?


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


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