--- msp430-libc/src/libm/mulsf.old.c	2003-08-01 08:55:47.000000000 -0700
+++ msp430-libc/src/libm/mulsf.c	2003-08-01 10:18:02.000000000 -0700
@@ -80,15 +80,12 @@
 
 	/* sign = SIGN (fl1.l) ^ SIGN (fl2.l); */
 	__asm__ __volatile__ (
-	"mov	%B2, %0         \n\t"
+	"mov	%B1, %0         \n\t"
+	"xor	%B2, %0         \n\t"
 	"and	#0x8000, %0     \n\t"
-	"mov	%B3, %1         \n\t"
-	"and	#0x8000, %1     \n\t"
-	"xor	%1, %0"
 		: "=r" (sign)
-		: "r" (tmp),
-		"r" (a1),
-		"r" (a2)
+		: "m" (a1),
+		"m" (a2)
 	);
 	
 	a1 = MANT (a1);
