_ROUND_MASK
return ((r >> _ROUND_SHIFT) & _ROUND_MASK);
if (round & ~_ROUND_MASK)
r &= ~(_ROUND_MASK << _ROUND_SHIFT);
return ((fpcr >> _ROUND_SHIFT) & _ROUND_MASK);
if (round & ~_ROUND_MASK)
fpcr &= ~((unsigned long)_ROUND_MASK << _ROUND_SHIFT);
envp->__round = (fpcr >> _ROUND_SHIFT) & _ROUND_MASK;
fpcr &= ~((unsigned long)_ROUND_MASK << _ROUND_SHIFT);
fpcr |= ((unsigned long)envp->__round & _ROUND_MASK) << _ROUND_SHIFT;
return (fpscr >> 22) & _ROUND_MASK;
if (round & ~_ROUND_MASK)
_softfloat_float_rounding_mode &= ~_ROUND_MASK;
fpscr &= ~(_ROUND_MASK << 22);
envp->__round = (fpscr >> 22) & _ROUND_MASK;
fpscr &= ~(_ROUND_MASK << 22 | FE_ALL_EXCEPT << 8 | FE_ALL_EXCEPT);
fpscr |= (envp->__round & _ROUND_MASK) << 22;
_softfloat_float_rounding_mode = envp->__round & _ROUND_MASK;
return (u.bits[0] & _ROUND_MASK);
if (round & ~_ROUND_MASK)
u.bits[0] &= ~_ROUND_MASK;
u.bits[0] &= ~(FE_ALL_EXCEPT | _ROUND_MASK |
u.bits[0] |= *envp & (FE_ALL_EXCEPT | _ROUND_MASK |
return (fpcr & _ROUND_MASK);
if (round & ~_ROUND_MASK)
fpcr &= ~_ROUND_MASK;
fenv.__control &= ~(FE_ALL_EXCEPT | _ROUND_MASK);
fenv.__control |= envp->__control & (FE_ALL_EXCEPT | _ROUND_MASK);
return (fcsr & _ROUND_MASK);
if (round & ~_ROUND_MASK)
fcsr &= ~_ROUND_MASK;
return (u.bits[1] & _ROUND_MASK);
if (round & ~_ROUND_MASK)
u.bits[1] &= ~_ROUND_MASK;
return (u.bits[1] & _ROUND_MASK);
if (round & ~_ROUND_MASK)
u.bits[1] &= ~_ROUND_MASK;
return (r & _ROUND_MASK);
if (round & ~_ROUND_MASK)
return (fpscr & _ROUND_MASK);
if (round & ~_ROUND_MASK)
fpscr &= ~_ROUND_MASK;
__fpscr_values[0] &= ~_ROUND_MASK;
__fpscr_values[1] &= ~_ROUND_MASK;
fpscr &= ~((FE_ALL_EXCEPT << _MASK_SHIFT) | _ROUND_MASK |
__fpscr_values[0] &= ~((FE_ALL_EXCEPT << _MASK_SHIFT) | _ROUND_MASK |
__fpscr_values[1] &= ~((FE_ALL_EXCEPT << _MASK_SHIFT) | _ROUND_MASK |
fpscr |= *envp & ((FE_ALL_EXCEPT << _MASK_SHIFT) | _ROUND_MASK |
_ROUND_MASK | FE_ALL_EXCEPT);
_ROUND_MASK | FE_ALL_EXCEPT);
return (r >> _ROUND_SHIFT) & _ROUND_MASK;
if (round & ~_ROUND_MASK)
r &= ~(_ROUND_MASK << _ROUND_SHIFT);