Re: [PATCH] gcc 3.4 drops "accum" clobber, replace with "hi" intime.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Apr 12, 2004 at 09:05:34PM -0400, Bradley D. LaRonde wrote:
> ----- Original Message ----- 
> From: "Eric Christopher" <echristo@redhat.com>
> To: "Bradley D. LaRonde" <brad@laronde.org>
> Cc: <linux-mips@linux-mips.org>
> Sent: Monday, April 12, 2004 9:02 PM
> Subject: Re: [PATCH] gcc 3.4 drops "accum" clobber, replace with "hi"
> intime.c
> 
> 
> > On Mon, 2004-04-12 at 17:53, Bradley D. LaRonde wrote:
> > > Uh oh, with this patch:
> > >
> > > ...
> > > time.c: In function `fixed_rate_gettimeoffset':
> > > time.c:242: error: can't find a register in class `HI_REG' while
> reloading
> > > `asm'
> > > ...
> >
> > > >
> > > >         /*
> > > >          * Due to possible jiffies inconsistencies, we need to check
> > > > @@ -339,7 +339,7 @@
> > > >                                 : "r" (timerhi), "m" (timerlo),
> > > >                                   "r" (tmp), "r" (USECS_PER_JIFFY),
> > > >                                   "r" (USECS_PER_JIFFY_FRAC)
> > > > -                               : "hi", "lo", "accum");
> > > > +                               : "hi", "lo", "hi");
> > > >                         cached_quotient = quotient;
> >
> >
> > Maybe this hunk where you use "hi" twice for the same asm statement?
> 
> Yeah, that's messed up, but it fails here too:
> 
> @@ -242,7 +242,7 @@
>         __asm__("multu  %1,%2"
>                 : "=h" (res)
>                 : "r" (count), "r" (sll32_usecs_per_cycle)
> -               : "lo", "accum");
> +               : "lo", "hi");

Because the asm is outputting something in HI - see the =h?

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux