summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/x86/isa/decoder/x87.isa4
-rw-r--r--src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py9
2 files changed, 9 insertions, 4 deletions
diff --git a/src/arch/x86/isa/decoder/x87.isa b/src/arch/x86/isa/decoder/x87.isa
index f278dc2f8..704a6f6dd 100644
--- a/src/arch/x86/isa/decoder/x87.isa
+++ b/src/arch/x86/isa/decoder/x87.isa
@@ -109,8 +109,8 @@ format WarnUnimpl {
0x3: Inst::FSINCOS();
0x4: frndint();
0x5: fscale();
- 0x6: fsin();
- 0x7: fcos();
+ 0x6: Inst::FSIN();
+ 0x7: Inst::FCOS();
}
default: Inst::FNSTCW(Mw);
}
diff --git a/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py b/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py
index 05fd20829..ffdbcf150 100644
--- a/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py
+++ b/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py
@@ -36,8 +36,13 @@
# Authors: Gabe Black
microcode = '''
-# FSIN
-# FCOS
+def macroop FSIN {
+ sinfp st(0), st(0)
+};
+
+def macroop FCOS {
+ cosfp st(0), st(0)
+};
def macroop FSINCOS {
sinfp ufp1, st(0)