summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/arch/x86/isa/decoder/x87.isa4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/arch/x86/isa/decoder/x87.isa b/src/arch/x86/isa/decoder/x87.isa
index e44a18f65..ace96fbf6 100644
--- a/src/arch/x86/isa/decoder/x87.isa
+++ b/src/arch/x86/isa/decoder/x87.isa
@@ -291,7 +291,9 @@ format WarnUnimpl {
//0x7: esc7();
0x7: decode MODRM_REG {
0x0: decode MODRM_MOD {
- 0x3: Inst::UD2();
+ // The ffreep instruction isn't entirely real. It should work
+ // the same as ffree but then also pop the register stack.
+ 0x3: ffreep();
default: fild();
}
0x1: decode MODRM_MOD {