summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py
diff options
context:
space:
mode:
authorNilay Vaish <nilay@cs.wisc.edu>2012-12-30 12:45:45 -0600
committerNilay Vaish <nilay@cs.wisc.edu>2012-12-30 12:45:45 -0600
commit23ba6fc5fbaf55b016b5f0c0a852fa135d3f5f55 (patch)
tree4e5bf0c68a330d74f5019cc73690f78953924373 /src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py
parent3b01edd7fa5a78565aa911c9e33f8fd3a6b0478e (diff)
downloadgem5-23ba6fc5fbaf55b016b5f0c0a852fa135d3f5f55.tar.xz
x86: implement x87 fp instruction fsincos
This patch implements the fsincos instruction. The code was originally written by Vince Weaver. Gabe had made some comments about the code, but those were never addressed. This patch addresses those comments.
Diffstat (limited to 'src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py')
-rw-r--r--src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py9
1 files changed, 8 insertions, 1 deletions
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 437b47d70..05fd20829 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
@@ -38,7 +38,14 @@
microcode = '''
# FSIN
# FCOS
-# FSINCOS
+
+def macroop FSINCOS {
+ sinfp ufp1, st(0)
+ cosfp ufp2, st(0)
+ movfp st(0), ufp1
+ movfp st(-1), ufp2, spm=-1
+};
+
# FPTAN
# FPATAN
'''