diff options
Diffstat (limited to 'src/devices/cpu/sparc/sparcdefs.h')
-rw-r--r-- | src/devices/cpu/sparc/sparcdefs.h | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/devices/cpu/sparc/sparcdefs.h b/src/devices/cpu/sparc/sparcdefs.h index fd90b065ed8..66147c37780 100644 --- a/src/devices/cpu/sparc/sparcdefs.h +++ b/src/devices/cpu/sparc/sparcdefs.h @@ -97,17 +97,17 @@ #define OPFLOW ((op >> 5) & 0x3f) #define DISP30 (int32_t(op << 2)) -#define DISP22 (int32_t(op << 10) >> 8) -#define DISP19 (int32_t(op << 13) >> 11) -#define DISP16 (int32_t(((op << 10) & 0xc0000000) | ((op << 16) & 0x3fff0000)) >> 14) +#define DISP22 util::sext(op << 2, 24) +#define DISP19 util::sext(op << 2, 21) +#define DISP16 util::sext((op & 0x300000) >> 4 | (op & 0x3fff) << 2, 18) #define IMM22 (op << 10) #define CONST22 (op & 0x3fffff) -#define SIMM13 (int32_t(op << 19) >> 19) -#define SIMM11 (int32_t(op << 21) >> 21) -#define SIMM10 (int32_t(op << 22) >> 22) -#define SIMM8 (int32_t(op << 24) >> 24) +#define SIMM13 util::sext(op, 13) +#define SIMM11 util::sext(op, 11) +#define SIMM10 util::sext(op, 10) +#define SIMM8 util::sext(op, 8) #define IMM7 (op & 0x7f) -#define SIMM7 (int32_t(op << 25) >> 25) +#define SIMM7 util::sext(op, 7) #define SHCNT32 (op & 31) #define SHCNT64 (op & 63) #define IAMODE (op & 0x7) |