Improved performance of HalfToFloat4

This commit is contained in:
Andrew Kane
2024-04-07 13:01:58 -07:00
parent faa33c32d9
commit 33daf87fcb

View File

@@ -130,7 +130,7 @@ HalfToFloat4(half num)
/* Sign */
result = (bin & 0x8000) << 16;
if (exponent == 31)
if (unlikely(exponent == 31))
{
if (mantissa == 0)
{
@@ -141,10 +141,9 @@ HalfToFloat4(half num)
{
/* NaN */
result |= 0x7FC00000;
result |= mantissa << 13;
}
}
else if (exponent == 0)
else if (unlikely(exponent == 0))
{
/* Subnormal */
if (mantissa != 0)
@@ -164,16 +163,16 @@ HalfToFloat4(half num)
}
result |= (exponent + 127) << 23;
result |= mantissa << 13;
}
}
else
{
/* Normal */
result |= (exponent - 15 + 127) << 23;
result |= mantissa << 13;
}
result |= mantissa << 13;
swapfloat.i = result;
return swapfloat.f;
#endif