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
Description
No description provided
3.1 GiB
Languages
C 85.3%
Roff 7.2%
Assembly 3.1%
Shell 1.7%
Makefile 1.2%
Other 0.9%