> On Fri, Sep 20, 2013 at 6:00 AM, Zamyatin, Igor <igor.zamya...@intel.com> 
> wrote:
> >
> > For x86 32-bit is still important due to mobile market so we would like to 
> > make some measurements first to see how this new generic model works on 32 
> > bits

I assume by mobile market you mean atom CPU these days (not Pentium-M generic32
was tuned for).
> 
> I would expect people compiling code for the mobile market to use an
> appropriate -mtune option.  What this patch affects is the default
> tuning.

I agree here. Moreover the 32bit generic model is not at all that new.  It is
same as the old code only flipping the four flags I mentioned plus changing the
scheduling to K8 instead of PPro based model.  The flags changed are:
 use_leave - this was there because pentium-M was slow on leave instructions.
             How does atom behave here?
 avoid_vector_decode - this is affecting gneration of integer->FP conversions
             K8 preferred to use vector instructions to avoid penalty.
             We now enable the flag:
               m_CORE_ALL | m_K8 | m_GENERIC64
             I suppose we enabled it for Generic as a result of the overall 
ideology
             of not using instructions in generic that have evil performance
             on one of CPUs we consider important for generic.
             I think the flag was copied to CORE as a result of core tunning 
being
             based on generic tuning and hsould be dropped - both from core and
             generic based on fact that newer AMD CPUs do not care.
 slow_imul_imm32_mem 
 slow_imul_imm8
             This enables splitting of those instructions into move+mul that 
should
             not be terrible for atom either.

             Again, I think this flag is mistakely enabled for core.
             I need to dig up the thread we had last year about dropping
             some of these - as I recall, all except for inc/dec was fine.

Honza
> 
> Ian

Reply via email to