X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Farm%2Fvfp%2Fvfpdouble.c;h=54649c1ee43d7379a3d8f72dc0b925b115af9f30;hb=9e1bf581d67d87a1d7fc0ea500729e3a03643a26;hp=fa3053e84db56996701bad20b6f757c10f0ae9bb;hpb=8d40237c730b8be87c1b80a5d96b9c603fefa829;p=linux-2.6.git diff --git a/arch/arm/vfp/vfpdouble.c b/arch/arm/vfp/vfpdouble.c index fa3053e84..54649c1ee 100644 --- a/arch/arm/vfp/vfpdouble.c +++ b/arch/arm/vfp/vfpdouble.c @@ -31,7 +31,7 @@ * =========================================================================== */ #include -#include +#include #include #include @@ -195,7 +195,7 @@ u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exce dd, d, exceptions); vfp_put_double(dd, d); } - return exceptions & ~VFP_NAN_FLAG; + return exceptions; } /* @@ -240,7 +240,7 @@ vfp_propagate_nan(struct vfp_double *vdd, struct vfp_double *vdn, /* * If one was a signalling NAN, raise invalid operation. */ - return tn == VFP_SNAN || tm == VFP_SNAN ? FPSCR_IOC : VFP_NAN_FLAG; + return tn == VFP_SNAN || tm == VFP_SNAN ? FPSCR_IOC : 0x100; } /* @@ -427,12 +427,12 @@ static u32 vfp_double_fcmpe(int dd, int unused, int dm, u32 fpscr) static u32 vfp_double_fcmpz(int dd, int unused, int dm, u32 fpscr) { - return vfp_compare(dd, 0, VFP_REG_ZERO, fpscr); + return vfp_compare(dd, 0, -1, fpscr); } static u32 vfp_double_fcmpez(int dd, int unused, int dm, u32 fpscr) { - return vfp_compare(dd, 1, VFP_REG_ZERO, fpscr); + return vfp_compare(dd, 1, -1, fpscr); } static u32 vfp_double_fcvts(int sd, int unused, int dm, u32 fpscr)