title: Is there a way to test whether a target has native half-precision support in Clang?
body: <p>Clang documentation says:</p>
  
  <blockquote>
    <p>_Float16 arithmetic will be performed using native half-precision support when available on the target (e.g. on ARMv8.2a); otherwise it will be performed at a higher precision (currently always float) and then truncated down to _Float16.</p>
  </blockquote>
  
  <p>Is there a way to say I want to use <code>_Float16</code> only in the first case, and <code>float</code> otherwise, to avoid the truncation in the second case? I.e. something like</p>
  
  <pre><code>#if ???
  using float_maybe_16 = _Float16;
  #else
  using float_maybe_16 = float;
  #endif
  </code></pre>