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: -mtune=generic for i386 backend


> On Wed, Jan 18, 2006 at 08:29:42PM +0100, Jan Hubicka wrote:
> > > On Wed, Jan 18, 2006 at 08:35:12AM +0100, Jan Hubicka wrote:
> > > > Perhaps I can add two "generic" entries in the first to keep numeric
> > > > values in sync?
> > > 
> > > Or just a comment, and we'll remember why the missing 32/64,
> > > and skip a number later.
> > 
> > If we would skip a number, we would get the string array out of sync.  
> > The TARGET_CPU_* and TARGET_CPU_DEFAULT_NAMES are really independent of
> > PROCESSOR_* enumeration that needs to be in sync with "cpu" attribute.
> > 
> > I am testing the attached patch with new comments and the dupliced entry
> > with comment, but those enumerations are really out of sync already:
> > 
> > enum processor_type
> > {
> >   PROCESSOR_I386,			/* 80386 */
> >   PROCESSOR_I486,			/* 80486DX, 80486SX, 80486DX[24] */
> >   PROCESSOR_PENTIUM,
> >   PROCESSOR_PENTIUMPRO,
> >   PROCESSOR_K6,
> >   PROCESSOR_ATHLON,
> >   PROCESSOR_PENTIUM4,
> >   PROCESSOR_K8,
> >   PROCESSOR_NOCONA,
> >   PROCESSOR_GENERIC32,
> >   PROCESSOR_GENERIC64,
> >   PROCESSOR_max
> > };
> > 
> > wrt
> > 
> > #define TARGET_CPU_DEFAULT_i386 0
> > #define TARGET_CPU_DEFAULT_i486 1
> > #define TARGET_CPU_DEFAULT_pentium 2
> > #define TARGET_CPU_DEFAULT_pentium_mmx 3
> > #define TARGET_CPU_DEFAULT_pentiumpro 4
> > #define TARGET_CPU_DEFAULT_pentium2 5
> > #define TARGET_CPU_DEFAULT_pentium3 6
> > #define TARGET_CPU_DEFAULT_pentium4 7
> > #define TARGET_CPU_DEFAULT_k6 8
> > #define TARGET_CPU_DEFAULT_k6_2 9
> > #define TARGET_CPU_DEFAULT_k6_3 10
> > #define TARGET_CPU_DEFAULT_athlon 11
> > #define TARGET_CPU_DEFAULT_athlon_sse 12
> > #define TARGET_CPU_DEFAULT_k8 13
> > #define TARGET_CPU_DEFAULT_pentium_m 14
> > #define TARGET_CPU_DEFAULT_prescott 15
> > #define TARGET_CPU_DEFAULT_nocona 16
> > #define TARGET_CPU_DEFAULT_generic 17
> > 
> > One is enumerating internal names (that include two generics) other
> > external names for config machinery, so perhaps we don't really need to
> > worry here.  I also added the comments as requested and fixed typos.
> > 
> 
> We have
> 
> #ifndef TARGET_CPU_DEFAULT
> #ifdef TARGET_64BIT_DEFAULT
> #define TARGET_CPU_DEFAULT TARGET_CPU_DEFAULT_k8
> #else
> #define TARGET_CPU_DEFAULT 0
> #endif
> #endif
> 
> I'd like to chane it to
> 
> #define TARGET_CPU_DEFAULT TARGET_CPU_DEFAULT_generic

This seems fine with me, but is there some case we can get through
config.gcc without defining any TARGET_CPU_DEFAULT?
Perhaps this can be all dropped.

Sorry for the typo in email address.

Honza
> 
> 
> H.J.


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