title: What are _mm_prefetch() locality hints?
body: <p>The <a href="https://software.intel.com/sites/landingpage/IntrinsicsGuide/" rel="noreferrer">intrinsics guide</a> says only this much about <code>void _mm_prefetch (char const* p, int i)</code> :</p>
  
  <blockquote>
    <p>Fetch the line of data from memory that contains address p to a
    location in the cache heirarchy specified by the locality hint i.</p>
  </blockquote>
  
  <p>Could you list the possible values for <code>int i</code> parameter and explain their meanings?</p>
  
  <p>I've found <code>_MM_HINT_T0</code>, <code>_MM_HINT_T1</code>, <code>_MM_HINT_T2</code>, <code>_MM_HINT_NTA</code> and <code>_MM_HINT_ENTA</code>, but I don't know whether this is an exhaustive list and what they mean.</p>
  
  <p>If processor-specific, I would like to know what they do on Ryzen and latest Intel Core processors.</p>