summaryrefslogtreecommitdiff
path: root/src/arch/x86/isa/decoder
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas@sandberg.pp.se>2013-09-30 12:06:36 +0200
committerAndreas Sandberg <andreas@sandberg.pp.se>2013-09-30 12:06:36 +0200
commit114b643dd0125518c5f0b40959057dcf316f5007 (patch)
tree0efd14eb04458078cc3e2256771586703fa0b854 /src/arch/x86/isa/decoder
parent47bcc5c7379c7de677996ba8bfcd826d93459c09 (diff)
downloadgem5-114b643dd0125518c5f0b40959057dcf316f5007.tar.xz
x86: Add support for FXSAVE, FXSAVE64, FXRSTOR, and FXRSTOR64
Diffstat (limited to 'src/arch/x86/isa/decoder')
-rw-r--r--src/arch/x86/isa/decoder/two_byte_opcodes.isa12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa
index 294509df3..fb3add4ac 100644
--- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa
+++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa
@@ -762,8 +762,16 @@
default: Inst::UD2();
}
default: decode MODRM_REG {
- 0x0: fxsave();
- 0x1: fxrstor();
+ 0x0: decode OPSIZE {
+ 4: Inst::FXSAVE(M);
+ 8: Inst::FXSAVE64(M);
+ default: fxsave();
+ }
+ 0x1: decode OPSIZE {
+ 4: Inst::FXRSTOR(M);
+ 8: Inst::FXRSTOR64(M);
+ default: fxrstor();
+ }
0x2: Inst::LDMXCSR(Md);
0x3: Inst::STMXCSR(Md);
0x4: xsave();