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)),
>>>...
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