jumper, implement 2.2 stages with approx_powf

My main interest is getting rid of weird code, but it's also faster.
The new bench drops from 667 to 412.

Change-Id: Ibf889601284cf925780320c828394f79937dc705
Reviewed-on: https://skia-review.googlesource.com/14035
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
diff --git a/bench/SkRasterPipelineBench.cpp b/bench/SkRasterPipelineBench.cpp
index 0ae48ee..fa2df4b 100644
--- a/bench/SkRasterPipelineBench.cpp
+++ b/bench/SkRasterPipelineBench.cpp
@@ -90,3 +90,24 @@
     }
 };
 DEF_BENCH( return (new SkRasterPipelineLegacyBench); )
+
+class SkRasterPipeline_2dot2 : public Benchmark {
+public:
+    bool isSuitableFor(Backend backend) override { return backend == kNonRendering_Backend; }
+    const char* onGetName() override {
+        return "SkRasterPipeline_2dot2";
+    }
+
+    void onDraw(int loops, SkCanvas*) override {
+        SkColor4f c = { 1.0f, 1.0f, 1.0f, 1.0f };
+        SkRasterPipeline p;
+        p.append(SkRasterPipeline::constant_color, &c);
+        p.append(SkRasterPipeline::from_2dot2);
+        p.append(SkRasterPipeline::to_2dot2);
+
+        while (loops --> 0) {
+            p.run(0,N);
+        }
+    }
+};
+DEF_BENCH( return (new SkRasterPipeline_2dot2); )