[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] x86: explicit suffix in inline assembler (for clang)
At 13:18 +0000 on 14 Feb (1360847909), Jan Beulich wrote: > >>> On 14.02.13 at 13:52, Tim Deegan <tim@xxxxxxx> wrote: > > # HG changeset patch > > # User Tim Deegan <tim@xxxxxxx> > > # Date 1360846113 0 > > # Node ID 500907997cb7b9c6973147d56cfd8a1a4c136c7e > > # Parent 4b01cc2c2c1f4836e7fb34a58bc13e125d67969e > > x86: explicit suffix in inline assembler (for clang). > > > > This fixes the clang build, and has no effect on gcc's output. > > > > Signed-off-by: Tim Deegan <tim@xxxxxxx> > > > > diff -r 4b01cc2c2c1f -r 500907997cb7 xen/arch/x86/time.c > > --- a/xen/arch/x86/time.c Thu Feb 14 12:36:01 2013 +0000 > > +++ b/xen/arch/x86/time.c Thu Feb 14 12:48:33 2013 +0000 > > @@ -127,7 +127,7 @@ static inline u64 scale_delta(u64 delta, > > delta <<= scale->shift; > > > > asm ( > > - "mul %2 ; shrd $32,%1,%0" > > + "mulq %2 ; shrd $32,%1,%0" > > : "=a" (product), "=d" (delta) > > : "rm" (delta), "0" ((u64)scale->mul_frac) ); > > > > I'll commit this as being benign, but what the heck? "mul" needs > a suffix but "shrd" doesn't? Quite. I presume it's because mul's first operand is implicit (and for some reason clang doesn't see the second operand being a u64 as enough to require the 64-bit version). Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |