diff options
Diffstat (limited to 'src/arch/x86')
-rw-r--r-- | src/arch/x86/isa/decoder/x87.isa | 4 | ||||
-rw-r--r-- | src/arch/x86/isa/insts/x87/transcendental_functions/trigonometric_functions.py | 9 |
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) |