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





Reply via email to