summaryrefslogtreecommitdiff
path: root/lib/Target/X86/X86Instr64bit.td
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-09-21 22:07:31 +0000
committerChris Lattner <sabre@nondot.org>2010-09-21 22:07:31 +0000
commitb86faa17a4e574580ad029a8082a27ead2fa6013 (patch)
treee49960eee23ef494c053e074ac4eab6700c1bda6 /lib/Target/X86/X86Instr64bit.td
parent67aff164c039765e3ec19e5a31659250c8427dfb (diff)
downloadllvm-b86faa17a4e574580ad029a8082a27ead2fa6013.tar.gz
llvm-b86faa17a4e574580ad029a8082a27ead2fa6013.tar.bz2
llvm-b86faa17a4e574580ad029a8082a27ead2fa6013.tar.xz
reimplement support for GS and FS relative address space matching
by having X86DAGToDAGISel::SelectAddr get passed in the parent node of the operand match (the load/store/atomic op) and having it get the address space from that, instead of having special FS/GS addr mode operations that require duplicating the entire instruction set to support. This makes FS and GS relative accesses *far* more predictable and work much better. It also simplifies the X86 backend a bit, more to come. There is still a pending issue with nodes like ISD::PREFETCH and X86ISD::FLD, which really should be MemSDNode's but aren't. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114491 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86Instr64bit.td')
-rw-r--r--lib/Target/X86/X86Instr64bit.td10
1 files changed, 0 insertions, 10 deletions
diff --git a/lib/Target/X86/X86Instr64bit.td b/lib/Target/X86/X86Instr64bit.td
index 307d4312a3..cbdd1ffbd6 100644
--- a/lib/Target/X86/X86Instr64bit.td
+++ b/lib/Target/X86/X86Instr64bit.td
@@ -1611,16 +1611,6 @@ def TLSCall_64 : I<0, Pseudo, (outs), (ins i64mem:$sym),
[(X86TLSCall addr:$sym)]>,
Requires<[In64BitMode]>;
-let AddedComplexity = 5, isCodeGenOnly = 1 in
-def MOV64GSrm : RI<0x8B, MRMSrcMem, (outs GR64:$dst), (ins i64mem:$src),
- "movq\t%gs:$src, $dst",
- [(set GR64:$dst, (gsload addr:$src))]>, SegGS;
-
-let AddedComplexity = 5, isCodeGenOnly = 1 in
-def MOV64FSrm : RI<0x8B, MRMSrcMem, (outs GR64:$dst), (ins i64mem:$src),
- "movq\t%fs:$src, $dst",
- [(set GR64:$dst, (fsload addr:$src))]>, SegFS;
-
//===----------------------------------------------------------------------===//
// Atomic Instructions
//===----------------------------------------------------------------------===//