From: Al Viro Date: Thu, 12 Jan 2006 09:06:19 +0000 (-0800) Subject: [PATCH] m68k: broken constraints on mulu.l X-Git-Tag: v2.6.16-rc1~213 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7f2633388d64c0489516af04e0d4cd9f01397a94;p=linux-2.6 [PATCH] m68k: broken constraints on mulu.l Too permissive constraint on mulu.l - the first argument should not be an a-register. Fixed by replacing "g" with "dm"; with older gcc we got lucky and it had never attempted mulu.l %a0, %d1:%d0. These days it does, with predictable objections from as(1). Signed-off-by: Al Viro Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/arch/m68k/math-emu/multi_arith.h b/arch/m68k/math-emu/multi_arith.h index 02251e5afd..4ad0ca918e 100644 --- a/arch/m68k/math-emu/multi_arith.h +++ b/arch/m68k/math-emu/multi_arith.h @@ -366,7 +366,7 @@ static inline void fp_submant(struct fp_ext *dest, struct fp_ext *src1, #define fp_mul64(desth, destl, src1, src2) ({ \ asm ("mulu.l %2,%1:%0" : "=d" (destl), "=d" (desth) \ - : "g" (src1), "0" (src2)); \ + : "dm" (src1), "0" (src2)); \ }) #define fp_div64(quot, rem, srch, srcl, div) \ asm ("divu.l %2,%1:%0" : "=d" (quot), "=d" (rem) \