search for: mov64ri32

Displaying 11 results from an estimated 11 matches for "mov64ri32".

2010 Jun 21
2
[LLVMdev] LLC Bug x86 with thread local storage
...@@ -1832,6 +1832,8 @@ (MOV64ri64i32 tjumptable :$dst)>, Requires<[SmallCode]>; def : Pat<(i64 (X86Wrapper tglobaladdr :$dst)), (MOV64ri64i32 tglobaladdr :$dst)>, Requires<[SmallCode]>; +def : Pat<(i64 (X86Wrapper tglobaltlsaddr :$dst)), + (MOV64ri32 tglobaltlsaddr :$dst)>, Requires<[SmallCode]>; def : Pat<(i64 (X86Wrapper texternalsym:$dst)), (MOV64ri64i32 texternalsym:$dst)>, Requires<[SmallCode]>; def : Pat<(i64 (X86Wrapper tblockaddress:$dst)), Unfortunately, I am 100% confident with this modificatio...
2010 Jun 21
0
[LLVMdev] LLC Bug x86 with thread local storage
...> (MOV64ri64i32 tjumptable :$dst)>, Requires<[SmallCode]>; > def : Pat<(i64 (X86Wrapper tglobaladdr :$dst)), > (MOV64ri64i32 tglobaladdr :$dst)>, Requires<[SmallCode]>; > +def : Pat<(i64 (X86Wrapper tglobaltlsaddr :$dst)), > + (MOV64ri32 tglobaltlsaddr :$dst)>, Requires<[SmallCode]>; > def : Pat<(i64 (X86Wrapper texternalsym:$dst)), > (MOV64ri64i32 texternalsym:$dst)>, Requires<[SmallCode]>; > def : Pat<(i64 (X86Wrapper tblockaddress:$dst)), > > Unfortunately, I am 100% confident...
2018 Feb 09
2
[X86] MoveImm flag for instructions
Hi, I had (naively?) expected that the instruction to move immediate to register or memory (such as MOV32mi, MOV32ri, MOV64mi32, MOV64ri, MOV64ri32) would be marked with the flag MCID::MovImm via the X86InstrInfo.td (and hence in the generated X86GenInstrInfo.inc). I do not see that to be the case. Can someone please tell me if my expectation is flawed? Is there a better/different way to determine to test for move immediate to register/memor...
2010 Jun 22
2
[LLVMdev] LLC Bug x86 with thread local storage
...OV64ri64i32 tjumptable :$dst)>, Requires<[SmallCode]>; >> def : Pat<(i64 (X86Wrapper tglobaladdr :$dst)), >> (MOV64ri64i32 tglobaladdr :$dst)>, Requires<[SmallCode]>; >> +def : Pat<(i64 (X86Wrapper tglobaltlsaddr :$dst)), >> + (MOV64ri32 tglobaltlsaddr :$dst)>, Requires<[SmallCode]>; >> def : Pat<(i64 (X86Wrapper texternalsym:$dst)), >> (MOV64ri64i32 texternalsym:$dst)>, Requires<[SmallCode]>; >> def : Pat<(i64 (X86Wrapper tblockaddress:$dst)), >> >> Unfortunatel...
2018 Feb 09
2
[X86] MoveImm flag for instructions
...i, Feb 9, 2018 at 11:45 AM, S. Bharadwaj Yadavalli via llvm-dev < > llvm-dev at lists.llvm.org> wrote: > >> Hi, >> >> I had (naively?) expected that the instruction to move immediate to >> register or memory (such as MOV32mi, MOV32ri, MOV64mi32, MOV64ri, >> MOV64ri32) would be marked with the flag MCID::MovImm via the >> X86InstrInfo.td (and hence in the generated X86GenInstrInfo.inc). >> >> I do not see that to be the case. >> >> Can someone please tell me if my expectation is flawed? Is there a >> better/different way to de...
2018 Feb 09
0
[X86] MoveImm flag for instructions
...trying to do? ~Craig On Fri, Feb 9, 2018 at 11:45 AM, S. Bharadwaj Yadavalli via llvm-dev < llvm-dev at lists.llvm.org> wrote: > Hi, > > I had (naively?) expected that the instruction to move immediate to > register or memory (such as MOV32mi, MOV32ri, MOV64mi32, MOV64ri, > MOV64ri32) would be marked with the flag MCID::MovImm via the > X86InstrInfo.td (and hence in the generated X86GenInstrInfo.inc). > > I do not see that to be the case. > > Can someone please tell me if my expectation is flawed? Is there a > better/different way to determine to test for move...
2018 Feb 09
0
[X86] MoveImm flag for instructions
...S. Bharadwaj Yadavalli via llvm-dev < >> llvm-dev at lists.llvm.org> wrote: >> >>> Hi, >>> >>> I had (naively?) expected that the instruction to move immediate to >>> register or memory (such as MOV32mi, MOV32ri, MOV64mi32, MOV64ri, >>> MOV64ri32) would be marked with the flag MCID::MovImm via the >>> X86InstrInfo.td (and hence in the generated X86GenInstrInfo.inc). >>> >>> I do not see that to be the case. >>> >>> Can someone please tell me if my expectation is flawed? Is there a >>> be...
2013 Oct 22
1
[LLVMdev] System call miscompilation using the fast register allocator
...t; = COPY %vreg5; GR64:%vreg5 INLINEASM <es:> [sideeffect] [attdialect], $0:[reguse], %RDX %vreg6<def> = MOV64ri64i32 1; GR64:%vreg6 %RSI<def> = COPY %vreg6; GR64:%vreg6 INLINEASM <es:> [sideeffect] [attdialect], $0:[reguse], %RSI %vreg7<def> = MOV64ri32 -1; GR64:%vreg7 %RDI<def> = COPY %vreg7; GR64:%vreg7 INLINEASM <es:> [sideeffect] [attdialect], $0:[reguse], %RDI INLINEASM <es:> [sideeffect] [attdialect], $0:[regdef], %RDI<imp-def> %vreg8<def> = COPY %RDI; GR64:%vreg8 %vreg2<def> = MOV...
2010 Jul 07
0
[LLVMdev] LLC Bug x86 with thread local storage
...:$dst)>, Requires<[SmallCode]>; >>> def : Pat<(i64 (X86Wrapper tglobaladdr :$dst)), >>> (MOV64ri64i32 tglobaladdr :$dst)>, Requires<[SmallCode]>; >>> +def : Pat<(i64 (X86Wrapper tglobaltlsaddr :$dst)), >>> + (MOV64ri32 tglobaltlsaddr :$dst)>, Requires<[SmallCode]>; >>> def : Pat<(i64 (X86Wrapper texternalsym:$dst)), >>> (MOV64ri64i32 texternalsym:$dst)>, Requires<[SmallCode]>; >>> def : Pat<(i64 (X86Wrapper tblockaddress:$dst)), >>&gt...
2008 Apr 16
0
[LLVMdev] Being able to know the jitted code-size before emitting
...s) { > + const MachineOperand &MO1 = MI.getOperand(CurOp++); > + unsigned Size = X86InstrInfo::sizeOfImm(Desc); > + if (MO1.isImmediate()) > + FinalSize += sizeConstant(Size); > + else { > + bool dword = false; > + if (Opcode == X86::MOV64ri32) > + dword = true; > + if (MO1.isGlobalAddress()) { > + FinalSize += sizeGlobalAddress(dword); > + } else if (MO1.isExternalSymbol()) > + FinalSize += sizeExternalSymbolAddress(dword); > + else if (MO1.isConstantPoolIndex()) > +...
2008 Apr 15
4
[LLVMdev] Being able to know the jitted code-size before emitting
OK, here's a new patch that adds the infrastructure and the implementation for X86, ARM and PPC of GetInstSize and GetFunctionSize. Both functions are virtual functions defined in TargetInstrInfo.h. For X86, I moved some commodity functions from X86CodeEmitter to X86InstrInfo. What do you think? Nicolas Evan Cheng wrote: > > I think both of these belong to TargetInstrInfo. And