diff options
author | Richard Henderson <rth@twiddle.net> | 2010-01-04 11:24:04 -0800 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2010-02-23 23:36:22 +0100 |
commit | 866be65dfdac0121b1dbe4a4487fb929a16ba279 (patch) | |
tree | 6056f82f90e08ffdeb70fe489bd1bc7f6cac65f5 /target-alpha/cpu.h | |
parent | dad081ee69d58e0e7c32b66b6a8a47344f830548 (diff) |
target-alpha: Clean up arithmetic traps.
Replace the EXCP_ARITH_OVERFLOW placeholder with the complete
set of bits from the EXC_SUM IPR. Use them in the existing
places where we raise arithmetic exceptions.
Signed-off-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'target-alpha/cpu.h')
-rw-r--r-- | target-alpha/cpu.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h index 3728d830ba..eda1b4ae83 100644 --- a/target-alpha/cpu.h +++ b/target-alpha/cpu.h @@ -450,9 +450,13 @@ enum { }; /* Arithmetic exception */ -enum { - EXCP_ARITH_OVERFLOW, -}; +#define EXC_M_IOV (1<<16) /* Integer Overflow */ +#define EXC_M_INE (1<<15) /* Inexact result */ +#define EXC_M_UNF (1<<14) /* Underflow */ +#define EXC_M_FOV (1<<13) /* Overflow */ +#define EXC_M_DZE (1<<12) /* Division by zero */ +#define EXC_M_INV (1<<11) /* Invalid operation */ +#define EXC_M_SWC (1<<10) /* Software completion */ enum { IR_V0 = 0, |