Displaying 8 results from an estimated 8 matches for "prefetchnta".
2012 Sep 11
3
[LLVMdev] Need Help Understanding Operands in X86 MachineFunctionPass
Dear All,
I'm working on an X86 MachineFunctionPass that adds prefetch
instructions to a function. I have code that adds a "prefetchnta
<constant address>" instruction to x86 32-bit code. What I want to do
is to add a "prefetchnta <constant address>" instruction to x86_64 code.
The code for adding the 32-bit instruction is:
BuildMI(MBB,MI,dl,TII->get(X86::PREFETCHNTA)).addReg(0).addImm(0).addReg(0...
2012 Sep 11
0
[LLVMdev] Need Help Understanding Operands in X86 MachineFunctionPass
On 9/11/12 12:10 PM, Stephen Checkoway wrote:
> On Sep 11, 2012, at 10:57 AM, John Criswell wrote:
>
>> I'm working on an X86 MachineFunctionPass that adds prefetch instructions to a function. I have code that adds a "prefetchnta <constant address>" instruction to x86 32-bit code. What I want to do is to add a "prefetchnta <constant address>" instruction to x86_64 code.
> Given that you don't actually want to execute this instruction ever, is there a reason to even emit the instruction?
I...
2012 Sep 11
1
[LLVMdev] Need Help Understanding Operands in X86 MachineFunctionPass
On Sep 11, 2012, at 10:57 AM, John Criswell wrote:
> I'm working on an X86 MachineFunctionPass that adds prefetch instructions to a function. I have code that adds a "prefetchnta <constant address>" instruction to x86 32-bit code. What I want to do is to add a "prefetchnta <constant address>" instruction to x86_64 code.
Given that you don't actually want to execute this instruction ever, is there a reason to even emit the instruction? Why no...
2008 Nov 22
5
Infinte loop in RtlPrefetchMemoryNonTemporal under Windows
...ws a packet with the NdisPacketTcpChecksumSucceeded
flag set. The problem is that the machine locks hard.
After some tedious work with the debugger, I have found that Windows
makes a call to a routine called RtlPrefetchMemoryNonTemporal, which
looks like this:
8088e579 mov eax,dword ptr [nt!KePrefetchNTAGranularity 8088e57e
0f184100 prefetchnta [ecx]
8088e582 add ecx,eax
8088e584 sub edx,eax
8088e586 ja nt!RtlPrefetchMemoryNonTemporal+0x6 (8088e57e)
8088e588 ret
Unfortunately it appears that the value at nt!KePrefetchNTAGranularity
is 0, hence the infinite loop.
Is there anything in...
2012 Sep 11
0
[LLVMdev] Fwd: Need Help Understanding Operands in X86 MachineFunctionPass
Trying again from the correct email address, sorry if you get this twice.
On Sep 11, 2012, at 10:57 AM, John Criswell wrote:
> I'm working on an X86 MachineFunctionPass that adds prefetch instructions to a function. I have code that adds a "prefetchnta <constant address>" instruction to x86 32-bit code. What I want to do is to add a "prefetchnta <constant address>" instruction to x86_64 code.
Given that you don't actually want to execute this instruction ever, is there a reason to even emit the instruction? Why no...
2012 Sep 11
1
[LLVMdev] Need Help Understanding Operands in X86 MachineFunctionPass
...riswell
Sent: Tuesday, September 11, 2012 1:42 PM
To: Steve Checkoway
Cc: LLVMdev at cs.uiuc.edu
Subject: Re: [LLVMdev] Need Help Understanding Operands in X86 MachineFunctionPass
...
>
>> The code for adding the 32-bit instruction is:
>>
>> BuildMI(MBB,MI,dl,TII->get(X86::PREFETCHNTA)).addReg(0).addImm(0).add
>> Reg(0).addImm(<constant>).addReg(0);
> That's surprising to me. What are all of those registers and immediates for?
That is precisely my question. What do all of those register and immediate arguments do?
-- John T.
The X86 backend records a machi...
2015 Jul 30
0
[LLVMdev] [x86] Prefetch intrinsics and prefetchw
..., i32 1)
tail call void @llvm.prefetch(i8* %6, i32 1, i32 2, i32 1)
tail call void @llvm.prefetch(i8* %7, i32 1, i32 3, i32 1)
The generated x86_64 code for the first 4 calls, where the read/write parameter
is 0 (read) is exactly as expected:
(Generated with clang -O2 -S -march=btver2 test.c)
prefetchnta foo(%rip)
prefetcht2 foo(%rip)
prefetcht1 foo(%rip)
prefetcht0 foo(%rip)
The question is what should be expected when the r/w parameter is 1 (write).
Currently the backend generates:
prefetchnta foo(%rip)
prefetcht2 foo(%rip)
prefetcht1 foo(%rip)
prefetchw foo(%rip)
However, a different...
2010 Aug 09
1
[LLVMdev] Stack trace - clang
Hi,
I am new to LLVM and am trying to modify clang for some work. I tried to
insert an instruction: prefetchnta $100 at the beginning of a function.
I encountered a problem when I tried to debug it with gdb. There was an
assertion failure and printed some information without stack trace. The
process has been finished when it printed the information. I tried to
set a breakpoint at the operator[] with:
bre...