From c51c18fd783737391e26541cbb5a72af2396ef7b Mon Sep 17 00:00:00 2001 From: Mike Klein Date: Mon, 28 Nov 2016 23:17:19 -0500 Subject: use fma() in accumulate Was just reading the disassembly and noticed the opportunity. Change-Id: I25d4b70802f9a9563491f3126da69829611a9b28 Reviewed-on: https://skia-review.googlesource.com/5235 Reviewed-by: Herb Derby Commit-Queue: Mike Klein --- src/opts/SkRasterPipeline_opts.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/opts') diff --git a/src/opts/SkRasterPipeline_opts.h b/src/opts/SkRasterPipeline_opts.h index 245531bc8e..5d7d08a404 100644 --- a/src/opts/SkRasterPipeline_opts.h +++ b/src/opts/SkRasterPipeline_opts.h @@ -685,10 +685,10 @@ STAGE(accumulate) { auto sc = (const SkImageShaderContext*)ctx; auto scale = SkNf::Load(sc->scale); - dr += scale * r; - dg += scale * g; - db += scale * b; - da += scale * a; + dr = SkNx_fma(scale, r, dr); + dg = SkNx_fma(scale, g, dg); + db = SkNx_fma(scale, b, db); + da = SkNx_fma(scale, a, da); } template -- cgit v1.2.3