This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

Re: [PATCH] New port for CR16C and CRX processors (gcc)


On Feb 16, 2004, Kazu Hirata <kazu@cs.umass.edu> wrote:

> o Use of MODE_CC.  We are trying to move away from cc0, which is a
>   special register that we used to support to represent conditon
>   codes.  It would be nice (required?) if you could use a register (as
>   in (reg:...)) to represent condition codes.

I don't think so.  There were discussions in the past with people
claiming it would be possible/easy to modify targets that use CC0 into
ones that don't.  I had a long discussion with RTH about this when we
last met, and the general conclusion was that, yes, it is possible,
but it's very difficult in some cases, and it would clutter the back
end beyond belief.

Alternative approaches such as machine-modifying md files so as to
cover the cases in which CC0 is used, that require contiguous sets and
uses, are *very* difficult to implement and get right.

I don't think placing the burden of figuring this out on port
developers just because people don't want to live with the
difficulties of CC0, that are certainly going to remain, albeit under
a different part of the compiler, is the right way to do it.

The burden of proving that removing CC0 can be done cleanly is on
those who want to take this feature out of GCC.  Simply claiming it
shouldn't be used any more won't make it happen, because with current
infrastructure some things just don't work unless they're done the CC0
way.  It basically depends on the port.

-- 
Alexandre Oliva   Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Happy GNU Year!                     oliva@{lsd.ic.unicamp.br, gnu.org}
Red Hat GCC Developer                 aoliva@{redhat.com, gcc.gnu.org}
Free Software Evangelist                Professional serial bug killer


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