[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] MiNT lib 55
> > I would agree here. The68k family is in fact splitted into two
> > sub-families :) i.e. 68000/10 at one side, and anything else at the
> > other one. Considering user code, there are almost no differences between
> > 68020 and 68060, so no real need to make specific optimizations.
>
> There are actually a great many differences that are important when
> it comes to optimization. Sure, the available user mode instructions
> are more or less the same (I believe the '020 is the only one with
> CALLM, and some things were removed in the '060), but the timings and
> the cache behaviour vary significantly. And, after all, the timings are
> usually what's interesting when you're talking about optimization.
The CALLM (and RTM) is only present in 020, yes. And the 060 does not have
some 32-bit multiply/division which is supported by the
020/30/040. However, as far as I remember the gcc generated code, the
compiler does not take this into account allowing the 060 software package
to emulate the missing instructions. I may be wrong in this point,
however, this does not imply anything important regarding the 68030
optimizations.
Sure, timings are different, and it can be easily noticed that the 68060
optimized code uses e.g. adda.w instead of lea to correct the
stack. Again, considering the 68030, there is little difference.
The cache size (I believe) could be only taken into account when
performing -funroll-loops, however, the -O3 optimization in question does
not enable this.
--
Konrad M.Kokoszkiewicz
mail: draco@atari.org
http://draco.atari.org
** Ea natura multitudinis est,
** aut servit humiliter, aut superbe dominatur (Liv. XXIV,25)
*************************************************************
** Taka to juz natura pospolstwa, ze albo sluzy ono unizenie,
** albo bezczelnie sie panoszy.