diff options
author | Matt Turner <mattst88@gmail.com> | 2018-10-30 21:48:01 -0700 |
---|---|---|
committer | Matt Turner <mattst88@gmail.com> | 2019-01-08 21:29:34 -0800 |
commit | 8d096fc07b6c8aa5b3989e7bd996249ae6320d7c (patch) | |
tree | 2fd04afeed21510935ddd2d07d21a46ee6597a94 | |
parent | 460228caec9358d0dec9a2189e2e74b1734a4143 (diff) |
glsl: Add "built-in" functions to do ffma(fp64)
Definitely not actually a fused-multiply add.
Reviewed-by: Elie Tournier <tournier.elie@gmail.com>
-rw-r--r-- | src/compiler/glsl/float64.glsl | 6 |
1 files changed, 6 insertions, 0 deletions
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 |