summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/clipper/clipper.h
diff options
context:
space:
mode:
author Patrick Mackinlay <pmackinlay@hotmail.com>2017-11-17 17:11:57 +0700
committer Patrick Mackinlay <pmackinlay@hotmail.com>2017-11-17 17:11:57 +0700
commit3873ba65ad3728038115de7ddd476fc971644035 (patch)
tree8b31154187a4206f8a1d84a6b8066e8f09b1a274 /src/devices/cpu/clipper/clipper.h
parentf12b3fb4b76197387ab0ab9810b1c1ca6c2eda72 (diff)
clipper: no unions (nw)
Diffstat (limited to 'src/devices/cpu/clipper/clipper.h')
-rw-r--r--src/devices/cpu/clipper/clipper.h14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/devices/cpu/clipper/clipper.h b/src/devices/cpu/clipper/clipper.h
index 4ecb3926d25..6a1d5dc0ba2 100644
--- a/src/devices/cpu/clipper/clipper.h
+++ b/src/devices/cpu/clipper/clipper.h
@@ -227,6 +227,11 @@ protected:
void set_ssw(u32 data) { m_ssw = (m_ssw & SSW(ID)) | (data & ~SSW(ID)); }
+ inline float32 get_fp32(const u8 reg) const { return m_f[reg & 0xf]; };
+ inline float64 get_fp64(const u8 reg) const { return m_f[reg & 0xf]; };
+ inline void set_fp32(const u8 reg, const float32 data);
+ inline void set_fp64(const u8 reg, const float64 data);
+
// core registers
u32 m_pc;
u32 m_psw;
@@ -237,13 +242,8 @@ protected:
u32 m_ru[16]; // user registers
u32 m_rs[16]; // supervisor registers
- // floating registers
- union fpregs
- {
- float64 d; // double precision floating point
- float32 s; // single precision floating point
- }
- m_f[16];
+ // floating point registers
+ u64 m_f[16];
u32 m_fp_pc; // address of floating point instruction causing exception
u64 m_fp_dst; // original value of destination register during fp exception