]> xenbits.xensource.com Git - xen.git/commitdiff
x86: explicit suffix in inline assembler (for clang).
authorTim Deegan <tim@xen.org>
Fri, 16 Aug 2013 10:11:21 +0000 (12:11 +0200)
committerJan Beulich <jbeulich@suse.com>
Fri, 16 Aug 2013 10:11:21 +0000 (12:11 +0200)
This fixes the clang build, and has no effect on gcc's output.

Signed-off-by: Tim Deegan <tim@xen.org>
Committed-by: Jan Beulich <jbeulich@suse.com>
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 ends up
in memory, gas would default to 32-bit operand size (and should really
warn about the ambiguity).

xen/arch/x86/time.c

index 20edfd71e46806404525fdc8324ba478cebb2734..c3b0b865b893b0bbbaa7d317c128126b2386ce85 100644 (file)
@@ -140,7 +140,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