Lines Matching defs:FEnv
22 struct FEnv {
88 uint32_t new_excepts = FEnv::exception_macro_to_enable_bits(excepts);
89 uint32_t fpscr = FEnv::get_fpscr();
90 int old = (fpscr >> FEnv::ExceptionControlBitPosition) & 0x3F;
91 fpscr |= (new_excepts << FEnv::ExceptionControlBitPosition);
92 FEnv::set_fpscr(fpscr);
93 return FEnv::exception_enable_bits_to_macro(old);
98 uint32_t disable_bits = FEnv::exception_macro_to_enable_bits(excepts);
99 uint32_t fpscr = FEnv::get_fpscr();
100 int old = (fpscr >> FEnv::ExceptionControlBitPosition) & 0x3F;
101 fpscr &= ~(disable_bits << FEnv::ExceptionControlBitPosition);
102 FEnv::set_fpscr(fpscr);
103 return FEnv::exception_enable_bits_to_macro(old);
108 uint32_t fpscr = FEnv::get_fpscr();
109 int enabled_excepts = (fpscr >> FEnv::ExceptionControlBitPosition) & 0x3F;
110 return FEnv::exception_enable_bits_to_macro(enabled_excepts);
115 uint32_t fpscr = FEnv::get_fpscr();
116 uint32_t to_clear = FEnv::exception_macro_to_status_bits(excepts);
118 FEnv::set_fpscr(fpscr);
124 uint32_t to_test = FEnv::exception_macro_to_status_bits(excepts);
125 uint32_t fpscr = FEnv::get_fpscr();
126 return FEnv::exception_status_bits_to_macro(fpscr & 0x9F & to_test);
131 uint32_t fpscr = FEnv::get_fpscr();
132 FEnv::set_fpscr(fpscr | FEnv::exception_macro_to_status_bits(excepts));
150 uint32_t to_raise = FEnv::exception_macro_to_status_bits(excepts);
153 if (to_raise & FEnv::INVALID_STATUS) {
155 uint32_t fpscr = FEnv::get_fpscr();
156 if (!(fpscr & FEnv::INVALID_STATUS))
159 if (to_raise & FEnv::DIVBYZERO_STATUS) {
161 uint32_t fpscr = FEnv::get_fpscr();
162 if (!(fpscr & FEnv::DIVBYZERO_STATUS))
165 if (to_raise & FEnv::OVERFLOW_STATUS) {
167 uint32_t fpscr = FEnv::get_fpscr();
168 if (!(fpscr & FEnv::OVERFLOW_STATUS))
171 if (to_raise & FEnv::UNDERFLOW_STATUS) {
173 uint32_t fpscr = FEnv::get_fpscr();
174 if (!(fpscr & FEnv::UNDERFLOW_STATUS))
177 if (to_raise & FEnv::INEXACT_STATUS) {
183 uint32_t fpscr = FEnv::get_fpscr();
184 if (!(fpscr & FEnv::INEXACT_STATUS))
191 uint32_t mode = (FEnv::get_fpscr() >> FEnv::RoundingControlBitPosition) & 0x3;
193 case FEnv::TONEAREST:
195 case FEnv::DOWNWARD:
197 case FEnv::UPWARD:
199 case FEnv::TOWARDZERO:
211 bits = FEnv::TONEAREST;
214 bits = FEnv::DOWNWARD;
217 bits = FEnv::UPWARD;
220 bits = FEnv::TOWARDZERO;
226 uint32_t fpscr = FEnv::get_fpscr();
227 fpscr &= ~(0x3 << FEnv::RoundingControlBitPosition);
228 fpscr |= (bits << FEnv::RoundingControlBitPosition);
229 FEnv::set_fpscr(fpscr);
235 FEnv *state = reinterpret_cast<FEnv *>(envp);
236 state->fpscr = FEnv::get_fpscr();
242 uint32_t fpscr = FEnv::get_fpscr();
245 fpscr &= ~(0x3 << FEnv::RoundingControlBitPosition);
246 fpscr |= (FEnv::TONEAREST << FEnv::RoundingControlBitPosition);
248 fpscr &= ~(0x3F << FEnv::ExceptionControlBitPosition);
254 FEnv::set_fpscr(fpscr);
258 const FEnv *state = reinterpret_cast<const FEnv *>(envp);
259 FEnv::set_fpscr(state->fpscr);