On Wed, 9 Aug 2000, Andi Kleen wrote:
> On Wed, Aug 09, 2000 at 05:19:57PM +0200, Andi Kleen wrote:
> > >
> > >
> > > Damn, looks like I get to work out what these asm statements really do,
> > > any
> > > pointers?
> >
> > info gcc. It is documented in the RTL manual.
> >
> > It clearly breaks on the do_div inline assembly, so maybe a C version
> > of do_div will be a reasonable workaround.
> >
> > do_div looks wrong anyways. The asms are not volatile so may be
> > moved (while it assumes that variables stay in registers between asm
> > statements), and the
> >
> > asm("":"=a" (__low), "=d" (__high):"A" (n)); \
> >
> > trick to force variables into specific registers looks very nasty to the
> > compiler.
>
> Indeed this patch makes it compile. I haven't tested if it runs correctly.
>
>
This compiled for me as well. Thanks...
Jason
|