svn commit: r210517 - in head/sys: amd64/amd64 i386/isa
Jung-uk Kim
jkim at FreeBSD.org
Mon Jul 26 21:24:52 UTC 2010
Author: jkim
Date: Mon Jul 26 21:24:52 2010
New Revision: 210517
URL: http://svn.freebsd.org/changeset/base/210517
Log:
FNSTSW instruction can use AX register as an operand.
Obtained from: fenv.h
Modified:
head/sys/amd64/amd64/fpu.c
head/sys/i386/isa/npx.c
Modified: head/sys/amd64/amd64/fpu.c
==============================================================================
--- head/sys/amd64/amd64/fpu.c Mon Jul 26 21:22:57 2010 (r210516)
+++ head/sys/amd64/amd64/fpu.c Mon Jul 26 21:24:52 2010 (r210517)
@@ -69,7 +69,7 @@ __FBSDID("$FreeBSD$");
#define fnclex() __asm("fnclex")
#define fninit() __asm("fninit")
#define fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr)))
-#define fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr)))
+#define fnstsw(addr) __asm __volatile("fnstsw %0" : "=am" (*(addr)))
#define fxrstor(addr) __asm("fxrstor %0" : : "m" (*(addr)))
#define fxsave(addr) __asm __volatile("fxsave %0" : "=m" (*(addr)))
#define ldmxcsr(r) __asm __volatile("ldmxcsr %0" : : "m" (r))
Modified: head/sys/i386/isa/npx.c
==============================================================================
--- head/sys/i386/isa/npx.c Mon Jul 26 21:22:57 2010 (r210516)
+++ head/sys/i386/isa/npx.c Mon Jul 26 21:24:52 2010 (r210517)
@@ -92,7 +92,7 @@ __FBSDID("$FreeBSD$");
#define fninit() __asm("fninit")
#define fnsave(addr) __asm __volatile("fnsave %0" : "=m" (*(addr)))
#define fnstcw(addr) __asm __volatile("fnstcw %0" : "=m" (*(addr)))
-#define fnstsw(addr) __asm __volatile("fnstsw %0" : "=m" (*(addr)))
+#define fnstsw(addr) __asm __volatile("fnstsw %0" : "=am" (*(addr)))
#define fp_divide_by_0() __asm("fldz; fld1; fdiv %st,%st(1); fnop")
#define frstor(addr) __asm("frstor %0" : : "m" (*(addr)))
#ifdef CPU_ENABLE_SSE
More information about the svn-src-head
mailing list