[llvm-commits] [llvm] r66932 - /llvm/trunk/lib/Target/X86/X86InstrInfo.td

Rafael Espindola rafael.espindola at gmail.com
Fri Mar 13 12:39:55 PDT 2009


Author: rafael
Date: Fri Mar 13 14:39:55 2009
New Revision: 66932

URL: http://llvm.org/viewvc/llvm-project?rev=66932&view=rev
Log:
add 8 and 16 bit TLS moves.
add a fixme note on how to remove code duplication.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrInfo.td

Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=66932&r1=66931&r2=66932&view=diff

==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Fri Mar 13 14:39:55 2009
@@ -2920,6 +2920,10 @@
 // Thread Local Storage Instructions
 //
 
+// FIXME: there is duplication with the non-TLS case.
+// There is a suggestion on how to fix this at
+// http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20090309/075212.html
+
 let Uses = [EBX] in
 def TLS_addr32 : I<0, Pseudo, (outs GR32:$dst), (ins i32imm:$sym),
                   "leal\t${sym:mem}(,%ebx,1), $dst",
@@ -2938,6 +2942,22 @@
                   SegGS;
 
 let AddedComplexity = 15 in
+def TLS16_gs_ri : I<0x8B, Pseudo, (outs GR16:$dst), (ins i32imm:$src),
+                    "movw\t%gs:${src:mem}, $dst",
+                    [(set GR16:$dst,
+                      (load (add X86TLStp,
+                        (X86Wrapper tglobaltlsaddr:$src))))]>,
+                    SegGS;
+
+let AddedComplexity = 15 in
+def TLS8_gs_ri : I<0x8B, Pseudo, (outs GR8:$dst), (ins i32imm:$src),
+                   "movb\t%gs:${src:mem}, $dst",
+                   [(set GR8:$dst,
+                     (load (add X86TLStp,
+                       (X86Wrapper tglobaltlsaddr:$src))))]>,
+                   SegGS;
+
+let AddedComplexity = 15 in
 def TLS_ext16_gs_ri : I<0x8B, Pseudo, (outs GR32:$dst), (ins i32imm:$src),
                         "movzwl\t%gs:${src:mem}, $dst",
                         [(set GR32:$dst,





More information about the llvm-commits mailing list