diff options
author | Chris Lattner <sabre@nondot.org> | 2010-09-21 22:07:31 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-09-21 22:07:31 +0000 |
commit | b86faa17a4e574580ad029a8082a27ead2fa6013 (patch) | |
tree | e49960eee23ef494c053e074ac4eab6700c1bda6 /lib/Target/X86/X86Instr64bit.td | |
parent | 67aff164c039765e3ec19e5a31659250c8427dfb (diff) | |
download | llvm-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.td | 10 |
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 //===----------------------------------------------------------------------===// |