This is the mail archive of the gcc-patches@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: ADDRESS_COST cleanups


> > +      Following addressing mode are affected:
> > +       [base+scale×index]
> > +       [scale×index+disp]
> > +       [base+index]
> > +    
> > +      The first and last case  may be avoidable by explicitly coding the zero in
> > +      memory address, but I don't have AMD-K6 machine handy to check this
> > +      theory.  */
> > + 
> > +   if (TARGET_K6
> > +       && ((!parts.disp && parts.base && parts.index && parts.scale != 1)
> > + 	  || (parts.disp && !parts.base && parts.index && parts.scale != 1)
> > + 	  || (!parts.disp && parts.base && parts.index && parts.scale == 1)))
> 
> I thought decompose_address already looked for this and inserted
> a zero displacement as appropriate?

It is looking only for ESI addressing modes. (%esi)
These cases are quite different and the benefits differs too, so I would
rather to do some benchmarking first, and I need some K6 handy.

I have some K6 releated stuff waiting on my friend's hdd, so I need to find
time to complete all this stuff and send it.

Honza
> 
> 
> r~

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