On 10/28/22 01:00, Richard Biener wrote:
On Fri, Oct 28, 2022 at 8:43 AM Dimitrije Milosevic
<dimitrije.milose...@syrmia.com> wrote:
Hi Jeff,

THe part I don't understand is, if you only have BASE+OFF, why does
preventing the calculation of more complex addressing modes matter?  ie,
what's the point of computing the cost of something like base + off +
scaled index when the target can't utilize it?
Well, the complexities of all addressing modes other than BASE + OFFSET are
equal to 0. For targets like Mips, which only has BASE + OFFSET, it would still
be more complex to use a candidate with BASE + INDEX << SCALE + OFFSET
than a candidate with BASE + INDEX, for example, as it has to compensate
the lack of other addressing modes somehow. If complexities for both of
those are equal to 0, in cases where complexities decide which candidate is
to be chosen, a more complex candidate may be picked.
But something is wrong then - it shouldn't ever pick a candidate with
an addressing
mode that isn't supported?  So you say that the cost of expressing
'BASE + INDEX << SCALE + OFFSET' as 'BASE + OFFSET' is not computed
accurately?

This is exactly what I was trying to get to.   If the addressing mode isn't supported, then we shouldn't be picking it as a candidate.  If it is, then we've probably got a problem somewhere else in this code and this patch is likely papering over it.


Jeff

Reply via email to