__lfetch, __lfetch_excl, __lfetchfault, __lfetchfault_excl
Microsoft Specific
Generate various forms of the Line Prefetch (lfetch) instruction, which is used to tell the processor that an address is to be used frequently.
void __lfetch(
unsigned int Hint,
const void * Address
);
void __lfetch_excl(
unsigned int Hint,
const void * Address
);
void __lfetchfault(
unsigned int Hint,
const void * Address
);
void __lfetchfault_excl(
unsigned int Hint,
const void * Address
);
Parameters
- [in] Hint
A hint to the processor about the cache level to use.
- [in] Address
The address to reposition in the cache.
Requirements
Intrinsic | Architecture |
---|---|
__lfetch |
IPF |
__lfetch_excl |
IPF |
__lfetchfault |
IPF |
__lfetchfault_excl |
IPF |
Header file <intrin.h>
Remarks
The valid Hint values are constants from 0 through 3, which specify the locality hint. A Hint value of 0 indicates temporal locality (level 1), a 1 indicates no temporal locality (level 1), 2 indicates no temporal locality (level 2), and 3 represents no temporal locality (all levels). Any other value produces a compile time error. For more information, see the Intel IPF documentation.
The following table shows the instructions generated by __lfetch, __lfetch_excl, __lfetchfault, and __lfetchfault_excl with various values of the Hint parameter.
Hint | __lfetch | __lfetch_excl | __lfetchfault | __lfetchfault_excl |
---|---|---|---|---|
0 |
Lfetch |
lfetch.excl |
lfetch.fault |
lfetch.fault.excl |
1 |
lfetch.nt1 |
lfetch.excl.nt1 |
lfetch.fault.nt1 |
lfetch.fault.excl.nt1 |
2 |
lfetch.nt2 |
lfetch.excl.nt2 |
lfetch.fault.nt2 |
lfetch.fault.excl.nt2 |
3 |
lfetch.nta |
lfetch.excl.nta |
lfetch.fault.nta |
lfetch.fault.excl.nta |
This routine is only available as an intrinsic.