glsl: Add "built-in" functions to do ffma(fp64)
Definitely not actually a fused-multiply add. Reviewed-by: Elie Tournier <tournier.elie@gmail.com>
This commit is contained in:
@@ -798,6 +798,12 @@ __fmul64(uint64_t a, uint64_t b)
|
|||||||
return __roundAndPackFloat64(zSign, zExp, zFrac0, zFrac1, zFrac2);
|
return __roundAndPackFloat64(zSign, zExp, zFrac0, zFrac1, zFrac2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint64_t
|
||||||
|
__ffma64(uint64_t a, uint64_t b, uint64_t c)
|
||||||
|
{
|
||||||
|
return __fadd64(__fmul64(a, b), c);
|
||||||
|
}
|
||||||
|
|
||||||
/* Shifts the 64-bit value formed by concatenating `a0' and `a1' right by the
|
/* Shifts the 64-bit value formed by concatenating `a0' and `a1' right by the
|
||||||
* number of bits given in `count'. Any bits shifted off are lost. The value
|
* number of bits given in `count'. Any bits shifted off are lost. The value
|
||||||
* of `count' can be arbitrarily large; in particular, if `count' is greater
|
* of `count' can be arbitrarily large; in particular, if `count' is greater
|
||||||
|
Reference in New Issue
Block a user