summaryrefslogtreecommitdiff
path: root/src/arch/x86/utility.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/utility.cc')
-rw-r--r--src/arch/x86/utility.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/arch/x86/utility.cc b/src/arch/x86/utility.cc
index 41f5aee0b..b50b99dfa 100644
--- a/src/arch/x86/utility.cc
+++ b/src/arch/x86/utility.cc
@@ -44,6 +44,7 @@
#include "arch/x86/utility.hh"
#include "arch/x86/x86_traits.hh"
#include "cpu/base.hh"
+#include "fputils/fp80.h"
#include "sim/system.hh"
namespace X86ISA {
@@ -351,4 +352,20 @@ genX87Tags(uint16_t ftw, uint8_t top, int8_t spm)
return ftw;
}
+double
+loadFloat80(const void *_mem)
+{
+ const fp80_t *fp80((const fp80_t *)_mem);
+
+ return fp80_cvtd(*fp80);
+}
+
+void
+storeFloat80(void *_mem, double value)
+{
+ fp80_t *fp80((fp80_t *)_mem);
+
+ *fp80 = fp80_cvfd(value);
+}
+
} // namespace X86_ISA