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 leon3v7OK 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
