VFP_FPSCR_RMODE
__CTASSERT(__SHIFTOUT(VFP_FPSCR_RN, VFP_FPSCR_RMODE) == FP_RN);
__CTASSERT(__SHIFTOUT(VFP_FPSCR_RP, VFP_FPSCR_RMODE) == FP_RP);
__CTASSERT(__SHIFTOUT(VFP_FPSCR_RM, VFP_FPSCR_RMODE) == FP_RM);
__CTASSERT(__SHIFTOUT(VFP_FPSCR_RZ, VFP_FPSCR_RMODE) == FP_RZ);
return __SHIFTOUT(fpscr, VFP_FPSCR_RMODE);
__CTASSERT(__SHIFTOUT(VFP_FPSCR_RN, VFP_FPSCR_RMODE) == FP_RN);
__CTASSERT(__SHIFTOUT(VFP_FPSCR_RP, VFP_FPSCR_RMODE) == FP_RP);
__CTASSERT(__SHIFTOUT(VFP_FPSCR_RM, VFP_FPSCR_RMODE) == FP_RM);
__CTASSERT(__SHIFTOUT(VFP_FPSCR_RZ, VFP_FPSCR_RMODE) == FP_RZ);
fp_rnd old_rnd = __SHIFTOUT(fpscr, VFP_FPSCR_RMODE);
fpscr ^= __SHIFTIN(new_rnd ^ old_rnd, VFP_FPSCR_RMODE);
return __SHIFTOUT(armreg_fpscr_read(), VFP_FPSCR_RMODE);
_DIAGASSERT(!(round & ~__SHIFTOUT(VFP_FPSCR_RMODE, VFP_FPSCR_RMODE)));
int fpscr = armreg_fpscr_read() & ~VFP_FPSCR_RMODE;
fpscr |= __SHIFTIN(round, VFP_FPSCR_RMODE);
fpscr &= ~(VFP_FPSCR_ESUM|VFP_FPSCR_RMODE);
#define __FENV_GET_ROUND(__envp) __SHIFTOUT(*(__envp), VFP_FPSCR_RMODE)
*(__envp) = __SHIFTIN((__val), VFP_FPSCR_RMODE)
uint32_t vfp_fpscr_changable = VFP_FPSCR_CSUM|VFP_FPSCR_ESUM|VFP_FPSCR_RMODE;
|VFP_FPSCR_RMODE;
vfp_fpscr_changable |= VFP_FPSCR_RMODE;