diff options
author | Reid Kleckner <reid@kleckner.net> | 2011-02-12 23:24:13 +0000 |
---|---|---|
committer | Reid Kleckner <reid@kleckner.net> | 2011-02-12 23:24:13 +0000 |
commit | 26f23100ac8165c510c00f7a37f1ab13bf66f141 (patch) | |
tree | 3a83b9658eb966d6fc61b38256db978ca5c9cc10 /lib | |
parent | cc5bd4a56140f8c7381afa686f28b361fd540436 (diff) | |
download | llvm-26f23100ac8165c510c00f7a37f1ab13bf66f141.tar.gz llvm-26f23100ac8165c510c00f7a37f1ab13bf66f141.tar.bz2 llvm-26f23100ac8165c510c00f7a37f1ab13bf66f141.tar.xz |
Add encodings and mnemonics for FXSAVE64 and FXRSTOR64.
These are just FXSAVE and FXRSTOR with REX.W prefixes. These versions use
64-bit pointer values instead of 32-bit pointer values in the memory map they
dump and restore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125446 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/X86/X86InstrFPStack.td | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/X86/X86InstrFPStack.td b/lib/Target/X86/X86InstrFPStack.td index a4ab0eaded..b506f5e0b8 100644 --- a/lib/Target/X86/X86InstrFPStack.td +++ b/lib/Target/X86/X86InstrFPStack.td @@ -625,8 +625,12 @@ def FCOMPP : I<0xD9, RawFrm, (outs), (ins), "fcompp", []>, DE; def FXSAVE : I<0xAE, MRM0m, (outs opaque512mem:$dst), (ins), "fxsave\t$dst", []>, TB; +def FXSAVE64 : I<0xAE, MRM0m, (outs opaque512mem:$dst), (ins), + "fxsaveq\t$dst", []>, TB, REX_W, Requires<[In64BitMode]>; def FXRSTOR : I<0xAE, MRM1m, (outs), (ins opaque512mem:$src), "fxrstor\t$src", []>, TB; +def FXRSTOR64 : I<0xAE, MRM1m, (outs), (ins opaque512mem:$src), + "fxrstorq\t$src", []>, TB, REX_W, Requires<[In64BitMode]>; //===----------------------------------------------------------------------===// // Non-Instruction Patterns |