diff options
author | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-09-30 12:06:36 +0200 |
---|---|---|
committer | Andreas Sandberg <andreas@sandberg.pp.se> | 2013-09-30 12:06:36 +0200 |
commit | 114b643dd0125518c5f0b40959057dcf316f5007 (patch) | |
tree | 0efd14eb04458078cc3e2256771586703fa0b854 /src/arch/x86/isa/decoder | |
parent | 47bcc5c7379c7de677996ba8bfcd826d93459c09 (diff) | |
download | gem5-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.isa | 12 |
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(); |