Module Name: src Committed By: isaki Date: Thu Apr 18 13:40:25 UTC 2013
Modified Files: src/sys/arch/m68k/fpe: fpu_trig.c Log Message: Improve how to use cmp/sub. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/arch/m68k/fpe/fpu_trig.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/m68k/fpe/fpu_trig.c diff -u src/sys/arch/m68k/fpe/fpu_trig.c:1.9 src/sys/arch/m68k/fpe/fpu_trig.c:1.10 --- src/sys/arch/m68k/fpe/fpu_trig.c:1.9 Thu Apr 11 13:27:11 2013 +++ src/sys/arch/m68k/fpe/fpu_trig.c Thu Apr 18 13:40:25 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: fpu_trig.c,v 1.9 2013/04/11 13:27:11 isaki Exp $ */ +/* $NetBSD: fpu_trig.c,v 1.10 2013/04/18 13:40:25 isaki Exp $ */ /* * Copyright (c) 1995 Ken Nakata @@ -57,7 +57,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: fpu_trig.c,v 1.9 2013/04/11 13:27:11 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: fpu_trig.c,v 1.10 2013/04/18 13:40:25 isaki Exp $"); #include "fpu_emulate.h" @@ -277,14 +277,10 @@ fpu_cos(struct fpemu *fe) */ CPYFPN(&fe->fe_f1, &x); CPYFPN(&fe->fe_f2, &p); - r = fpu_cmp(fe); + fe->fe_f2.fp_sign = 1; + r = fpu_add(fe); if (r->fp_sign == 0) { - CPYFPN(&fe->fe_f1, &x); - CPYFPN(&fe->fe_f2, &p); - fe->fe_f2.fp_sign = 1; - r = fpu_add(fe); CPYFPN(&x, r); - sign ^= 1; } @@ -299,13 +295,9 @@ fpu_cos(struct fpemu *fe) */ CPYFPN(&fe->fe_f1, &x); CPYFPN(&fe->fe_f2, &p); - r = fpu_cmp(fe); + fe->fe_f2.fp_sign = 1; + r = fpu_add(fe); if (r->fp_sign == 0) { - CPYFPN(&fe->fe_f1, &x); - CPYFPN(&fe->fe_f2, &p); - fe->fe_f2.fp_sign = 1; - r = fpu_add(fe); - CPYFPN(&fe->fe_f2, r); r = fpu_sin_halfpi(fe); sign ^= 1; @@ -389,14 +381,10 @@ fpu_sin(struct fpemu *fe) */ CPYFPN(&fe->fe_f1, &x); CPYFPN(&fe->fe_f2, &p); - r = fpu_cmp(fe); + fe->fe_f2.fp_sign = 1; + r = fpu_add(fe); if (r->fp_sign == 0) { - CPYFPN(&fe->fe_f1, &x); - CPYFPN(&fe->fe_f2, &p); - fe->fe_f2.fp_sign = 1; - r = fpu_add(fe); CPYFPN(&x, r); - sign ^= 1; } @@ -411,13 +399,9 @@ fpu_sin(struct fpemu *fe) */ CPYFPN(&fe->fe_f1, &x); CPYFPN(&fe->fe_f2, &p); - r = fpu_cmp(fe); + fe->fe_f2.fp_sign = 1; + r = fpu_add(fe); if (r->fp_sign == 0) { - CPYFPN(&fe->fe_f1, &x); - CPYFPN(&fe->fe_f2, &p); - fe->fe_f2.fp_sign = 1; - r = fpu_add(fe); - CPYFPN(&fe->fe_f2, r); r = fpu_cos_halfpi(fe); } else {