diff options
Diffstat (limited to 'src/emu/cpu/e132xs/e132xs.c')
-rw-r--r-- | src/emu/cpu/e132xs/e132xs.c | 41 |
1 files changed, 20 insertions, 21 deletions
diff --git a/src/emu/cpu/e132xs/e132xs.c b/src/emu/cpu/e132xs/e132xs.c index 9b0f47fca8e..3c0234a2966 100644 --- a/src/emu/cpu/e132xs/e132xs.c +++ b/src/emu/cpu/e132xs/e132xs.c @@ -215,7 +215,6 @@ #include "cpuexec.h" #include "eminline.h" #include "e132xs.h" -#include "osd_cpu.h" #ifdef MAME_DEBUG #define DEBUG_PRINTF(x) do { mame_printf_debug x; } while (0) @@ -1793,7 +1792,7 @@ INLINE void hyperstone_movd(hyperstone_state *cpustate, struct regs_decode *deco SET_DREG(SREG); SET_DREGF(SREGF); - tmp = COMBINE_U64_U32_U32(SREG, SREGF); + tmp = CONCAT_64(SREG, SREGF); SET_Z( tmp == 0 ? 1 : 0 ); SET_N( SIGN_BIT(SREG) ); @@ -1817,7 +1816,7 @@ INLINE void hyperstone_divu(hyperstone_state *cpustate, struct regs_decode *deco { UINT64 dividend; - dividend = COMBINE_U64_U32_U32(DREG, DREGF); + dividend = CONCAT_64(DREG, DREGF); if( SREG == 0 ) { @@ -1866,7 +1865,7 @@ INLINE void hyperstone_divs(hyperstone_state *cpustate, struct regs_decode *deco { INT64 dividend; - dividend = (INT64) COMBINE_64_32_32(DREG, DREGF); + dividend = (INT64) CONCAT_64(DREG, DREGF); if( SREG == 0 || (DREG & 0x80000000) ) { @@ -2535,7 +2534,7 @@ INLINE void hyperstone_shrdi(hyperstone_state *cpustate, struct regs_decode *dec high_order = DREG; low_order = DREGF; - val = COMBINE_U64_U32_U32(high_order, low_order); + val = CONCAT_64(high_order, low_order); if( N_VALUE ) SET_C((val >> (N_VALUE - 1)) & 1); @@ -2544,8 +2543,8 @@ INLINE void hyperstone_shrdi(hyperstone_state *cpustate, struct regs_decode *dec val >>= N_VALUE; - high_order = HI32_32_64(val); - low_order = LO32_32_64(val); + high_order = EXTRACT_64HI(val); + low_order = EXTRACT_64LO(val); SET_DREG(high_order); SET_DREGF(low_order); @@ -2571,7 +2570,7 @@ INLINE void hyperstone_shrd(hyperstone_state *cpustate, struct regs_decode *deco high_order = DREG; low_order = DREGF; - val = COMBINE_U64_U32_U32(high_order, low_order); + val = CONCAT_64(high_order, low_order); if( n ) SET_C((val >> (n - 1)) & 1); @@ -2580,8 +2579,8 @@ INLINE void hyperstone_shrd(hyperstone_state *cpustate, struct regs_decode *deco val >>= n; - high_order = HI32_32_64(val); - low_order = LO32_32_64(val); + high_order = EXTRACT_64HI(val); + low_order = EXTRACT_64LO(val); SET_DREG(high_order); SET_DREGF(low_order); @@ -2624,7 +2623,7 @@ INLINE void hyperstone_sardi(hyperstone_state *cpustate, struct regs_decode *dec high_order = DREG; low_order = DREGF; - val = COMBINE_64_32_32(high_order, low_order); + val = CONCAT_64(high_order, low_order); if( N_VALUE ) SET_C((val >> (N_VALUE - 1)) & 1); @@ -2673,7 +2672,7 @@ INLINE void hyperstone_sard(hyperstone_state *cpustate, struct regs_decode *deco high_order = DREG; low_order = DREGF; - val = COMBINE_64_32_32(high_order, low_order); + val = CONCAT_64(high_order, low_order); if( n ) SET_C((val >> (n - 1)) & 1); @@ -2745,7 +2744,7 @@ INLINE void hyperstone_shldi(hyperstone_state *cpustate, struct regs_decode *dec high_order = DREG; low_order = DREGF; - val = COMBINE_U64_U32_U32(high_order, low_order); + val = CONCAT_64(high_order, low_order); SET_C( (N_VALUE)?(((val<<(N_VALUE-1))&U64(0x8000000000000000))?1:0):0); mask = ((((UINT64)1) << (32 - N_VALUE)) - 1) ^ 0xffffffff; tmp = high_order << N_VALUE; @@ -2758,8 +2757,8 @@ INLINE void hyperstone_shldi(hyperstone_state *cpustate, struct regs_decode *dec val <<= N_VALUE; - high_order = HI32_32_64(val); - low_order = LO32_32_64(val); + high_order = EXTRACT_64HI(val); + low_order = EXTRACT_64LO(val); SET_DREG(high_order); SET_DREGF(low_order); @@ -2789,7 +2788,7 @@ INLINE void hyperstone_shld(hyperstone_state *cpustate, struct regs_decode *deco mask = ((((UINT64)1) << (32 - n)) - 1) ^ 0xffffffff; - val = COMBINE_U64_U32_U32(high_order, low_order); + val = CONCAT_64(high_order, low_order); SET_C( (n)?(((val<<(n-1))&U64(0x8000000000000000))?1:0):0); tmp = high_order << n; @@ -2801,8 +2800,8 @@ INLINE void hyperstone_shld(hyperstone_state *cpustate, struct regs_decode *deco val <<= n; - high_order = HI32_32_64(val); - low_order = LO32_32_64(val); + high_order = EXTRACT_64HI(val); + low_order = EXTRACT_64LO(val); SET_DREG(high_order); SET_DREGF(low_order); @@ -4055,7 +4054,7 @@ INLINE void hyperstone_extend(hyperstone_state *cpustate, struct regs_decode *de { INT64 result; - result = (INT64)COMBINE_64_32_32(GET_G_REG(14), GET_G_REG(15)) + (INT64)((INT64)(INT32)(vals) * (INT64)(INT32)(vald)); + result = (INT64)CONCAT_64(GET_G_REG(14), GET_G_REG(15)) + (INT64)((INT64)(INT32)(vals) * (INT64)(INT32)(vald)); vals = result >> 32; vald = result & 0xffffffff; @@ -4079,7 +4078,7 @@ INLINE void hyperstone_extend(hyperstone_state *cpustate, struct regs_decode *de { INT64 result; - result = (INT64)COMBINE_64_32_32(GET_G_REG(14), GET_G_REG(15)) - (INT64)((INT64)(INT32)(vals) * (INT64)(INT32)(vald)); + result = (INT64)CONCAT_64(GET_G_REG(14), GET_G_REG(15)) - (INT64)((INT64)(INT32)(vals) * (INT64)(INT32)(vald)); vals = result >> 32; vald = result & 0xffffffff; @@ -4103,7 +4102,7 @@ INLINE void hyperstone_extend(hyperstone_state *cpustate, struct regs_decode *de { INT64 result; - result = (INT64)COMBINE_64_32_32(GET_G_REG(14), GET_G_REG(15)) + (INT64)((INT64)(INT32)((vald & 0xffff0000) >> 16) * (INT64)(INT32)((vals & 0xffff0000) >> 16)) + ((INT64)(INT32)(vald & 0xffff) * (INT64)(INT32)(vals & 0xffff)); + result = (INT64)CONCAT_64(GET_G_REG(14), GET_G_REG(15)) + (INT64)((INT64)(INT32)((vald & 0xffff0000) >> 16) * (INT64)(INT32)((vals & 0xffff0000) >> 16)) + ((INT64)(INT32)(vald & 0xffff) * (INT64)(INT32)(vals & 0xffff)); vals = result >> 32; vald = result & 0xffffffff; |