In the context of the Intel® 64 and IA-32 Architectures Software Developer Manuals, what exactly is a processor "hint?"
I see it in a few sections:
- In the description of - PREFETCHWT1-Prefetch hint T1 with intent to write.
- In the SSE4 introduction "The technology also provides a hint that can improve memory throughput when reading from uncacheable WC memory type." Which led to me to this answer regarding WC memory but no clear description of what a hint is. 
- Next I read one of the SSE4 instructions can perform a load with a "streaming" hint. This led me to the SSE4 Programming reference where I discovered hints can be temporal or non-temporal. 
- The streaming load hint instruction itself - MOVNTDQA"provides a non-temporal hint"
- Further into the manual, I find Transactional Synchronization Extensions(TSX) use a "prefix hint" in - XACQUIREand- XRELEASE
- In the AVX 512 bit section when describing - VGATHERPF0DPDand others (there are 7 more of these types of instructions all with the /PS option). In these situations we have either a T0 or T1 hint using dword or qword indices.
- The most insightful time I saw hint used in the manual (this list is in order) came in section 10.4.6.1 where it reads 
"The non-temporal hint directs the processor to store the data to memory without writing the data into the cache hierarchy."
This is in the 'Cacheability Control Instructions' section involving MOVNTQ, MOVNTPS, MASKMOVQ so would a temporal hint write to a cache line? I'm inferring this as if it's the opposite of a non-temporal hint?
Other links I used in an attempt to piece together the meaning of processor hints:
The Wikipedia page on cache lines ...says hints can prepare, discard, or evict cache lines (also called buffers?). So are hints just instructions that relate to cache lines?
Thank you
 
     
    