|
|
|
@ -211,10 +211,12 @@ static inline bool is_aligned(const unsigned val, const unsigned pos) |
|
|
|
} \ |
|
|
|
} while (0); |
|
|
|
|
|
|
|
#define set_fp_exceptions ({ if (softfloat_exceptionFlags) { \ |
|
|
|
STATE.fflags->write(STATE.fflags->read() | softfloat_exceptionFlags); \ |
|
|
|
} \ |
|
|
|
softfloat_exceptionFlags = 0; }) |
|
|
|
#define raise_fp_exceptions(flags) do { if (flags) STATE.fflags->write(STATE.fflags->read() | (flags)); } while (0); |
|
|
|
#define set_fp_exceptions \ |
|
|
|
do { \ |
|
|
|
raise_fp_exceptions(softfloat_exceptionFlags); \ |
|
|
|
softfloat_exceptionFlags = 0; \ |
|
|
|
} while (0); |
|
|
|
|
|
|
|
#define sext32(x) ((sreg_t)(int32_t)(x)) |
|
|
|
#define zext32(x) ((reg_t)(uint32_t)(x)) |
|
|
|
|