This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

GCC 3.0 release criteria suggestion. Call for cc0 build hosts (like m68k and VAX).


Code generation and optimization for any code with conditional
branches or conditional execution, is quite different for
machines describing condition codes as "using register cc0",
than for non-cc0 hosts.  Ports for cc0-machines are recognizable
by matches for "grep cc0 gcc/config/*/*.md" except in
define_expand:s.

As reported in
<URL:http://gcc.gnu.org/ml/gcc-patches/2000-11/msg00640.html>, I
have reason to believe that current CVS fails on cc0-machines
for several trivial test-cases (confirmed with
gcc.c-torture/execute/20000313-1.c for m68k-linux-gnu), perhaps
for self-hosted systems even in bootstrap.  I suspect the bug
has been there since the introduction of equiv_init_movable_p.
A generic cc0-bug that has been there for a long time is of
course in itself bad, but it is more serious that this bug could
have slipped through into the release, since there is no system
with a cc0-machine among the release evaluation target
platforms.

There are several cc0-machines among contributed GCC ports, but
most newer such systems are used in non-self-hosted (some
peoples definition of "embedded") environments (like avr,
dsp16xx, h8300, m68hc11, mn10200, mn10300, v850).  I believe
thorough testing for cc0-machines is not done regularly, in part
because testing (beyond the existing test-suite) is a bit too
complex if you don't have a self-hosted system.  Perhaps also
because most existing such systems are aging and appear a bit
slow.

I don't see any m68k testresults later than 1999-06, and no
i370, VAX or ns32k at all.

Unless all those systems are dead, I'd like to suggest adding a
self-hosted cc0 system to release criteria platforms as a
*secondary* evaluation platform, to represent correct generic
handling of cc0 for all such systems.  A bootstrap and running
the test-suite seems enough.

But for that to happen, we/someone/I need such a system to build
on.  I'll have a look, but I'm not sure I can find one myself.
Is there someone out there that has such a system available for
regular testing, and can spare a few CPU-weeks on a regular
basis?  Perhaps a Sun3, NeXT or VAX?  I believe 100-200M virtual
memory and a few 100M avaliable disk space is needed.

A whole-system simulator is a reasonable alternative; I haven't
looked into that yet.

Or we could convert all systems to use the cbranch patterns and
friends, as Richard Earnshaw has just pointed out (IIUC).  But
that's not suitable for the GCC 3.0 release, IMHO.

brgds, H-P

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]