[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 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? -- Eric Botcazou