This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] SPARC: add mcpu=leon3v7 target
- From: Daniel Hellstrom <daniel at gaisler dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: gcc-patches at gcc dot gnu dot org, joel dot sherrill at oarcorp dot com, Sebastian dot Huber at embedded-brains dot de, software at gaisler dot com
- Date: Fri, 03 Oct 2014 16:17:29 +0200
- Subject: Re: [PATCH] SPARC: add mcpu=leon3v7 target
- Authentication-results: sourceware.org; auth=none
- References: <1408546862-8236-1-git-send-email-daniel at gaisler dot com> <8448295 dot tdP4sAQGce at polaris>
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
* 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.