From: Matt Turner Date: Wed, 31 Oct 2018 04:48:01 +0000 (-0700) Subject: glsl: Add "built-in" functions to do ffma(fp64) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=92ac2169fb015b7bb0b8e5fc2c99131e3c652cbb;p=mesa.git glsl: Add "built-in" functions to do ffma(fp64) Definitely not actually a fused-multiply add. Reviewed-by: Elie Tournier --- diff --git a/src/compiler/glsl/float64.glsl b/src/compiler/glsl/float64.glsl index e09655e5055..1a434b1fd59 100644 --- a/src/compiler/glsl/float64.glsl +++ b/src/compiler/glsl/float64.glsl @@ -798,6 +798,12 @@ __fmul64(uint64_t a, uint64_t b) 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 * 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