| commit 196f456b842ee96e1bf1e5ae6ed21ba427dee3f3 |
| Author: Marcus Shawcroft <marcus.shawcroft@linaro.org> |
| Date: Tue Jan 7 16:16:35 2014 +0000 |
| |
| [AArch64] Fix FP_ROUNDMODE. |
| |
| [BZ #16387] Fix FP_ROUNDMODE to extract the correct bits from FPCR. |
| |
| diff --git a/ports/sysdeps/aarch64/fpu/fpu_control.h b/ports/sysdeps/aarch64/fpu/fpu_control.h |
| index 79ab5fb..6a265e8 100644 |
| |
| |
| @@ -59,6 +59,9 @@ |
| E E D D |
| E E |
| */ |
| + |
| +#define _FPU_FPCR_RM_MASK 0xc00000 |
| + |
| #define _FPU_FPCR_MASK_IXE 0x1000 |
| #define _FPU_FPCR_MASK_UFE 0x0800 |
| #define _FPU_FPCR_MASK_OFE 0x0400 |
| diff --git a/ports/sysdeps/aarch64/soft-fp/sfp-machine.h b/ports/sysdeps/aarch64/soft-fp/sfp-machine.h |
| index d21d00a..9bb94e5 100644 |
| |
| |
| @@ -47,7 +47,7 @@ |
| |
| #define _FP_DECL_EX fpu_control_t _fcw |
| |
| -#define FP_ROUNDMODE (_fcw & 0x3) |
| +#define FP_ROUNDMODE (_fcw & _FPU_FPCR_RM_MASK) |
| |
| #define FP_RND_NEAREST FE_TONEAREST |
| #define FP_RND_ZERO FE_TOWARDZERO |