NetBSD/gnu
mycroft b9c785bd44 As seen on tech-toolchain:
So the problem is thus:

* The {u,}mulsidi3 generate two parallel sets which modify the upper and lower
halves of the target register.

* life_analysis() does not track subregister modifications -- if you don't
modify the whole register with a single set, it considers the register
unused.

The simple, if klugy, solution to this is to stick an explicit clobber in.  It
seems to work.

While doing this, I noticed that constant folding was not happening for
32x32->64 multiplies.  This is because the parallel set generated by
{u,}mulsidi3 cannot be folded at all.  To solve this, I first expand to a
normal multiply, and then use a define_insn_and_split to convert it to the
parallel set after CSE and constant folding.

This patch has also been submitted to GCC bugzilla, but who knows if I'll get
a reply to that.
2003-10-29 21:25:03 +00:00
..
dist As seen on tech-toolchain: 2003-10-29 21:25:03 +00:00
lib Move the rule to disable .cc -> NULL transforms, so it works again. 2003-10-28 08:13:39 +00:00
libexec Rework how MAKEVERBOSE operates: 2003-10-21 10:01:19 +00:00
usr.bin replace $(SHELL) with ${HOST_SH} 2003-10-28 02:51:56 +00:00
usr.sbin XXX: build mdsetimage.c / installboot/ffs.c with -O0 on sun2 as GCC3 2003-10-28 08:21:26 +00:00
Makefile
README

README

$NetBSD: README,v 1.4 2002/09/22 09:47:56 wiz Exp $

Organization of Sources:

This directory hierarchy is using a new organization that
separates the GNU sources from the BSD-style infrastructure
used to build the GNU sources.  The GNU sources are kept in
the standard GNU source tree layout under:

	dist/*

The build infrastructure uses the normal BSD way under:

	lib/*
	usr.bin/*

The makefiles in the above hierarchy will "reach over" into
the GNU sources (src/gnu/dist) for everything they need.


Maintenance Strategy:

The sources under src/gnu/dist are generally a combination of
some published distribution plus changes that we submit to the
maintainers and that are not yet published by them.  There are
a few files that are never expected to be submitted to the FSF,
(i.e. BSD-style makefiles and such) and those generally should
stay in src/gnu/lib or src/gnu/usr.bin (the BSD build areas).

Make sure all changes made to the GNU sources are submitted to
the appropriate maintainer, but only after coordinating with the
NetBSD maintainers by sending your proposed submission to the
<tech-toolchain@netbsd.org> mailing list.  Only send the changes
to the third-party maintainers after consensus has been reached.