MCPcopy Create free account
hub / github.com/ARM-software/astc-encoder / float16_to_float

Function float16_to_float

Source/astcenc_vecmathlib_sse_4.h:998–1011  ·  view source on GitHub ↗

* @brief Return a float value for a float16 vector. */

Source from the content-addressed store, hash-verified

996 * @brief Return a float value for a float16 vector.
997 */
998ASTCENC_SIMD_INLINE vfloat4 float16_to_float(vint4 a)
999{
1000#if ASTCENC_F16C >= 1
1001 __m128i packed = _mm_packs_epi32(a.m, a.m);
1002 __m128 f32 = _mm_cvtph_ps(packed);
1003 return vfloat4(f32);
1004#else
1005 return vfloat4(
1006 sf16_to_float(static_cast<uint16_t>(a.lane<0>())),
1007 sf16_to_float(static_cast<uint16_t>(a.lane<1>())),
1008 sf16_to_float(static_cast<uint16_t>(a.lane<2>())),
1009 sf16_to_float(static_cast<uint16_t>(a.lane<3>())));
1010#endif
1011}
1012
1013/**
1014 * @brief Return a float value for a float16 scalar.

Callers 10

image_get_pixelFunction · 0.70
decode_texelFunction · 0.70
load_texel_f16Function · 0.70
load_image_blockFunction · 0.70
astcenc_get_block_infoFunction · 0.70
compute_error_metricsFunction · 0.70
TESTFunction · 0.50

Calls 2

sf16_to_floatFunction · 0.85
vfloat4Class · 0.70

Tested by 1

TESTFunction · 0.40