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]
Other format: [Raw text]

Re: Drop generic32 cost model


> On Fri, Sep 20, 2013 at 6:00 AM, Zamyatin, Igor <igor.zamyatin@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


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