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: Adding Leon processor to the SPARC list of processors


Eric Botcazou wrote:
>> Following the recent comments by Eric, the patch now sketches the
>> following setup:
>>
>> If multi-lib is wanted:
>>  configure --with-cpu=leon ... :         creates multilib-dir soft|v8
>> combinations using [-msoft-float|-mcpu=sparcleonv8] (MULTILIB_OPTIONS =
>> msoft-float mcpu=sparcleonv8)
>>
>> If Single-lib is wanted:
>>  configure --with-cpu=sparcleonv7 --with-float=soft --disable-multilib ... 
>> : (v7 | soft | no-multilib) configure --with-cpu=sparcleonv8
>> --with-float=soft --disable-multilib ...  : (v8 | soft | no-multilib)
>> configure --with-cpu=sparcleonv7 --with-float=hard --disable-multilib ... 
>> : (v7 | hard | no-multilib) configure --with-cpu=sparcleonv8
>> --with-float=hard --disable-multilib ...  : (v8 | hard | no-multilib)
>>
>> Using --with-cpu=leon|sparcleonv7|sparcleonv8 the the sparc_cpu is switched
>> to PROCESSOR_LEON.
> 
> I'm mostly OK, but I don't think we need sparcleonv7 or sparcleonv8.  Attached 

You are right.

> is another proposal, which:
> 
>  1. Adds -mtune/--with-tune=leon for all SPARC targets.  In particular, this 
> mean that if you configure --target=sparc-{elf,rtems} --with-tune=leon, you 
> get a multilib-ed compiler defaulting to V7/FPU and -mtune=leon, with V8 and 
> NO-FPU libraries.

Ok, this scheme seems best.

> 
>  2. Adds new targets sparc-leon-{elf,linux}: multilib-ed compiler defaulting
> to V8/FPU and -mtune=leon, with V7 and NO-FPU libraries.

Ok.

> 
>  3. Adds new targets sparc-leon3-{elf,linux}: multilib-ed compiler defaulting 
> to V8/FPU and -mtune=leon, with NO-FPU libraries.
> 
> Singlelib-ed compilers are available through --disable-multilib and
>   --with=cpu={v7,v8} --with-float={soft,hard} --with-tune=leon
> for sparc-{elf,rtems} or just
>   --with=cpu={v7,v8} --with-float={soft,hard}
> for sparc-leon*-*.
> 
> The rationale is that --with-cpu shouldn't change the set of multilibs, it is 
> only the configure-time equivalent of -mcpu.  This set of multilibs should 
> only depend on the target and the presence of --disable-multilib.
> 

Ok, understood.

> 
> 	* config.gcc (sparc-*-elf*): Deal with sparc-leon specifically.
> 	(sparc-*-linux*): Likewise.
> 	(sparc*-*-*): Remove obsolete sparc86x setting.
> 	(sparc-leon*): Default to --with-cpu=v8 and --with-tune=leon.
> 	* doc/invoke.texi (SPARC Options): Document -mcpu/-mtune=leon.
> 	* config/sparc/sparc.h (TARGET_CPU_leon): Define.
> 	(TARGET_CPU_sparc86x): Delete.
> 	(TARGET_CPU_cypress): Define as alias to TARGET_CPU_v7.
> 	(TARGET_CPU_f930): Define as alias to TARGET_CPU_sparclite.
> 	(TARGET_CPU_f934): Likewise.
> 	(TARGET_CPU_tsc701): Define as alias to TARGET_CPU_sparclet.
> 	(CPP_CPU_SPEC): Add entry for -mcpu=leon.
> 	(enum processor_type): Add PROCESSOR_LEON.
> 	* config/sparc/sparc.c (leon_costs): New cost array.
> 	(sparc_option_override): Add entry for TARGET_CPU_leon and -mcpu=leon.
> 	Initialize cost array to leon_costs if -mtune=leon.
> 	* config/sparc/sparc.md (cpu attribute): Add leon.
> 	Include leon.md scheduling description.
> 	* config/sparc/leon.md: New file.
> 	* config/sparc/t-elf: Do not assemble Solaris startup files.
> 	* config/sparc/t-leon: New file.
> 	* config/sparc/t-leon3: Likewise.
> 
> 

Is the list above an indication that you are already finished with
the modifications? :-)
Can you give me a note, otherwise  I'll create a new patch that implements
the scheme you suggested.

-- Greetings Konrad






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