[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen stable-4.2] x86: explicit suffix in inline assembler (for clang).
commit fb7d38de1f6744092011ae169b12f5e31ba6a745 Author: Tim Deegan <tim@xxxxxxx> AuthorDate: Fri Aug 16 12:07:40 2013 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Fri Aug 16 12:07:40 2013 +0200 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> Committed-by: Jan Beulich <jbeulich@xxxxxxxx> master commit: 59a28b5f045331641cbf0c1fc8d5d67afe328939 master date: 2013-02-14 14:20:06 +0100 Note that this isn't just a build fix - if the "delta" input in the 64-bit variant ends up in memory, gas would default to 32-bit operand size (and should really warn about the ambiguity). 32-bit portion contributed by NetBSD folks. --- xen/arch/x86/time.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c index 7d29cd8..9187520 100644 --- a/xen/arch/x86/time.c +++ b/xen/arch/x86/time.c @@ -131,10 +131,10 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale) #ifdef CONFIG_X86_32 asm ( - "mul %5 ; " + "mull %5 ; " "mov %4,%%eax ; " "mov %%edx,%4 ; " - "mul %5 ; " + "mull %5 ; " "xor %5,%5 ; " "add %4,%%eax ; " "adc %5,%%edx ; " @@ -142,7 +142,7 @@ static inline u64 scale_delta(u64 delta, struct time_scale *scale) : "a" ((u32)delta), "1" ((u32)(delta >> 32)), "2" (scale->mul_frac) ); #else asm ( - "mul %2 ; shrd $32,%1,%0" + "mulq %2 ; shrd $32,%1,%0" : "=a" (product), "=d" (delta) : "rm" (delta), "0" ((u64)scale->mul_frac) ); #endif -- generated by git-patchbot for /home/xen/git/xen.git#stable-4.2 _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |