OSDN Git Service

ptn: Emit mul+add for MAD
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 6 May 2016 00:14:39 +0000 (17:14 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Wed, 11 May 2016 18:44:35 +0000 (11:44 -0700)
commit47f01e538ad575d3f2b02e747905e7ab9dd3a9bb
treef5015584655d42317bcca2fce6b7c6078f5ccec1
parent1b72c31e1f1947123d8c236b56e230f030f60cf9
ptn: Emit mul+add for MAD

Unlike fma() in GLSL, MAD in ARB programs is 100% splittable.  Just emit
the split version and let the optimizer fuse them later.

Shader-db results on Haswell:

   total instructions in shared programs: 7560379 -> 7560300 (-0.00%)
   instructions in affected programs: 143928 -> 143849 (-0.05%)
   helped: 443
   HURT: 250

Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/program/prog_to_nir.c