Changes in directory llvm/lib/Target/X86:
X86InstrInfo.td updated: 1.304 -> 1.305 --- Log message: X86 TLS: optimize the implementation of "local exec" model. --- Diffs of the changes: (+10 -3) X86InstrInfo.td | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) Index: llvm/lib/Target/X86/X86InstrInfo.td diff -u llvm/lib/Target/X86/X86InstrInfo.td:1.304 llvm/lib/Target/X86/X86InstrInfo.td:1.305 --- llvm/lib/Target/X86/X86InstrInfo.td:1.304 Sun Apr 22 17:50:52 2007 +++ llvm/lib/Target/X86/X86InstrInfo.td Sun Apr 22 20:28:10 2007 @@ -2467,9 +2467,15 @@ Imp<[EBX],[]>; let AddedComplexity = 10 in -def TLS_gs : I<0, Pseudo, (ops GR32:$dst, GR32:$src), - "movl %gs:($src), $dst", - [(set GR32:$dst, (load (add X86TLStp, GR32:$src)))]>; +def TLS_gs_rr : I<0, Pseudo, (ops GR32:$dst, GR32:$src), + "movl %gs:($src), $dst", + [(set GR32:$dst, (load (add X86TLStp, GR32:$src)))]>; + +let AddedComplexity = 15 in +def TLS_gs_ri : I<0, Pseudo, (ops GR32:$dst, i32imm:$src), + "movl %gs:${src:mem}, $dst", + [(set GR32:$dst, + (load (add X86TLStp, (X86Wrapper tglobaltlsaddr:$src))))]>; def TLS_tp : I<0, Pseudo, (ops GR32:$dst), "movl %gs:0, $dst", @@ -2491,6 +2497,7 @@ // ConstantPool GlobalAddress, ExternalSymbol, and JumpTable def : Pat<(i32 (X86Wrapper tconstpool :$dst)), (MOV32ri tconstpool :$dst)>; def : Pat<(i32 (X86Wrapper tjumptable :$dst)), (MOV32ri tjumptable :$dst)>; +def : Pat<(i32 (X86Wrapper tglobaltlsaddr:$dst)), (MOV32ri tglobaltlsaddr:$dst)>; def : Pat<(i32 (X86Wrapper tglobaladdr :$dst)), (MOV32ri tglobaladdr :$dst)>; def : Pat<(i32 (X86Wrapper texternalsym:$dst)), (MOV32ri texternalsym:$dst)>; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits