mrg 43eb93d243 pull across from the GCC3 tree:
>revision 1.2
>date: 2003/10/29 21:25:03;  author: mycroft;  state: Exp;  lines: +40 -11
>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.
2006-05-12 00:46:33 +00:00
..
2006-05-12 00:46:33 +00:00
2006-05-12 00:25:57 +00:00

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.