__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.
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.