Message ID | 8312738.ciDlLVGyTE@polaris |
---|---|
State | New |
Headers | show |
On 01/05/15 16:15, Eric Botcazou wrote: > Hi, > > the attached patch removes obsolete ports (c4x, m68hc11 and ms1), toggles the > 'p' letter and adjust accordingly (only avr, fr30, m68k, mcore, rs6000 and sh > still use define_peephole) and removes trailing spaces. > > OK to commit? > > Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant > maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc). This is fine. I might claim updating this shouldn't ever require a review :-) jeff
On 01/05/2015 04:15 PM, Eric Botcazou wrote: > Hi, > > the attached patch removes obsolete ports (c4x, m68hc11 and ms1), toggles the > 'p' letter and adjust accordingly (only avr, fr30, m68k, mcore, rs6000 and sh > still use define_peephole) and removes trailing spaces. > > OK to commit? > > Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant > maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc). I think that for nios2 the correct entry is probably "SCpd", but the descriptions of some of the things in the table are too terse for me to be 100% sure that's correct. E.g., the nios2 architecture doesn't include the concept of "condition codes" at all, so how many registers they might occupy seems irrelevant. And, I think the "S" (no free simulator) situation will probably be resolved soon, and it's hardly a property of either the architecture or the GCC port.... -Sandra
> Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant > maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc). The page is directly browsable at https://gcc.gnu.org/backends.html For the moxie, nvptx, rl178 and rx ports, maintainers can send me the string as Sandra did for the nios2 port and I'll update the document.
Hi Eric, On Wed, Jan 7, 2015 at 2:39 AM, Eric Botcazou <ebotcazou@adacore.com> wrote: > The page is directly browsable at https://gcc.gnu.org/backends.html > > For the moxie, nvptx, rl178 and rx ports, maintainers can send me the string > as Sandra did for the nios2 port and I'll update the document. Xtensa is now supported by the QEMU, so probably question mark in its 'S' slot may be removed.
> Xtensa is now supported by the QEMU, so probably question mark in its 'S' > slot may be removed. Done, thanks.
On 01/07/2015 12:39 AM, Eric Botcazou wrote: >> Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant >> maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc). > > The page is directly browsable at https://gcc.gnu.org/backends.html > > For the moxie, nvptx, rl178 and rx ports, maintainers can send me the string > as Sandra did for the nios2 port and I'll update the document. For nvptx it's not really clear what to use in some cases, and in others I have no idea why we would need to keep track of these "characteristics". H - you could argue a hardware implementation does not exist as it's a virtual target, but it can obviously be compiled down to run on hardware that does exist. Q - "registers" are typed and you can declare 64 bit registers, so probably this is true f - Not even sure what this is about. It only defines a small epilogue pattern. a - Port uses neither LRA nor reload. Might be a new characteristic (along with several others). The closest string is probably SQCqfbde Bernd
> H - you could argue a hardware implementation does not exist as it's a > virtual target, but it can obviously be compiled down to run on > hardware that does exist. Agreed. > Q - "registers" are typed and you can declare 64 bit registers, so > probably this is true OK. > f - Not even sure what this is about. It only defines a small epilogue > pattern. I think this means that the port still uses asm prologue/epilogue. That's not the case here, so 'f' should probably be omitted and 'g' be added. As a matter of fact, there are no ports left with 'f'. > a - Port uses neither LRA nor reload. Might be a new characteristic > (along with several others). > > The closest string is probably > > SQCqfbde Thanks, I have installed "SQCqgbde" based on the discussion above.
Eric Botcazou <ebotcazou@adacore.com> writes: > Some ports are missing (lm32, moxie, nios2, nvptx, rl78, rx) so the relevant > maintainers are CCed (see 6.3.9 Anatomy of a Target Back End in the doc). I think I got this right.... | Characteristics Target | HMSLQNFICBD lqrcpfgmbdiates -----------+---------------------------- moxie | F g d s AG
> I think I got this right.... > > | Characteristics > > Target | HMSLQNFICBD lqrcpfgmbdiates > -----------+---------------------------- > moxie | F g d s Thanks, applied, but I think that 't' could be added because AFAICS every insn (not expander) generates exactly 1 assembly instruction. Not very important though since only iq2000 and mep also have this nice property.
Index: backends.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/backends.html,v retrieving revision 1.51 diff -u -r1.51 backends.html --- backends.html 22 Sep 2014 13:46:25 -0000 1.51 +++ backends.html 5 Jan 2015 23:07:09 -0000 @@ -47,7 +47,7 @@ r Port can switch between ILP32 and LP64 at runtime. (Not necessarily supported by all subtargets.) c Port uses cc0. -p Port does not use define_peephole. +p Port uses define_peephole (as opposed to define_peephole2). f Port does not define prologue and/or epilogue RTL expanders. g Port does not define TARGET_ASM_FUNCTION_(PRO|EPI)LOGUE. m Port does not use define_constants. @@ -66,49 +66,46 @@ | Characteristics Target | HMSLQNFICBD lqrcpfgmbdates ---------+--------------------------- -aarch64 | Q q p g da s -alpha | ?? Q C q p g bda e -arc | B p g da +aarch64 | Q q g da s +alpha | ?? Q C q g bda e +arc | B g da arm | da s -avr | L FI l c g b -bfin | F p g da -c4x | ?? N I BD g d e -c6x | S CB p g bda +avr | L FI l cp g b +bfin | F g da +c6x | S CB g bda cr16 | L F C g s -cris | F B cp g b a s -epiphany | C p g bda s -fr30 | ?? FI B gm s -frv | ?? B p da s -h8300 | FI cp g s -i386 | ? Q q p da -ia64 | ? Q C qr p da -iq2000 | ??? FICB p g d t -m32c | L FI l p g s +cris | F B c g b a s +epiphany | C g bda s +fr30 | ?? FI B p gm s +frv | ?? B da s +h8300 | FI c g s +i386 | ? Q q da +ia64 | ? Q C qr da +iq2000 | ??? FICB g d t +m32c | L FI l g s m32r | FI d s -m68hc11 | L FI l c s -m68k | ? c a -mcore | ? FI gm d s -mep | F C p g d t s +m68k | ? cp a +mcore | ? FI p gm d s +mep | F C g d t s microblaze CB bd s -mips | Q CB qr p bda s -mmix | HM Q C q p b a e +mips | Q CB qr bda s +mmix | HM Q C q b a e mn10300 | ?? c g s -ms1 | S F B p g bd -msp430 | L FI l p g s -nds32 | F C p da s -pa | ? Q CBD qr m da e -pdp11 | L IC qrcp e -rs6000 | Q C qr da -s390 | ? Q qr p g bda e -sh | Q CB qr bda -sparc | Q CB qr p da -spu | ? Q *C p g bd -stormy16 | ???L FIC D l p m a -tilegx | S Q C q p g bda e -tilepro | S F C p g bda e -v850 | ?? FI cp gm d s -vax | M? I cp a e -xtensa | ? C p bd +msp430 | L FI l g s +nds32 | F C da s +pa | ? Q CBD qr m da e +pdp11 | L IC qrc e +rs6000 | Q C qr p da +s390 | ? Q qr g bda e +sh | Q CB qr p bda +sparc | Q CB qr da +spu | ? Q *C g bd +stormy16 | ???L FIC D l m a +tilegx | S Q C q g bda e +tilepro | S F C g bda e +v850 | ?? FI c gm d s +vax | M? I c a e +xtensa | ? C bd </pre> <p>For AVR simulator, see <a