* @brief Return a float value for a float16 vector. */
| 90 | * @brief Return a float value for a float16 vector. |
| 91 | */ |
| 92 | vfloat4 float16_to_float(vint4 a) |
| 93 | { |
| 94 | //#if ASTCENC_F16C >= 1 |
| 95 | __m128i packed = _mm_packs_epi32(a.m, a.m); |
| 96 | __m128 f32 = _mm_cvtph_ps(packed); |
| 97 | return vfloat4(f32); |
| 98 | //#else |
| 99 | // return vfloat4( |
| 100 | // sf16_to_float(a.lane<0>()), |
| 101 | // sf16_to_float(a.lane<1>()), |
| 102 | // sf16_to_float(a.lane<2>()), |
| 103 | // sf16_to_float(a.lane<3>())); |
| 104 | //#endif |
| 105 | } |
| 106 | |
| 107 | /** |
| 108 | * @brief Return a float value for a float16 scalar. |
no test coverage detected