Hi,

On 10/02/2014 11:22 PM, Eric Botcazou wrote:
[Sorry for the long delay]

The LEON3/4 soft-core CPU has support for both SPARCv7 and SPARCv8 that
is configurable at design time. The majority of the LEON3 ASICs are v8
compatible, however when designing an as small LEON3 as possible, v7
without FPU is frequently used.

The current GCC leon3 support implies the SPARCv8 instruction set
which is not compatible with SPARCv7. Relying on the standard SPARCv7
(-mcpu=v7) target for a LEON3-V7 is not feasible since the atomic
instruction (CAS) can not be generated by standard v7 target. This
is also a problem for binaries aiming to be compatible with all LEON3/4
processors.

  * config.gcc (sparc*-*-*): Accept mcpu=leon3v7 processor
  * doc/invoke.texi (SPARC options): add mcpu=leon3v7 comment
  * config/sparc/leon.md (leon3_load, leon_store, leon_fp_*):
    handle leon3v7 as leon3
  * config/sparc/sparc-opts.h (enum processor_type): Add PROCESSOR_LEON3V7
  * config/sparc/sparc.c (sparc_option_override): add leon3v7 support
  * config/sparc/sparc.h (TARGET_CPU_leon3v7): new define
  * config/sparc/sparc.md (cpu): add leon3v7
  * config/sparc/sparc.opt (enum processor_type): Add leon3v7
OK for all branches (it should apply everywhere I think).

I have sent an updated patch just now. In case -Aleon does not exist it should 
select -Av7 instead of -Av8.

I don't remember if I already asked... does Aeroflex/Gaisler have a copyright
assignment on file for GCC?  If so, do you also want to have SVN write access?
Yes, we have. Just verified that with the FSF. It would be a nice for us to 
have write access to the sparc parts.

Thanks!
Daniel

Reply via email to