With gcc 4.7.2, the build fails with: x86/hyperv_clock.c: Assembler messages: x86/hyperv_clock.c:21: Error: no instruction mnemonic suffix given and no register operands; can't size instruction In order to avoid this, make the mul instruction data size explicit by adding the appropriate suffix. It operates on 64-bit data, so use "mulq". Signed-off-by: Thomas Petazzoni <thomas.petazzoni@xxxxxxxxxxxxxxxxxx> --- x86/hyperv_clock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x86/hyperv_clock.c b/x86/hyperv_clock.c index 8b1deba..6c4dd56 100644 --- a/x86/hyperv_clock.c +++ b/x86/hyperv_clock.c @@ -19,7 +19,7 @@ static inline u64 scale_delta(u64 delta, u64 mul_frac) u64 product, unused; __asm__ ( - "mul %3" + "mulq %3" : "=d" (product), "=a" (unused) : "1" (delta), "rm" ((u64)mul_frac) ); return product; -- 2.7.4