summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/insts
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86/isa/insts')
-rw-r--r--src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py12
-rw-r--r--src/arch/x86/isa/insts/x87/control/save_x87_status_word.py18
2 files changed, 28 insertions, 2 deletions
diff --git a/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py b/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py
index 0fc4ef7b7..5657c8d47 100644
--- a/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py
+++ b/src/arch/x86/isa/insts/x87/control/save_and_restore_x87_control_word.py
@@ -38,5 +38,15 @@
microcode = '''
# FLDCW
# FSTCW
-# FNSTCW
+
+def macroop FNSTCW_M {
+ rdval t1, fcw
+ st t1, seg, sib, disp, dataSize=2
+};
+
+def macroop FNSTCW_P {
+ rdip t7
+ rdval t1, fcw
+ st t1, seg, sib, disp, dataSize=2
+};
'''
diff --git a/src/arch/x86/isa/insts/x87/control/save_x87_status_word.py b/src/arch/x86/isa/insts/x87/control/save_x87_status_word.py
index 2739852a4..65ff8006b 100644
--- a/src/arch/x86/isa/insts/x87/control/save_x87_status_word.py
+++ b/src/arch/x86/isa/insts/x87/control/save_x87_status_word.py
@@ -36,6 +36,22 @@
# Authors: Gabe Black
microcode = '''
+
# FSTSW
-# FNSTSW
+
+def macroop FNSTSW_R {
+ rdval t1, fsw
+ mov rax, rax, t1, dataSize=2
+};
+
+def macroop FNSTSW_M {
+ rdval t1, fsw
+ st t1, seg, sib, disp, dataSize=2
+};
+
+def macroop FNSTSW_P {
+ rdip t7
+ rdval t1, fsw
+ st t1, seg, riprel, disp, dataSize=2
+};
'''